TASImage.cxx File Reference

#include "TASImage.h"
#include "TASImagePlugin.h"
#include "TROOT.h"
#include "TMath.h"
#include "TSystem.h"
#include "TVirtualX.h"
#include "TVirtualPad.h"
#include "TArrayD.h"
#include "TVectorD.h"
#include "TVirtualPS.h"
#include "TGaxis.h"
#include "TColor.h"
#include "TObjArray.h"
#include "TArrayL.h"
#include "TPoint.h"
#include "TFrame.h"
#include "TTF.h"
#include "TRandom.h"
#include "Riostream.h"
#include "THashTable.h"
#include "TPluginManager.h"
#include "TEnv.h"
#include "TStyle.h"
#include "TText.h"
#include <X11/Xlib.h>
#include <afterbase.h>
#include <afterimage.h>
#include <bmp.h>
#include <draw.h>
#include "TASPolyUtils.c"

Go to the source code of this file.

Classes

struct  __argb32__

Defines

#define _alphaBlend(bot, top)
#define _MEMSET_(dst, lng, val)
#define FillSpansInternal(npt, ppt, widths, color)

Functions

 ClassImp (TASImage) ClassImp(TASImagePlugin) void TASImage
static void init_icon_paths ()
static CARD8 MakeComponentHilite (int cmp)
static ARGB32 GetHilite (ARGB32 background)
static ARGB32 GetShadow (ARGB32 background)
static ARGB32 GetAverage (ARGB32 foreground, ARGB32 background)
static int GetPolyYBounds (TPoint *pts, int n, int *by, int *ty)
static ASDrawContextcreate_draw_context_argb32 (ASImage *im, ASDrawTool *brush)
static void destroy_asdraw_context32 (ASDrawContext *ctx)

Variables

static ASFontManagergFontManager = 0
static unsigned long kAllPlanes = ~0
static char * gIconPaths [7] = {0, 0, 0, 0, 0, 0, 0}
static const UInt_t NUMPTSTOBUFFER = 512
static const UInt_t kBrushCacheSize = 20
static CARD32 gBrushCache [kBrushCacheSize *kBrushCacheSize]


Define Documentation

#define _alphaBlend ( bot,
top   ) 

Value:

{\
   __argb32__ *t = (__argb32__*)(top);\
   __argb32__ *b = (__argb32__*)(bot);\
   int aa = 255-t->a;\
   if (!aa) {\
      *bot = *top;\
   } else { \
      b->a = ((b->a*aa)>>8) + t->a;\
      b->r = (b->r*aa + t->r*t->a)>>8;\
      b->g = (b->g*aa + t->g*t->a)>>8;\
      b->b = (b->b*aa + t->b*t->a)>>8;\
   }\
}\

Definition at line 138 of file TASImage.cxx.

Referenced by TASImage::AlphaBlend(), TASImage::DrawDashHLine(), TASImage::DrawDashVLine(), TASImage::DrawDashZLine(), TASImage::DrawHLine(), TASImage::DrawLineInternal(), TASImage::DrawVLine(), TASImage::FillRectangleInternal(), TASImage::FillSpans(), TASImage::PolyPoint(), and TASImage::PutPixel().

#define _MEMSET_ ( dst,
lng,
val   ) 

Value:

do {\
 for( UInt_t j=0; j < lng; j++) *((dst)+j) = val; } while (0)

Definition at line 3616 of file TASImage.cxx.

Referenced by TASImage::FillRectangleInternal().

#define FillSpansInternal ( npt,
ppt,
widths,
color   ) 

Value:

do {\
   UInt_t yy = ppt[0].fY*fImage->width;\
   for (UInt_t i = 0; i < npt; i++) {\
      _MEMSET_(&fImage->alt.argb32[yy + ppt[i].fX], widths[i], color);\
      yy += ((i+1 < npt) && (ppt[i].fY != ppt[i+1].fY) ? fImage->width : 0);\
   }\
} while (0)

Definition at line 3621 of file TASImage.cxx.

