// @(#)root/asimage:$Id$ // Author: Fons Rademakers, Reiner Rohlfs 28/11/2001 /************************************************************************* * Copyright (C) 1995-2001, Rene Brun, Fons Rademakers and Reiner Rohlfs * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TASImage #define ROOT_TASImage ////////////////////////////////////////////////////////////////////////// // // // TASImage // // // // Interface to image processing library libAfterImage. // // // ////////////////////////////////////////////////////////////////////////// #include "TImage.h" struct ASImage; struct ASVisual; class TBrowser; class THashTable; class TASImage : public TImage { private: enum { kNoZoom = 0, kZoom = 1, kZoomOps = -1 }; enum { kReadWritePNG, kReadWriteVector }; void DrawVLine(UInt_t x, UInt_t y1, UInt_t y2, UInt_t col, UInt_t thick); void DrawHLine(UInt_t y, UInt_t x1, UInt_t x2, UInt_t col, UInt_t thick); void DrawLineInternal(UInt_t x1, UInt_t y1, UInt_t x2, UInt_t y2, UInt_t col, UInt_t thick); void DrawWideLine(UInt_t x1, UInt_t y1, UInt_t x2, UInt_t y2, UInt_t col, UInt_t thick); void DrawDashHLine(UInt_t y, UInt_t x1, UInt_t x2, UInt_t nDash, const char *pDash, UInt_t col, UInt_t thick); void DrawDashVLine(UInt_t x, UInt_t y1, UInt_t y2, UInt_t nDash, const char *pDash, UInt_t col, UInt_t thick); void DrawDashZLine(UInt_t x1, UInt_t y1, UInt_t x2, UInt_t y2, UInt_t nDash, const char *pDash, UInt_t col); void DrawDashZTLine(UInt_t x1, UInt_t y1, UInt_t x2, UInt_t y2, UInt_t nDash, const char *pDash, UInt_t col, UInt_t thick); Bool_t GetPolygonSpans(UInt_t npt, TPoint *ppt, UInt_t *nspans, TPoint **firstPoint, UInt_t **firstWidth); void GetFillAreaSpans(UInt_t npt, TPoint *ppt, UInt_t *nspans, TPoint **firstPoint, UInt_t **firstWidth); inline Int_t Idx(Int_t idx); void FillRectangleInternal(UInt_t col, Int_t x, Int_t y, UInt_t width, UInt_t height); void DrawTextTTF(Int_t x, Int_t y, const char *text, Int_t size, UInt_t color, const char *font_name, Float_t angle); void DrawGlyph(void *bitmap, UInt_t color, Int_t x, Int_t y); void SetDefaults(); void CreateThumbnail(); void DestroyImage(); const char *TypeFromMagicNumber(const char *file); protected: ASImage *fImage; ///