#include <Gdc2.h>
Public Member Functions | |
virtual bool | HasAlpha () |
Returns true if this Surface has an alpha channel. | |
virtual bool | HasAlpha (bool b) |
Creates or destroys the alpha channel for this surface. | |
bool | DrawOnAlpha () |
Returns true if we are drawing on the alpha channel. | |
bool | DrawOnAlpha (bool Draw) |
True if you want to edit the alpha channel rather than the colour bits. | |
GSurface * | AlphaDC () |
Returns the surface of the alpha channel. | |
virtual COLOUR | Colour () |
Gets the current colour. | |
virtual COLOUR | Colour (COLOUR c, int Bits=0) |
Sets the current colour. | |
virtual GColour | Colour (GColour c) |
Sets the current colour. | |
virtual int | Op () |
Gets the current blending mode in operation. | |
virtual int | Op (int Op) |
virtual int | X () |
Gets the width in pixels. | |
virtual int | Y () |
Gets the height in pixels. | |
virtual int | GetLine () |
Gets the length of a scanline in bytes. | |
virtual int | DpiX () |
Returns the horizontal resolution of the device. | |
virtual int | DpiY () |
Returns the vertical resolution of the device. | |
virtual int | GetBits () |
Gets the bits per pixel. | |
virtual int | PixelSize () |
Gets the bytes per pixels. | |
virtual class GScreenDC * | IsScreen () |
Returns true if the surface is on the screen. | |
virtual bool | IsPrint () |
Returns true if the surface is for printing. | |
virtual uchar * | operator[] (int y) |
Returns a pointer to the start of a scanline, or NULL if not available. | |
virtual void | GetOrigin (int &x, int &y) |
Gets the surface origin. | |
virtual void | SetOrigin (int x, int y) |
Sets the surface origin. | |
virtual void | Set (int x, int y) |
Sets a pixel with the current colour. | |
virtual COLOUR | Get (int x, int y) |
Gets a pixel (doesn't work on some types of image, i.e. GScreenDC). | |
virtual void | HLine (int x1, int x2, int y) |
Draw a horizontal line in the current colour. | |
virtual void | VLine (int x, int y1, int y2) |
Draw a vertical line in the current colour. | |
virtual void | Line (int x1, int y1, int x2, int y2) |
Draw a line in the current colour. | |
virtual void | Circle (double cx, double cy, double radius) |
Stroke a circle in the current colour. | |
virtual void | FilledCircle (double cx, double cy, double radius) |
Fill a circle in the current colour. | |
virtual void | Arc (double cx, double cy, double radius, double start, double end) |
Stroke an arc in the current colour. | |
virtual void | FilledArc (double cx, double cy, double radius, double start, double end) |
Fill an arc in the current colour. | |
virtual void | Ellipse (double cx, double cy, double x, double y) |
Stroke an ellipse in the current colour. | |
virtual void | FilledEllipse (double cx, double cy, double x, double y) |
Fill an ellipse in the current colour. | |
virtual void | Box (int x1, int y1, int x2, int y2) |
Stroke a rectangle in the current colour. | |
virtual void | Box (GRect *a=NULL) |
Stroke a rectangle in the current colour. | |
virtual void | Rectangle (int x1, int y1, int x2, int y2) |
Fill a rectangle in the current colour. | |
virtual void | Rectangle (GRect *a=NULL) |
Fill a rectangle in the current colour. | |
virtual void | Blt (int x, int y, GSurface *Src, GRect *a=NULL) |
Copy an image onto the surface. | |
virtual void | StretchBlt (GRect *d, GSurface *Src, GRect *s) |
Not implemented. | |
virtual void | Polygon (int Points, GdcPt2 *Data) |
Fill a polygon in the current colour. | |
virtual void | Bezier (int Threshold, GdcPt2 *Pt) |
Stroke a bezier in the current colour. | |
virtual void | FloodFill (int x, int y, int Mode, COLOUR Border=0, GRect *Bounds=NULL) |
Flood fill in the current colour (doesn't work on a GScreenDC). | |
Friends | |
class | GFilter |
class | GView |
class | GWindow |
Sets the current colour.
c | The new colour |
Bits | The bit depth of the new colour or 0 to indicate the depth is the same as the current Surface |
Reimplemented in GScreenDC.
References GApplicator::c, CBit(), and GetBits().
Sets the current colour.
c | The new colour |
Reimplemented in GScreenDC.
References GApplicator::c, GColour::c32(), CBit(), and GetBits().
int GSurface::Op | ( | int | Op | ) | [virtual] |
Sets the current blending mode in operation
Reimplemented in GScreenDC.
References Colour(), DrawOnAlpha(), GDC_SET, and GApplicator::GetOp().
void GSurface::Box | ( | GRect * | a = NULL |
) | [virtual] |
void GSurface::Rectangle | ( | GRect * | a = NULL |
) | [virtual] |
Fill a rectangle in the current colour.
a | The rectangle, or NULL to fill the entire surface |
Reimplemented in GScreenDC.
References GRect::Bound(), GRect::Normal(), GApplicator::Rectangle(), GApplicator::SetPtr(), GRect::Valid(), GRect::X(), GRect::x1, GRect::Y(), GRect::y1, and GRect::ZOff().
Copy an image onto the surface.
x | The destination x coord |
y | The destination y coord |
Src | The source surface |
a | The optional area of the source to use, if not specified the whole source is used |
Reimplemented in GScreenDC, and GMemDC.
References GApplicator::Blt(), GRect::Bound(), Clip, GetBits(), GApplicator::GetFlags(), GApplicator::GetPal(), GRect::Offset(), OriginX, OriginY, Palette(), pAlphaDC, pMem, GApplicator::SetPtr(), GRect::Valid(), GRect::X(), X(), GRect::x1, GRect::Y(), Y(), GRect::y1, and GRect::ZOff().
Referenced by GMemDC::Blt(), ConvertDC(), GImageList::Draw(), GReduceBitDepth(), GTrayIcon::Load(), GTreeItem::OnPaint(), GTextView3::OnPaint(), GDropDown::OnPaint(), GList::OnPaint(), Html2::GHtml2::OnPaint(), GHtml::OnPaint(), GFilterView::OnPaint(), GBitmap::OnPaint(), GListColumn::OnPaint_Content(), and GBitmap::SetDC().
void GSurface::FloodFill | ( | int | x, | |
int | y, | |||
int | Mode, | |||
COLOUR | Border = 0 , |
|||
GRect * | Bounds = NULL | |||
) | [virtual] |
Flood fill in the current colour (doesn't work on a GScreenDC).
x | Start x coordinate |
y | Start y coordinate |
Mode | Use GDC_FILL_TO_DIFFERENT, GDC_FILL_TO_BORDER or GDC_FILL_NEAR |
Border | Fill colour |
Bounds | The bounds of the filled area or NULL if you don't care |
Reimplemented in GScreenDC.
References Colour(), GDC_FILL_NEAR, GDC_FILL_TO_BORDER, GDC_FILL_TO_DIFFERENT, Get(), GetBits(), Set(), GRect::Union(), X(), GRect::x1, GRect::x2, Y(), GRect::y1, and GRect::y2.