Referenced by TASImage::DrawFillArea(), and TASImage::FillPolygon().


Function Documentation

ClassImp ( TASImage   ) 

Definition at line 153 of file TASImage.cxx.

References destroy_asimage(), fImage, and kFALSE.

static ASDrawContext* create_draw_context_argb32 ( ASImage im,
ASDrawTool brush 
) [static]

Definition at line 5538 of file TASImage.cxx.

References ASImage::alt, ASImage::ASImageAlternative::argb32, ASDrawCTX_CanvasIsARGB, asim_set_custom_brush_colored(), ASDrawContext::canvas, ASDrawContext::canvas_height, ASDrawContext::canvas_width, ASDrawContext::flags, ASImage::height, ASDrawContext::scratch_canvas, and ASImage::width.

Referenced by TASImage::DrawCircle(), TASImage::DrawCubeBezier(), TASImage::DrawEllips(), TASImage::DrawEllips2(), TASImage::DrawStraightEllips(), and TASImage::DrawWideLine().

static void destroy_asdraw_context32 ( ASDrawContext ctx  )  [static]

Definition at line 5556 of file TASImage.cxx.

References free(), and ASDrawContext::scratch_canvas.

Referenced by TASImage::DrawCircle(), TASImage::DrawCubeBezier(), TASImage::DrawEllips(), TASImage::DrawEllips2(), TASImage::DrawStraightEllips(), and TASImage::DrawWideLine().

static ARGB32 GetAverage ( ARGB32  foreground,
ARGB32  background 
) [static]

Definition at line 3112 of file TASImage.cxx.

References a, ARGB32_ALPHA8, ARGB32_BLUE8, ARGB32_GREEN8, ARGB32_RED8, b, g, and MAKE_ARGB32.

Referenced by TASImage::Bevel().

static ARGB32 GetHilite ( ARGB32  background  )  [static]

Definition at line 3089 of file TASImage.cxx.

References MakeComponentHilite().

Referenced by TASImage::Bevel(), ClassImp(), and G__G__Gui1_115_0_19().

static int GetPolyYBounds ( TPoint pts,
int  n,
int *  by,
int *  ty 
) [static]

Definition at line 5072 of file TASImage.cxx.

References TPoint::fY, ymax, and ymin.

Referenced by TASImage::GetPolygonSpans().

static ARGB32 GetShadow ( ARGB32  background  )  [static]

Definition at line 3102 of file TASImage.cxx.

Referenced by TASImage::Bevel(), ClassImp(), and G__G__Gui1_115_0_20().

static void init_icon_paths (  )  [static]

Definition at line 357 of file TASImage.cxx.

References TString::Data(), gEnv, TSystem::Getenv(), TEnv::GetValue(), gIconPaths, gSystem, TSystem::HomeDirectory(), and StrDup().

Referenced by TASImage::ReadImage().

static CARD8 MakeComponentHilite ( int  cmp  )  [static]

Definition at line 3074 of file TASImage.cxx.

Referenced by GetHilite().


Variable Documentation

CARD32 gBrushCache[kBrushCacheSize *kBrushCacheSize] [static]

Definition at line 5567 of file TASImage.cxx.

ASFontManager* gFontManager = 0 [static]

Definition at line 107 of file TASImage.cxx.

Referenced by TASImage::DrawText().

char* gIconPaths[7] = {0, 0, 0, 0, 0, 0, 0} [static]

Definition at line 112 of file TASImage.cxx.

Referenced by init_icon_paths(), and TASImage::ReadImage().

unsigned long kAllPlanes = ~0 [static]

Definition at line 108 of file TASImage.cxx.

Referenced by TASImage::FromPad(), TASImage::FromWindow(), and TASImage::SetImage().

const UInt_t kBrushCacheSize = 20 [static]

Definition at line 5566 of file TASImage.cxx.

const UInt_t NUMPTSTOBUFFER = 512 [static]

Definition at line 5329 of file TASImage.cxx.


Generated on Tue Jul 5 15:58:18 2011 for ROOT_528-00b_version by  doxygen 1.5.1