Home |
All Classes |
Grouped Classes |
Index |
Search
CL_Surface::draw
Stateful draw surface on graphic context. Stateless draw surface on graphic context.
void draw(
float x = 0, float y = 0, CL_GraphicContext* context = 0);
void draw(
const CL_Rect& dest, CL_GraphicContext* context = 0);
void draw(
const CL_Rect& src, const CL_Rect& dest, CL_GraphicContext* context = 0);
void draw(
const CL_Surface_DrawParams1& params1, CL_GraphicContext* context = 0);
void draw(
const CL_Surface_DrawParams2& params2, CL_GraphicContext* context = 0);
Parameters:
- x, y
- Anchor position of where to render surface. Actual rendering position depends on the anchor and the alignment mode.
- context
- Graphic context on which to render upon. If null, will use CL_Display's current graphic context.
- dest
- Rectangle to draw surface in.
- src
- Rectangle specifying the sub section of a surface to render.
- srcX, srcY, srcWidth, srcHeight
- Source rectangle for the surface.
- srcX[4], srcY[4]
- Four vertex points used as the source rectangle for the render.
- destX, destY
- Destination origin point for render.
- destZ
- Depth value for zbuffer when rendering.
- red[4], green[4], blue[4], alpha[4]
- Color for each corner of rectangle.
- red, green, blue, alpha
- Color for entire rectangle.
- blend_src
- Source blend function.
- blend_dest
- Destination blend function.
- scale_x, scale_y
- Scale values for render.
- translate_origin
- Alignment origin.
- translate_x, translate_y
- Translate relative to alignment origin.
- rotate_angle
- Angle in degrees to rotate the surface in the X-Y direction.
- rotate_pitch
- Angle in degrees to rotate the surface in the Y-Z direction.
- rotate_yaw
- Angle in degrees to rotate the surface in the X-Z direction.
- rotate_origin
- Rotation origin.
- rotate_x, rotate_y
- Rotation hotspot relative to rotation origin.
- sub_pixel_accuracy
- If true, floating point data isn't truncated and the texture matrix isn't offset (applicable to GL only)
- context
- Graphic context on which to render upon. If null, will use CL_Display's current graphic context.
Detailed description:
These drawing functions will draw the surface on the graphic context, using the attributes on CL_Surface.
Attributes such as scaling, translate hotspot, rotate hotspot, blend functions, color will be used when
drawing the surface.
Stateless drawing functions will not use any of the state attributes on CL_Surface. The state attributes
on CL_Surface are parameters such as scaling, hotspots, blending functions and color. Instead the drawing
functions take all the parameters it need to perform the render.
Subpixel versions don't perform texture texel shifting or truncate input to integers.
See also:
CL_Display | CL_GraphicContext | CL_Rect | CL_Surface | CL_Surface_DrawParams1 | CL_Surface_DrawParams2
Questions or comments, write to the ClanLib mailing list.