35 |
35 |
36 #include "container.h" |
36 #include "container.h" |
37 |
37 |
38 static void ui_drawingarea_expose(Widget widget, XtPointer u, XtPointer c) { |
38 static void ui_drawingarea_expose(Widget widget, XtPointer u, XtPointer c) { |
39 UiDrawEvent *drawevent = u; |
39 UiDrawEvent *drawevent = u; |
40 XmDrawingAreaCallbackStruct *cbs = (XmDrawingAreaCallbackStruct *)c; |
40 //XmDrawingAreaCallbackStruct *cbs = (XmDrawingAreaCallbackStruct *)c; |
41 XEvent *event = cbs->event; |
41 //XEvent *event = cbs->event; |
42 Display *dpy = XtDisplay(widget); |
42 Display *dpy = XtDisplay(widget); |
43 |
43 |
44 UiEvent ev; |
44 UiEvent ev; |
45 ev.obj = drawevent->obj; |
45 ev.obj = drawevent->obj; |
46 ev.window = drawevent->obj->window; |
46 ev.window = drawevent->obj->window; |
135 XtAddCallback(widget, XmNinputCallback, ui_drawingarea_input, event); |
137 XtAddCallback(widget, XmNinputCallback, ui_drawingarea_input, event); |
136 } |
138 } |
137 } |
139 } |
138 |
140 |
139 void ui_drawingarea_getsize(UIWIDGET drawingarea, int *width, int *height) { |
141 void ui_drawingarea_getsize(UIWIDGET drawingarea, int *width, int *height) { |
140 // TODO |
142 XtVaGetValues( |
|
143 drawingarea, |
|
144 XmNwidth, |
|
145 width, |
|
146 XmNheight, |
|
147 height, |
|
148 NULL); |
141 } |
149 } |
142 |
150 |
143 void ui_drawingarea_redraw(UIWIDGET drawingarea) { |
151 void ui_drawingarea_redraw(UIWIDGET drawingarea) { |
144 XClearArea(XtDisplay(drawingarea), drawingarea->core.window, 0, 0, drawingarea->core.width, drawingarea->core.height, True); |
152 //XClearArea(XtDisplay(drawingarea), drawingarea->core.window, 0, 0, drawingarea->core.width, drawingarea->core.height, True); |
145 |
153 UiDrawEvent *event; |
|
154 XtVaGetValues(drawingarea, XmNuserData, &event, NULL); |
|
155 ui_drawingarea_expose(drawingarea, event, NULL); |
146 } |
156 } |
147 |
157 |
148 |
158 |
149 /* -------------------- text layout functions -------------------- */ |
159 /* -------------------- text layout functions -------------------- */ |
150 UiTextLayout* ui_text(UiGraphics *g) { |
160 UiTextLayout* ui_text(UiGraphics *g) { |