|
|
Draws a horizontal dot dash line. This function draws a horizontal dot dash line with the zero pen.
|
|
|
Draws a vertical dot line. This function draws a vertical dot dash line with the zero pen.
|
|
|
The type of arc generator callback.
|
|
|
The type of circle generator callback.
|
|
|
The type of ellipse generator callback.
|
|
|
Flodd filling generator's equation callback.
|
|
|
Flodd filling generator's scan line callback.
|
|
|
Bitmap scaler's getting line buffer callback.
|
|
|
The type of line generator callback.
|
|
|
Bitmap scaler's getting line buffer callback.
|
|
|
The type of polygon generator callback.
|
|
||||||||||||||||||||||||||||
|
A bitmap scaler using DDA algorithm. This function is a general bitmap scaler using DDA algorithm. This function scales the bitmap from bottom to top. MiniGUI implements ScaleBitmap, FillBoxWithBitmap, FillBoxWithBitmapPart, and StretchBlt functions by using this scaler.
|
|
||||||||||||||||||||||||||||
|
A bitmap scaler using DDA algorithm. This function is a general bitmap scaler using DDA algorithm. This function scales the bitmap from bottom to top. MiniGUI implements StretchBlt functions by using this scaler.
|
|
||||||||||||||||||||
|
Draws a circle. This function draws a circle with the zero pen on the DC hdc. The center of the circle is at (sx, sy), and the radius is r.
|
|
||||||||||||||||||||||||||||
|
Draws an arc. This function draws an arc with the zero pen on the DC hdc. The center of the arc is at (sx, sy), the radius is r, and the radians of start angle and end angle are ang1 and ang2 respectively.
|
|
||||||||||||||||||||||||||||||||
|
An arc generator. This is a general arc generator. When it generates a point on the arc, it will call the callback cb and pass the context context, the coordinates of the point. MiniGUI implements CircleArc function by using this generator.
|
|
||||||||||||||||||||||||
|
A circle generator. This is a general circle generator, it will generate two points on the same horizontal scan line at every turn. When it generates the points on the circle, it will call the callback cb and pass the context context, the y-coordinate of the scan line, the x-coordinate of the left point on the scan line, and the x-coordinate of the right point. Note that in some cases, the left point and the right point will be the same. MiniGUI implements Circle, FillCircle and InitCircleRegion functions by using this generator.
/* * Draw a circle which is 4 pixels wide by using CircleGenerator. */ static void draw_circle_pixel (void* context, int x1, int x2, int y) { HDC hdc = (HDC) context; FillCircle (hdc, x1, y, 2); FillCircle (hdc, x2, y, 2); } void DrawMyCircle (HDC hdc, int x, int y, int r, gal_pixel pixel) { gal_pixel old_brush; old_bursh = SetBrushColor (hdc, pixle); CircleGenerator ((void*)hdc, x, y, r, draw_circle_pixel); SetBrushColor (hdc, old_brush); } |
|
||||||||||||||||||||||||
|
Draws a horizontal or vertical dot dash line. This function draws a horizontal or vertical dot dash line with the zero pen.
|
|
||||||||||||||||||||||||
|
Draws a ellipse. This function draws an ellipse with the zero pen on the DC hdc. The center of the ellipse is at (sx, sy), the x-coordinate radius is rx, and the y-coordinate radius is ry.
|
|
||||||||||||||||||||||||||||
|
An ellipse generator. This is a general ellipse generator, it will generate two points on the same horizontal scan line at every turn. When it generates the points on the ellipse, it will call the callback cb and pass the context context, the y-coordinate of the scan line, the x-coordinate of the left point on the scan line, and the x-coordinate of the right point. Note that in some cases, the left point and the right point will be the same. MiniGUI implements Ellipse, FillEllipse, and InitEllipseRegion functions by using this generator.
|
|
||||||||||||||||||||||||
|
Fills a rectangle box. This function fills a box with the current brush in the DC hdc.
|
|
||||||||||||||||||||
|
Fills a circle. This function fills a circle with the current brush in the DC hdc.
|
|
||||||||||||||||||||||||
|
Fills an ellipse. This function fills an ellipse with the current brush in the DC hdc. Note that MiniGUI only defined the color property for the brush objects so far.
|
|
||||||||||||||||
|
Fills an polygon. This function fills a polygon with the current brush in the DC hdc.
|
|
||||||||||||||||
|
Fills an enclosed area starting at point (x,y). This function fills an enclosed area staring at point (x,y), and stops when encountering a pixel different from the start point.
|
|
||||||||||||||||||||||||||||
|
A flood filling generator. This function is a general flood filling generator. MiniGUI implements FloodFill function by using this generator.
|
|
||||||||||||||||||||||||
|
Draws a focus rectangle. This function uses XOR mode to draw the focus rectangle on the device context, i.e. calling this function then calling this function with same arguments again will erase the focus rectangle and restore the pixels before the first call.
|
|
||||||||||||||||
|
Gets the pixel value at the specified position on a DC. This function gets the pixel value at the specified position (x,y) on the DC hdc.
|
|
||||||||||||||||||||||||||||
|
Gets the pixel value at the specified position on a DC in RGB triple. This function gets the pixel value at the specified position (x,y) on the DC hdc in RGB triple.
|
|
||||||||||||||||||||||||||||||||
|
Gets the pixel value at the specified position on a DC in RGBA quarter. This function gets the pixel value at the specified position (x,y) on the DC hdc in RGBA quarter.
|
|
||||||||||||||||||||||||
|
The line clipper using Cohen-Sutherland algorithm. This function clips a line from (*_x0,*_y0) to (*_x1, *_y1) with the specified clipping rectangle pointed to by cliprc. Then return the clipped line throught the pointers (_x0, _y0, _x1, _y1). It is modified to do pixel-perfect clipping. This means that it will generate the same endpoints that would be drawn if an ordinary Bresenham line-drawer where used and only visible pixels drawn.
|
|
||||||||||||||||||||||||||||
|
A line generator based-on Breshenham algorithm. This is a Breshenham line generator. When it generates a new point on the line, it will call the callback cb and pass the context context and the step values on x-coordinate and y-coodinate since the last point. The first generated point always be the start point you passed to this function. Thus, the first step values passed to cb will be (0,0). MiniGUI implements LineTo function by using this generator.
|
|
||||||||||||||||
|
Draws a zero line to a position. This function draws a line from the current zero pen position to (x,y), and then moves the zero pen position to (x,y) by using the zero pen. The next zero line drawing operation will start from the position.
|
|
||||||||||||||||||||
|
A monotone vertical polygon generator. This is a monotone vertical polygon generator. "Monoton vertical" means "monotone with respect to a vertical line"; that is, every horizontal line drawn through the polygon at any point would cross exactly two active edges (neither horizontal lines nor zero-length edges count as active edges; both are acceptable anywhere in the polygon). Right & left edges may cross (polygons may be nonsimple). Polygons that are not convex according to this definition won't be drawn properly. You can call PolygonIsMonotoneVertical function to check one polygon is monotone vertical or not. This function will generate two points on the same horizontal scan line at every turn. When it generates the points on the polygon, it will call the callback cb and pass the context context, the y-coordinate of the scan line, the x-coordinate of the left point on the scan line, and the x-coordinate of the right point. Note that in some cases, the left point and the right point will be the same. MiniGUI implements FillPolygon and InitPolygonRegion functions by using this generator.
|
|
||||||||||||||||
|
Moves the current zero pen position. This function moves the current pen position of the DC hdc to (x,y). The next line or other pen drawing operation will start from the position.
|
|
||||||||||||||||||||||||
|
Gets the color in RGB triple from a pixel value under a DC. This function gets the color in RGB triple from the pixel value pixel under the DC hdc.
|
|
||||||||||||||||||||||||||||
|
Gets the color in RGBA quarter from a pixel value under a DC. This function gets the color in RGBA quarter from the pixel value pixel under the DC hdc.
|
|
||||||||||||||||||||
|
A general polygon generator. This is a general polygon generator. This function will generate two points on the same horizontal scan line at every turn. When it generates the points on the polygon, it will call the callback cb and pass the context context, the y-coordinate of the scan line, the x-coordinate of the left point on the scan line, and the x-coordinate of the right point. Note that in some cases, the left point and the right point will be the same. MiniGUI implements FillPolygon and InitPolygonRegion functions by using this generator.
|
|
||||||||||||
|
Checks a polygon is monotone vertical or not. This function checks if the given polygon is monotone vertical.
|
|
||||||||||||||||
|
Draws a polyline. This function draws a polyline by using MoveTo and LineTo. The current zero pen position after calling this function will be the last vertex of the polyline.
|
|
||||||||||||||||||||||||
|
Draws a rectangle. This function draws a rectangle by using MoveTo and LineTo. The current zero pen position after calling this function will be (x1,y1).
|
|
||||||||||||||||||||
|
Gets the pixel value from a color in RGB triple under a DC. This function gets the pixel value from the RGB triple (r,g,b) under the DC hdc.
|
|
||||||||||||||||||||||||
|
Gets the pixel value from a color in RGBA quarter under a DC. This function gets the pixel value from the RGB quarter (r,g,b,a) under the DC hdc.
|
|
||||||||||||||||||||
|
Sets the pixel with a new pixel value at the specified position on a DC. This function sets the pixel with a pixel value pixel at the specified position (x,y) on the DC hdc. You can the pre-defined standard system pixel values.
|
|