ui/wpf/graphics.c

changeset 0
804d8803eade
equal deleted inserted replaced
-1:000000000000 0:804d8803eade
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #include "graphics.h"
5 #include "container.h"
6 #include "../../ucx/mempool.h"
7 #include "../common/context.h"
8 #include "../common/object.h"
9
10 UIWIDGET ui_drawingarea(UiObject *obj, ui_drawfunc f, void *userdata) {
11 UiDrawEvent *eventdata = NULL;
12 ui_draw_callback cb = NULL;
13 if(f) {
14 eventdata = malloc(sizeof(UiDrawEvent));
15 eventdata->obj = obj;
16 eventdata->draw = f;
17 eventdata->userdata = userdata;
18 cb = ui_draw_event;
19 }
20
21 UiContainer *container = uic_get_current_container(obj);
22 return UIdrawingarea(container, cb, eventdata);
23 }
24
25 void ui_draw_event(void *gc, UiDrawEvent *event, int width, int height) {
26 UiEvent e;
27 e.obj = event->obj;
28 e.window = e.obj->window;
29 e.document = e.obj->ctx->document;
30 e.eventdata = NULL;
31 e.intval = 0;
32
33 UiWPFGraphics g;
34 g.g.width = width;
35 g.g.height = height;
36 g.gc = gc;
37
38 event->draw(&e, &g.g, event->userdata);
39 }
40
41
42 void ui_drawingarea_mousehandler(UiObject *obj, UIWIDGET widget, ui_callback f, void *u) {
43
44 }
45
46 void ui_drawingarea_getsize(UIWIDGET drawingarea, int *width, int *height) {
47
48 }
49
50 void ui_drawingarea_redraw(UIWIDGET drawingarea) {
51 UIdrawingarea_redraw(drawingarea);
52 }
53
54
55 /* ------------------------- drawing functions ------------------------- */
56
57 void ui_graphics_color(UiGraphics *g, int red, int green, int blue) {
58 UiWPFGraphics *wg = (UiWPFGraphics*)g;
59 UIgraphics_color(wg->gc, red, green, blue);
60 }
61
62 void ui_draw_line(UiGraphics *g, int x1, int y1, int x2, int y2) {
63 UiWPFGraphics *wg = (UiWPFGraphics*)g;
64 UIdraw_line(wg->gc, x1, y1, x2, y2);
65 }
66
67 void ui_draw_rect(UiGraphics *g, int x, int y, int w, int h, int fill) {
68 UiWPFGraphics *wg = (UiWPFGraphics*)g;
69 UIdraw_rect(wg->gc, x, y, w, h, fill);
70 }
71
72 void ui_draw_text(UiGraphics *g, int x, int y, UiTextLayout *text) {
73
74 }

mercurial