Functions

## Driver Draw API
[Utilities]

Collaboration diagram for Driver Draw API:

### Functions

IUP_SDK_API IdrawCanvas * | iupdrvDrawCreateCanvas (Ihandle *ih)
IUP_SDK_API void | iupdrvDrawKillCanvas (IdrawCanvas *dc)
IUP_SDK_API void | iupdrvDrawFlush (IdrawCanvas *dc)
IUP_SDK_API void | iupdrvDrawUpdateSize (IdrawCanvas *dc)
IUP_SDK_API void | iupdrvDrawGetSize (IdrawCanvas *dc, int *w, int *h)
IUP_SDK_API void | iupdrvDrawLine (IdrawCanvas *dc, int x1, int y1, int x2, int y2, long color, int style, int line_width)
IUP_SDK_API void | iupdrvDrawRectangle (IdrawCanvas *dc, int x1, int y1, int x2, int y2, long color, int style, int line_width)
IUP_SDK_API void | iupdrvDrawArc (IdrawCanvas *dc, int x1, int y1, int x2, int y2, double a1, double a2, long color, int style, int line_width)
IUP_SDK_API void | iupdrvDrawPolygon (IdrawCanvas *dc, int *points, int count, long color, int style, int line_width)
IUP_SDK_API void | iupdrvDrawText (IdrawCanvas *dc, const char *text, int len, int x, int y, int w, int h, long color, const char *font, int flags, double text_orientation)
IUP_SDK_API void | iupdrvDrawImage (IdrawCanvas *dc, const char *name, int make_inactive, const char *bgcolor, int x, int y, int w, int h)
IUP_SDK_API void | iupdrvDrawSetClipRect (IdrawCanvas *dc, int x1, int y1, int x2, int y2)
IUP_SDK_API void | iupdrvDrawResetClip (IdrawCanvas *dc)
IUP_SDK_API void | iupdrvDrawGetClipRect (IdrawCanvas *dc, int *x1, int *y1, int *x2, int *y2)
IUP_SDK_API void | iupdrvDrawSelectRect (IdrawCanvas *dc, int x1, int y1, int x2, int y2)
IUP_SDK_API void | iupdrvDrawFocusRect (IdrawCanvas *dc, int x1, int y1, int x2, int y2)

### Detailed Description

  See iup_drvdraw.h

### Function Documentation

IUP_SDK_API IdrawCanvas* iupdrvDrawCreateCanvas | ( | Ihandle * | ih | ) |

Creates a draw canvas based on an IupCanvas. This will create an image for offscreen drawing.

IUP_SDK_API void iupdrvDrawKillCanvas | ( | IdrawCanvas * | dc | ) |

Destroys the IdrawCanvas.

IUP_SDK_API void iupdrvDrawFlush | ( | IdrawCanvas * | dc | ) |

Draws the ofscreen image on the screen.

IUP_SDK_API void iupdrvDrawUpdateSize | ( | IdrawCanvas * | dc | ) |

Rebuild the offscreen image if the canvas size has changed. Automatically done in iupdrvDrawCreateCanvas.

IUP_SDK_API void iupdrvDrawGetSize | ( | IdrawCanvas * | dc,
|  | int * | w,
|  | int * | h |
| ) |  |  |

Returns the canvas size available for drawing.

IUP_SDK_API void iupdrvDrawLine | ( | IdrawCanvas * | dc,
|  | int | x1,
|  | int | y1,
|  | int | x2,
|  | int | y2,
|  | long | color,
|  | int | style,
|  | int | line_width |
| ) |  |  |

Draws a line.

IUP_SDK_API void iupdrvDrawRectangle | ( | IdrawCanvas * | dc,
|  | int | x1,
|  | int | y1,
|  | int | x2,
|  | int | y2,
|  | long | color,
|  | int | style,
|  | int | line_width |
| ) |  |  |

Draws a filled/hollow rectangle.

IUP_SDK_API void iupdrvDrawArc | ( | IdrawCanvas * | dc,
|  | int | x1,
|  | int | y1,
|  | int | x2,
|  | int | y2,
|  | double | a1,
|  | double | a2,
|  | long | color,
|  | int | style,
|  | int | line_width |
| ) |  |  |

Draws a filled/hollow arc.

IUP_SDK_API void iupdrvDrawPolygon | ( | IdrawCanvas * | dc,
|  | int * | points,
|  | int | count,
|  | long | color,
|  | int | style,
|  | int | line_width |
| ) |  |  |

Draws a filled/hollow polygon. points are arranged xyxyxy...

IUP_SDK_API void iupdrvDrawText | ( | IdrawCanvas * | dc,
|  | const char * | text,
|  | int | len,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | long | color,
|  | const char * | font,
|  | int | flags,
|  | double | text_orientation |
| ) |  |  |

Draws a text. x,y is at left,top corner of the text.

IUP_SDK_API void iupdrvDrawImage | ( | IdrawCanvas * | dc,
|  | const char * | name,
|  | int | make_inactive,
|  | const char * | bgcolor,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h |
| ) |  |  |

Draws an image. x,y is at left,top corner of the image.

IUP_SDK_API void iupdrvDrawSetClipRect | ( | IdrawCanvas * | dc,
|  | int | x1,
|  | int | y1,
|  | int | x2,
|  | int | y2 |
| ) |  |  |

Sets a rectangle clipping area.

IUP_SDK_API void iupdrvDrawResetClip | ( | IdrawCanvas * | dc | ) |

Removes clipping.

IUP_SDK_API void iupdrvDrawGetClipRect | ( | IdrawCanvas * | dc,
|  | int * | x1,
|  | int * | y1,
|  | int * | x2,
|  | int * | y2 |
| ) |  |  |

Returns the last rectangle set in iupdrvDrawSetClipRect.

IUP_SDK_API void iupdrvDrawSelectRect | ( | IdrawCanvas * | dc,
|  | int | x1,
|  | int | y1,
|  | int | x2,
|  | int | y2 |
| ) |  |  |

Draws a selection rectangle.

IUP_SDK_API void iupdrvDrawFocusRect | ( | IdrawCanvas * | dc,
|  | int | x1,
|  | int | y1,
|  | int | x2,
|  | int | y2 |
| ) |  |  |

Draws a focus rectangle.