gnomecanvas.inc 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. {$IfDef read_interface}
  2. const
  3. GNOME_CANVAS_EPSILON = 1e-10;
  4. function GNOME_CANVAS_COLOR(r,g,b : longint) : longint;
  5. function GNOME_CANVAS_COLOR_A(r,g,b,a : longint) : longint;
  6. const
  7. GNOME_CANVAS_ITEM_REALIZED = 1 shl 4;
  8. GNOME_CANVAS_ITEM_MAPPED = 1 shl 5;
  9. GNOME_CANVAS_ITEM_ALWAYS_REDRAW = 1 shl 6;
  10. GNOME_CANVAS_ITEM_VISIBLE = 1 shl 7;
  11. GNOME_CANVAS_ITEM_NEED_UPDATE = 1 shl 8;
  12. GNOME_CANVAS_ITEM_NEED_AFFINE = 1 shl 9;
  13. GNOME_CANVAS_ITEM_NEED_CLIP = 1 shl 10;
  14. GNOME_CANVAS_ITEM_NEED_VIS = 1 shl 11;
  15. GNOME_CANVAS_ITEM_AFFINE_FULL = 1 shl 12;
  16. GNOME_CANVAS_UPDATE_REQUESTED = 1 shl 0;
  17. GNOME_CANVAS_UPDATE_AFFINE = 1 shl 1;
  18. GNOME_CANVAS_UPDATE_CLIP = 1 shl 2;
  19. GNOME_CANVAS_UPDATE_VISIBILITY = 1 shl 3;
  20. Type
  21. PGnomeCanvasBuf = ^TGnomeCanvasBuf;
  22. TGnomeCanvasBuf = record
  23. buf : Pguchar;
  24. buf_rowstride : longint;
  25. rect : TArtIRect;
  26. bg_color : guint32;
  27. flag0 : word;
  28. end;
  29. const
  30. bm_GnomeCanvasBuf_is_bg = $1;
  31. bp_GnomeCanvasBuf_is_bg = 0;
  32. bm_GnomeCanvasBuf_is_buf = $2;
  33. bp_GnomeCanvasBuf_is_buf = 1;
  34. function is_bg(var a : TGnomeCanvasBuf) : dword;
  35. procedure set_is_bg(var a : TGnomeCanvasBuf; __is_bg : dword);
  36. function is_buf(var a : TGnomeCanvasBuf) : dword;
  37. procedure set_is_buf(var a : TGnomeCanvasBuf; __is_buf : dword);
  38. type
  39. PPGnomeCanvasItem = ^PGnomeCanvasItem;
  40. PGnomeCanvasItem = ^TGnomeCanvasItem;
  41. PGnomeCanvasGroup = ^TGnomeCanvasGroup;
  42. PGnomeCanvas = ^TGnomeCanvas;
  43. TGnomeCanvasItem = record
  44. theobject : TGtkObject;
  45. canvas : PGnomeCanvas;
  46. parent : PGnomeCanvasItem;
  47. x1 : double;
  48. y1 : double;
  49. x2 : double;
  50. y2 : double;
  51. xform : Pdouble;
  52. end;
  53. GNOME_CANVAS_ITEM = PGnomeCanvasItem;
  54. PGnomeCanvasItemClass = ^TGnomeCanvasItemClass;
  55. TGnomeCanvasItemClass = record
  56. parent_class : TGtkObjectClass;
  57. update : procedure (item:PGnomeCanvasItem; affine:Pdouble; clip_path:PArtSVP; flags:longint);cdecl;
  58. realize : procedure (item:PGnomeCanvasItem);cdecl;
  59. unrealize : procedure (item:PGnomeCanvasItem);cdecl;
  60. map : procedure (item:PGnomeCanvasItem);cdecl;
  61. unmap : procedure (item:PGnomeCanvasItem);cdecl;
  62. coverage : function (item:PGnomeCanvasItem):PArtUta;cdecl;
  63. draw : procedure (item:PGnomeCanvasItem; drawable:PGdkDrawable; x:longint; y:longint; width:longint;
  64. height:longint);cdecl;
  65. render : procedure (item:PGnomeCanvasItem; buf:PGnomeCanvasBuf);cdecl;
  66. point : function (item:PGnomeCanvasItem; x:double; y:double; cx:longint; cy:longint;
  67. actual_item:PPGnomeCanvasItem):double;cdecl;
  68. translate : procedure (item:PGnomeCanvasItem; dx:double; dy:double);cdecl;
  69. bounds : procedure (item:PGnomeCanvasItem; x1:Pdouble; y1:Pdouble; x2:Pdouble; y2:Pdouble);cdecl;
  70. event : function (item:PGnomeCanvasItem; event:PGdkEvent):gint;cdecl;
  71. end;
  72. GNOME_CANVAS_ITEM_CLASS = PGnomeCanvasItemClass;
  73. TGnomeCanvasGroup = record
  74. item : TGnomeCanvasItem;
  75. item_list : PGList;
  76. item_list_end : PGList;
  77. xpos : double;
  78. ypos : double;
  79. end;
  80. GNOME_CANVAS_GROUP = PGnomeCanvasGroup;
  81. PGnomeCanvasGroupClass = ^TGnomeCanvasGroupClass;
  82. TGnomeCanvasGroupClass = record
  83. parent_class : TGnomeCanvasItemClass;
  84. end;
  85. GNOME_CANVAS_GROUP_CLASS = PGnomeCanvasGroupClass;
  86. TGnomeCanvas = record
  87. layout : TGtkLayout;
  88. idle_id : guint;
  89. root : PGnomeCanvasItem;
  90. root_destroy_id : guint;
  91. scroll_x1 : double;
  92. scroll_y1 : double;
  93. scroll_x2 : double;
  94. scroll_y2 : double;
  95. pixels_per_unit : double;
  96. redraw_x1 : longint;
  97. redraw_y1 : longint;
  98. redraw_x2 : longint;
  99. redraw_y2 : longint;
  100. redraw_area : PArtUta;
  101. draw_xofs : longint;
  102. draw_yofs : longint;
  103. zoom_xofs : longint;
  104. zoom_yofs : longint;
  105. state : longint;
  106. current_item : PGnomeCanvasItem;
  107. new_current_item : PGnomeCanvasItem;
  108. grabbed_item : PGnomeCanvasItem;
  109. grabbed_event_mask : guint;
  110. focused_item : PGnomeCanvasItem;
  111. pick_event : TGdkEvent;
  112. close_enough : longint;
  113. cc : PGdkColorContext;
  114. pixmap_gc : PGdkGC;
  115. flag0 : word;
  116. end;
  117. GNOME_CANVAS = PGnomeCanvas;
  118. PGnomeCanvasClass = ^TGnomeCanvasClass;
  119. TGnomeCanvasClass = record
  120. parent_class : TGtkLayoutClass;
  121. end;
  122. GNOME_CANVAS_CLASS = PGnomeCanvasClass;
  123. function GNOME_TYPE_CANVAS_ITEM : TGTKType;
  124. function GNOME_IS_CANVAS_ITEM(obj : Pointer) : Boolean;
  125. function GNOME_IS_CANVAS_ITEM_CLASS(klass : Pointer) : Boolean;
  126. function gnome_canvas_item_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_item_get_type';
  127. function gnome_canvas_item_new(parent:PGnomeCanvasGroup; thetype:TGtkType; first_arg_name:Pgchar; args:array of const):PGnomeCanvasItem;cdecl;external libgnomeuidll name 'gnome_canvas_item_new';
  128. function gnome_canvas_item_newv(parent:PGnomeCanvasGroup; thetype:TGtkType; nargs:guint; args:PGtkArg):PGnomeCanvasItem;cdecl;external libgnomeuidll name 'gnome_canvas_item_newv';
  129. procedure gnome_canvas_item_construct(item:PGnomeCanvasItem; parent:PGnomeCanvasGroup; first_arg_name:Pgchar; args:va_list);cdecl;external libgnomeuidll name 'gnome_canvas_item_construct';
  130. procedure gnome_canvas_item_constructv(item:PGnomeCanvasItem; parent:PGnomeCanvasGroup; nargs:guint; args:PGtkArg);cdecl;external libgnomeuidll name 'gnome_canvas_item_constructv';
  131. procedure gnome_canvas_item_set(item:PGnomeCanvasItem; first_arg_name:Pgchar; args:array of const);cdecl;external libgnomeuidll name 'gnome_canvas_item_set';
  132. procedure gnome_canvas_item_setv(item:PGnomeCanvasItem; nargs:guint; args:PGtkArg);cdecl;external libgnomeuidll name 'gnome_canvas_item_setv';
  133. procedure gnome_canvas_item_set_valist(item:PGnomeCanvasItem; first_arg_name:Pgchar; args:va_list);cdecl;external libgnomeuidll name 'gnome_canvas_item_set_valist';
  134. procedure gnome_canvas_item_move(item:PGnomeCanvasItem; dx:double; dy:double);cdecl;external libgnomeuidll name 'gnome_canvas_item_move';
  135. procedure gnome_canvas_item_affine_relative(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_affine_relative';
  136. procedure gnome_canvas_item_affine_absolute(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_affine_absolute';
  137. procedure gnome_canvas_item_scale(item:PGnomeCanvasItem; x:double; y:double; scale_x:double; scale_y:double);cdecl;external libgnomeuidll name 'gnome_canvas_item_scale';
  138. procedure gnome_canvas_item_rotate(item:PGnomeCanvasItem; x:double; y:double; angle:double);cdecl;external libgnomeuidll name 'gnome_canvas_item_rotate';
  139. procedure gnome_canvas_item_raise(item:PGnomeCanvasItem; positions:longint);cdecl;external libgnomeuidll name 'gnome_canvas_item_raise';
  140. procedure gnome_canvas_item_lower(item:PGnomeCanvasItem; positions:longint);cdecl;external libgnomeuidll name 'gnome_canvas_item_lower';
  141. procedure gnome_canvas_item_raise_to_top(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_raise_to_top';
  142. procedure gnome_canvas_item_lower_to_bottom(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_lower_to_bottom';
  143. procedure gnome_canvas_item_show(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_show';
  144. procedure gnome_canvas_item_hide(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_hide';
  145. function gnome_canvas_item_grab(item:PGnomeCanvasItem; event_mask:dword; cursor:PGdkCursor; etime:guint32):longint;cdecl;external libgnomeuidll name 'gnome_canvas_item_grab';
  146. procedure gnome_canvas_item_ungrab(item:PGnomeCanvasItem; etime:guint32);cdecl;external libgnomeuidll name 'gnome_canvas_item_ungrab';
  147. procedure gnome_canvas_item_w2i(item:PGnomeCanvasItem; x:Pdouble; y:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_item_w2i';
  148. procedure gnome_canvas_item_i2w(item:PGnomeCanvasItem; x:Pdouble; y:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_item_i2w';
  149. procedure gnome_canvas_item_i2w_affine(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_i2w_affine';
  150. procedure gnome_canvas_item_i2c_affine(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_i2c_affine';
  151. procedure gnome_canvas_item_reparent(item:PGnomeCanvasItem; new_group:PGnomeCanvasGroup);cdecl;external libgnomeuidll name 'gnome_canvas_item_reparent';
  152. procedure gnome_canvas_item_grab_focus(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_grab_focus';
  153. procedure gnome_canvas_item_get_bounds(item:PGnomeCanvasItem; x1:Pdouble; y1:Pdouble; x2:Pdouble; y2:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_item_get_bounds';
  154. procedure gnome_canvas_item_request_update(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_request_update';
  155. function GNOME_TYPE_CANVAS_GROUP : TGTKType;
  156. function GNOME_IS_CANVAS_GROUP(obj : Pointer) : Boolean;
  157. function GNOME_IS_CANVAS_GROUP_CLASS(klass : Pointer) : Boolean;
  158. function gnome_canvas_group_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_group_get_type';
  159. procedure gnome_canvas_group_child_bounds(group:PGnomeCanvasGroup; item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_group_child_bounds';
  160. const
  161. bm__GnomeCanvas_need_update = $1;
  162. bp__GnomeCanvas_need_update = 0;
  163. bm__GnomeCanvas_need_redraw = $2;
  164. bp__GnomeCanvas_need_redraw = 1;
  165. bm__GnomeCanvas_need_repick = $4;
  166. bp__GnomeCanvas_need_repick = 2;
  167. bm__GnomeCanvas_left_grabbed_item = $8;
  168. bp__GnomeCanvas_left_grabbed_item = 3;
  169. bm__GnomeCanvas_in_repick = $10;
  170. bp__GnomeCanvas_in_repick = 4;
  171. bm__GnomeCanvas_aa = $20;
  172. bp__GnomeCanvas_aa = 5;
  173. bm__GnomeCanvas_dither = $C0;
  174. bp__GnomeCanvas_dither = 6;
  175. function need_update(var a : TGnomeCanvas) : dword;
  176. procedure set_need_update(var a : TGnomeCanvas; __need_update : dword);
  177. function need_redraw(var a : TGnomeCanvas) : dword;
  178. procedure set_need_redraw(var a : TGnomeCanvas; __need_redraw : dword);
  179. function need_repick(var a : TGnomeCanvas) : dword;
  180. procedure set_need_repick(var a : TGnomeCanvas; __need_repick : dword);
  181. function left_grabbed_item(var a : TGnomeCanvas) : dword;
  182. procedure set_left_grabbed_item(var a : TGnomeCanvas; __left_grabbed_item : dword);
  183. function in_repick(var a : TGnomeCanvas) : dword;
  184. procedure set_in_repick(var a : TGnomeCanvas; __in_repick : dword);
  185. function aa(var a : TGnomeCanvas) : dword;
  186. procedure set_aa(var a : TGnomeCanvas; __aa : dword);
  187. function dither(var a : TGnomeCanvas) : dword;
  188. procedure set_dither(var a : TGnomeCanvas; __dither : dword);
  189. function GNOME_TYPE_CANVAS : TGTKType;
  190. function GNOME_IS_CANVAS(obj : Pointer) : Boolean;
  191. function GNOME_IS_CANVAS_CLASS(klass : Pointer) : Boolean;
  192. function gnome_canvas_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_get_type';
  193. function gnome_canvas_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_canvas_new';
  194. {$ifndef GNOME_EXCLUDE_EXPERIMENTAL}
  195. function gnome_canvas_new_aa:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_canvas_new_aa';
  196. {$endif}
  197. function gnome_canvas_root(canvas:PGnomeCanvas):PGnomeCanvasGroup;cdecl;external libgnomeuidll name 'gnome_canvas_root';
  198. procedure gnome_canvas_set_scroll_region(canvas:PGnomeCanvas; x1:double; y1:double; x2:double; y2:double);cdecl;external libgnomeuidll name 'gnome_canvas_set_scroll_region';
  199. procedure gnome_canvas_get_scroll_region(canvas:PGnomeCanvas; x1:Pdouble; y1:Pdouble; x2:Pdouble; y2:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_get_scroll_region';
  200. procedure gnome_canvas_set_pixels_per_unit(canvas:PGnomeCanvas; n:double);cdecl;external libgnomeuidll name 'gnome_canvas_set_pixels_per_unit';
  201. procedure gnome_canvas_scroll_to(canvas:PGnomeCanvas; cx:longint; cy:longint);cdecl;external libgnomeuidll name 'gnome_canvas_scroll_to';
  202. procedure gnome_canvas_get_scroll_offsets(canvas:PGnomeCanvas; cx:Plongint; cy:Plongint);cdecl;external libgnomeuidll name 'gnome_canvas_get_scroll_offsets';
  203. procedure gnome_canvas_update_now(canvas:PGnomeCanvas);cdecl;external libgnomeuidll name 'gnome_canvas_update_now';
  204. function gnome_canvas_get_item_at(canvas:PGnomeCanvas; x:double; y:double):PGnomeCanvasItem;cdecl;external libgnomeuidll name 'gnome_canvas_get_item_at';
  205. procedure gnome_canvas_request_redraw_uta(canvas:PGnomeCanvas; uta:PArtUta);cdecl;external libgnomeuidll name 'gnome_canvas_request_redraw_uta';
  206. procedure gnome_canvas_request_redraw(canvas:PGnomeCanvas; x1:longint; y1:longint; x2:longint; y2:longint);cdecl;external libgnomeuidll name 'gnome_canvas_request_redraw';
  207. procedure gnome_canvas_w2c_affine(canvas:PGnomeCanvas; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_w2c_affine';
  208. procedure gnome_canvas_w2c(canvas:PGnomeCanvas; wx:double; wy:double; cx:Plongint; cy:Plongint);cdecl;external libgnomeuidll name 'gnome_canvas_w2c';
  209. procedure gnome_canvas_w2c_d(canvas:PGnomeCanvas; wx:double; wy:double; cx:Pdouble; cy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_w2c_d';
  210. procedure gnome_canvas_c2w(canvas:PGnomeCanvas; cx:longint; cy:longint; wx:Pdouble; wy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_c2w';
  211. procedure gnome_canvas_window_to_world(canvas:PGnomeCanvas; winx:double; winy:double; worldx:Pdouble; worldy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_window_to_world';
  212. procedure gnome_canvas_world_to_window(canvas:PGnomeCanvas; worldx:double; worldy:double; winx:Pdouble; winy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_world_to_window';
  213. function gnome_canvas_get_color(canvas:PGnomeCanvas; spec:Pchar; color:PGdkColor):longint;cdecl;external libgnomeuidll name 'gnome_canvas_get_color';
  214. function gnome_canvas_get_color_pixel(canvas:PGnomeCanvas; rgba:guint):gulong;cdecl;external libgnomeuidll name 'gnome_canvas_get_color_pixel';
  215. procedure gnome_canvas_set_stipple_origin(canvas:PGnomeCanvas; gc:PGdkGC);cdecl;external libgnomeuidll name 'gnome_canvas_set_stipple_origin';
  216. procedure gnome_canvas_set_dither(canvas:PGnomeCanvas; dither:TGdkRgbDither);cdecl;external libgnomeuidll name 'gnome_canvas_set_dither';
  217. function gnome_canvas_get_dither(canvas:PGnomeCanvas):TGdkRgbDither;cdecl;external libgnomeuidll name 'gnome_canvas_get_dither';
  218. {$EndIf read_interface}
  219. {$Ifdef read_implementation}
  220. Function GNOME_CANVAS_COLOR(r, g, b : longint) : Longint;
  221. begin
  222. result := (((r and $ff) shl 24) or ((g and $ff) shl 16) or ((b and $ff) shl 8) or $ff);
  223. end;
  224. Function GNOME_CANVAS_COLOR_A(r, g, b, a : longint) : longint;
  225. begin
  226. result := (((r and $ff) shl 24) or ((g and $ff) shl 16) or ((b and $ff) shl 8) or (a and $ff))
  227. end;
  228. function is_bg(var a : TGnomeCanvasBuf) : dword;
  229. begin
  230. is_bg:=(a.flag0 and bm_GnomeCanvasBuf_is_bg) shr bp_GnomeCanvasBuf_is_bg;
  231. end;
  232. procedure set_is_bg(var a : TGnomeCanvasBuf; __is_bg : dword);
  233. begin
  234. a.flag0:=a.flag0 or ((__is_bg shl bp_GnomeCanvasBuf_is_bg) and bm_GnomeCanvasBuf_is_bg);
  235. end;
  236. function is_buf(var a : TGnomeCanvasBuf) : dword;
  237. begin
  238. is_buf:=(a.flag0 and bm_GnomeCanvasBuf_is_buf) shr bp_GnomeCanvasBuf_is_buf;
  239. end;
  240. procedure set_is_buf(var a : TGnomeCanvasBuf; __is_buf : dword);
  241. begin
  242. a.flag0:=a.flag0 or ((__is_buf shl bp_GnomeCanvasBuf_is_buf) and bm_GnomeCanvasBuf_is_buf);
  243. end;
  244. function GNOME_TYPE_CANVAS_ITEM : TGTKType;
  245. begin
  246. GNOME_TYPE_CANVAS_ITEM:=gnome_canvas_item_get_type;
  247. end;
  248. function GNOME_IS_CANVAS_ITEM(obj : Pointer) : Boolean;
  249. begin
  250. GNOME_IS_CANVAS_ITEM:=(obj<>nil) and GNOME_IS_CANVAS_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
  251. end;
  252. function GNOME_IS_CANVAS_ITEM_CLASS(klass : Pointer) : Boolean;
  253. begin
  254. GNOME_IS_CANVAS_ITEM_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_ITEM);
  255. end;
  256. function GNOME_TYPE_CANVAS_GROUP : TGTKType;
  257. begin
  258. GNOME_TYPE_CANVAS_GROUP:=gnome_canvas_group_get_type;
  259. end;
  260. function GNOME_IS_CANVAS_GROUP(obj : Pointer) : Boolean;
  261. begin
  262. GNOME_IS_CANVAS_GROUP:=(obj<>nil) and GNOME_IS_CANVAS_GROUP_CLASS(PGtkTypeObject(obj)^.klass);
  263. end;
  264. function GNOME_IS_CANVAS_GROUP_CLASS(klass : Pointer) : Boolean;
  265. begin
  266. GNOME_IS_CANVAS_GROUP_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_GROUP);
  267. end;
  268. function need_update(var a : TGnomeCanvas) : dword;
  269. begin
  270. need_update:=(a.flag0 and bm__GnomeCanvas_need_update) shr bp__GnomeCanvas_need_update;
  271. end;
  272. procedure set_need_update(var a : TGnomeCanvas; __need_update : dword);
  273. begin
  274. a.flag0:=a.flag0 or ((__need_update shl bp__GnomeCanvas_need_update) and bm__GnomeCanvas_need_update);
  275. end;
  276. function need_redraw(var a : TGnomeCanvas) : dword;
  277. begin
  278. need_redraw:=(a.flag0 and bm__GnomeCanvas_need_redraw) shr bp__GnomeCanvas_need_redraw;
  279. end;
  280. procedure set_need_redraw(var a : TGnomeCanvas; __need_redraw : dword);
  281. begin
  282. a.flag0:=a.flag0 or ((__need_redraw shl bp__GnomeCanvas_need_redraw) and bm__GnomeCanvas_need_redraw);
  283. end;
  284. function need_repick(var a : TGnomeCanvas) : dword;
  285. begin
  286. need_repick:=(a.flag0 and bm__GnomeCanvas_need_repick) shr bp__GnomeCanvas_need_repick;
  287. end;
  288. procedure set_need_repick(var a : TGnomeCanvas; __need_repick : dword);
  289. begin
  290. a.flag0:=a.flag0 or ((__need_repick shl bp__GnomeCanvas_need_repick) and bm__GnomeCanvas_need_repick);
  291. end;
  292. function left_grabbed_item(var a : TGnomeCanvas) : dword;
  293. begin
  294. left_grabbed_item:=(a.flag0 and bm__GnomeCanvas_left_grabbed_item) shr bp__GnomeCanvas_left_grabbed_item;
  295. end;
  296. procedure set_left_grabbed_item(var a : TGnomeCanvas; __left_grabbed_item : dword);
  297. begin
  298. a.flag0:=a.flag0 or ((__left_grabbed_item shl bp__GnomeCanvas_left_grabbed_item) and bm__GnomeCanvas_left_grabbed_item);
  299. end;
  300. function in_repick(var a : TGnomeCanvas) : dword;
  301. begin
  302. in_repick:=(a.flag0 and bm__GnomeCanvas_in_repick) shr bp__GnomeCanvas_in_repick;
  303. end;
  304. procedure set_in_repick(var a : TGnomeCanvas; __in_repick : dword);
  305. begin
  306. a.flag0:=a.flag0 or ((__in_repick shl bp__GnomeCanvas_in_repick) and bm__GnomeCanvas_in_repick);
  307. end;
  308. function aa(var a : TGnomeCanvas) : dword;
  309. begin
  310. aa:=(a.flag0 and bm__GnomeCanvas_aa) shr bp__GnomeCanvas_aa;
  311. end;
  312. procedure set_aa(var a : TGnomeCanvas; __aa : dword);
  313. begin
  314. a.flag0:=a.flag0 or ((__aa shl bp__GnomeCanvas_aa) and bm__GnomeCanvas_aa);
  315. end;
  316. function dither(var a : TGnomeCanvas) : dword;
  317. begin
  318. dither:=(a.flag0 and bm__GnomeCanvas_dither) shr bp__GnomeCanvas_dither;
  319. end;
  320. procedure set_dither(var a : TGnomeCanvas; __dither : dword);
  321. begin
  322. a.flag0:=a.flag0 or ((__dither shl bp__GnomeCanvas_dither) and bm__GnomeCanvas_dither);
  323. end;
  324. function GNOME_TYPE_CANVAS : TGTKType;
  325. begin
  326. GNOME_TYPE_CANVAS:=gnome_canvas_get_type;
  327. end;
  328. function GNOME_IS_CANVAS(obj : Pointer) : Boolean;
  329. begin
  330. GNOME_IS_CANVAS:=(obj<>nil) and GNOME_IS_CANVAS_CLASS(PGtkTypeObject(obj)^.klass);
  331. end;
  332. function GNOME_IS_CANVAS_CLASS(klass : Pointer) : Boolean;
  333. begin
  334. GNOME_IS_CANVAS_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS);
  335. end;
  336. {$Endif read_implementation}