type.htm 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
  2. <html><head>
  3. <title>type</title>
  4. </head><body>
  5. <p>[<a href="mxdoc.htm">mainpage</a>]
  6. [<a href="tags.htm">tags</a>]<br>
  7. <h1>tag: type</h1><ul><li>
  8. <a name="MX_ATOM"><code>MX_ATOM</code></a>
  9. <p>
  10. <p><b>Base class for reference counting and delete locking</b><p>
  11. MX_ATOM is an object intended to be used as a base class to
  12. implement reference counting and delete locking in the derived class.
  13. <p>
  14. Properly constructed MX_ATOM objects are bit-copy-correct which means that
  15. a binary copy retains proper functioning. The copied object should not be
  16. used after the binary copy.
  17. <p>
  18. Because MX_ATOM is bit-copy-correct it can safely be placed in a MX_VECTOR
  19. or the memory realloc'd.
  20. (<a href="../include/deds/atom.h">../include/deds/atom.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_atom.htm">atom</a>)
  21. <p></li>
  22. <li>
  23. <a name="MX_LOCK"><code>MX_LOCK</code></a>
  24. <p>
  25. <p><b>Stop MX_ATOMs from getting deleted</b><p>
  26. This object implements a delete lock for an MX_ATOM. While a valid
  27. MX_LOCK exists for an MX_ATOM object (or one derived from it) the
  28. object is guaranteed not be deleted. An object can have multiple locks
  29. placed on it. <p>
  30. MX_LOCK is NOT bit-copy-correct so it cannot safely be placed in a MX_VECTOR
  31. or in memory that gets realloc'd.
  32. (<a href="../include/deds/atom.h">../include/deds/atom.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_atom.htm">atom</a>)
  33. <p></li>
  34. <li>
  35. <a name=" define MX_REF(type)"><code># define MX_REF(type)</code></a>
  36. <p>
  37. <p><b>A reference type, a typed MX_LOCK</b><p>
  38. This macro defines a MX_LOCK where the target is of some defined type.
  39. A reference functions the same way as a MX_LOCK except the locked (i.e. referenced)
  40. object is available in a typesafe way. A pointer to the reference target is
  41. available with the MXREF macro.
  42. (<a href="../include/deds/atom.h">../include/deds/atom.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_atom.htm">atom</a>)
  43. <p></li>
  44. <li>
  45. <a name="define MX_DLLIST(type)"><code>#define MX_DLLIST(type)</code></a>
  46. <p>
  47. <p><b>Double linked list</b><p>
  48. This macro declares a double linked list structure. The list
  49. surrounding type can then be manipulated by the other mx_dllist_* and
  50. MX_DLLIST_* macros. The type should be initialized with all zeros.
  51. (<a href="../include/deds/dllist.h">../include/deds/dllist.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_dllist.htm">dllist</a>)
  52. <p></li>
  53. <li>
  54. <a name="define MX_DLLIST_ELEM(type)"><code>#define MX_DLLIST_ELEM(type)</code></a>
  55. <p>
  56. <p><b>Elements for a double linked list</b><p>
  57. This macro declares elements for a double linked list structure.
  58. This delcaration must be included in a struct with an appropriate type. The
  59. surrounding type can then be manipulated by the other mx_dllist_* and
  60. MX_DLLIST_* macros. The surrounding type should be initialized with all
  61. zeros.
  62. (<a href="../include/deds/dllist.h">../include/deds/dllist.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_dllist.htm">dllist</a>)
  63. <p></li>
  64. <li>
  65. <a name="define MX_DLLIST_NODE(type,list)"><code>#define MX_DLLIST_NODE(type,list)</code></a>
  66. <p>
  67. <p><b>Elements for a double linked list node</b><p>
  68. This macro declares elements for a double linked list node
  69. structure. This delcaration must be included in a struct with an appropriate
  70. type. The surrounding type can then be manipulated by the other mx_dllist_*
  71. and MX_DLLIST_* macros. The surrounding type should be initialized with all
  72. zeros.
  73. (<a href="../include/deds/dllist.h">../include/deds/dllist.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_dllist.htm">dllist</a>)
  74. <p></li>
  75. <li>
  76. <a name="typedef void* (*MX_ALLOC) (size_t bytes);"><code>typedef void* (*MX_ALLOC) (size_t bytes);</code></a>
  77. <p>
  78. <p><b>A stdlib malloc-like function. </b><p>
  79. (<a href="../include/deds/memtype.h">../include/deds/memtype.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_memtype.htm">memtype</a>)
  80. <p></li>
  81. <li>
  82. <a name="typedef void* (*MX_REALLOC) (void* ptr, size_t bytes);"><code>typedef void* (*MX_REALLOC) (void* ptr, size_t bytes);</code></a>
  83. <p>
  84. <p><b>A stdlib realloc-like function. </b><p>
  85. (<a href="../include/deds/memtype.h">../include/deds/memtype.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_memtype.htm">memtype</a>)
  86. <p></li>
  87. <li>
  88. <a name="typedef void (*MX_FREE) (void* ptr);"><code>typedef void (*MX_FREE) (void* ptr);</code></a>
  89. <p>
  90. <p><b>A stdlib free-like function. </b><p>
  91. (<a href="../include/deds/memtype.h">../include/deds/memtype.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_memtype.htm">memtype</a>)
  92. <p></li>
  93. <li>
  94. <a name="MX_ALLOCATOR"><code>MX_ALLOCATOR</code></a>
  95. <p>
  96. <p><b>A standard memory alloc/realloc/free tool </b><p>
  97. (<a href="../include/deds/memtype.h">../include/deds/memtype.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_memtype.htm">memtype</a>)
  98. <p></li>
  99. <li>
  100. <a name="MX_RECT"><code>MX_RECT</code></a>
  101. <p>
  102. <p><b>A basic rectangle</b><p>
  103. This type is a basic rectangle with an upper-left at x1,y1 and
  104. lower-right at x2, y2.
  105. (<a href="../include/deds/rect.h">../include/deds/rect.h</a>)
  106. <p>member: <b>
  107. int x1</b> Left coordinate
  108. (<a href="../include/deds/rect.h">../include/deds/rect.h</a>)
  109. <p>member: <b>
  110. int y1</b> Upper coordinate
  111. (<a href="../include/deds/rect.h">../include/deds/rect.h</a>)
  112. <p>member: <b>
  113. int x2</b> Right coordinate
  114. (<a href="../include/deds/rect.h">../include/deds/rect.h</a>)
  115. <p>member: <b>
  116. int y2</b> Lower coordinate
  117. (<a href="../include/deds/rect.h">../include/deds/rect.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_rect.htm">rect</a>)
  118. <p></li>
  119. <li>
  120. <a name="MX_RECTATOM_DATA"><code>MX_RECTATOM_DATA</code></a>
  121. <p>
  122. <p><b>MX_RECT with reference counting </b><p>
  123. (<a href="../include/deds/rectatom.h">../include/deds/rectatom.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_rectatom.htm">rectatom</a>)
  124. <p></li>
  125. <li>
  126. <a name="MX_STRING"><code>MX_STRING</code></a>
  127. <p>
  128. <p><b>A string object </b><p>
  129. (<a href="../include/deds/string.h">../include/deds/string.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_string.htm">string</a>)
  130. <p></li>
  131. <li>
  132. <a name="define MX_VECTOR(type)"><code>#define MX_VECTOR(type)</code></a>
  133. <p>
  134. <p><b>A 100% typesafe generic vector for C</b><p>
  135. This macro functions as a type delaration for a vector of user-defined
  136. type.
  137. (<a href="../include/deds/vector.h">../include/deds/vector.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_vector.htm">vector</a>)
  138. <p></li>
  139. <li>
  140. <a name="define MX_VECTOR_ITERATOR(type)"><code>#define MX_VECTOR_ITERATOR(type)</code></a>
  141. <p>
  142. <p><b>An iterator for a MX_VECTOR</b><p>
  143. This macro functions as a type declaration for an iterator for a
  144. similarly typed MX_VECTOR.
  145. (<a href="../include/deds/vector.h">../include/deds/vector.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_vector.htm">vector</a>)
  146. <p></li>
  147. <li>
  148. <a name="MX_BITMAP"><code>MX_BITMAP</code></a>
  149. <p>
  150. <p><b>A bitmap type </b><p>
  151. (<a href="../include/degfx/bitmap.h">../include/degfx/bitmap.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_bitmap.htm">bitmap</a>)
  152. <p></li>
  153. <li>
  154. <a name="typedef MX_PIXEL* MX_BITMAP_ITER;"><code>typedef MX_PIXEL* MX_BITMAP_ITER;</code></a>
  155. <p>
  156. <p><b>Fast pixel-level iterator for a bitmap </b><p>
  157. (<a href="../include/degfx/bitmap.h">../include/degfx/bitmap.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_bitmap.htm">bitmap</a>)
  158. <p></li>
  159. <li>
  160. <a name="MX_GFX_ARGS"><code>MX_GFX_ARGS</code></a>
  161. <p>
  162. <p><b>Graphic driver information</b><p>
  163. The basic graphic driver arguments and parameters.
  164. All elements can be replaced with 0 and a default choice will be made.
  165. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  166. <p>member: <b>
  167. int w, h, c;</b> The graphics width, height and color depth in bits.
  168. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  169. <p>member: <b>
  170. const char *title;</b> The title of the graphics window (for windowed modes)
  171. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  172. <p>member: <b>
  173. struct MX_BITMAP *buffer;</b> The buffer used for redrawing. Larger buffers mean more
  174. efficient redraws at the cost of more memory.
  175. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  176. <p>member: <b>
  177. const struct MX_DRIVER *driver;</b> The requested driver.
  178. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  179. <p>member: <b>
  180. MX_REDRAW_FUNC redraw;</b> The redraw function.
  181. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  182. <p>member: <b>
  183. MX_RECT screen;</b> The area of the graphics screen.
  184. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  185. <p>member: <b>
  186. unsigned int session;</b> The session counter is incremented every time the graphics
  187. mode is changed. Keeping track of the session number you can
  188. check if the graphics mode has been changed.
  189. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)
  190. <p>member: <b>
  191. MX_BITFIELD(pointer);</b> The pointer field is non-zero if the platform draws it's
  192. own mouse.
  193. (<a href="../include/degfx/driver.h">../include/degfx/driver.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_driver.htm">driver</a>)
  194. <p></li>
  195. <li>
  196. <a name="MX_FONT"><code>MX_FONT</code></a>
  197. <p>
  198. <p><b>A font </b><p>
  199. (<a href="../include/degfx/font.h">../include/degfx/font.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_font.htm">font</a>)
  200. <p></li>
  201. <li>
  202. <a name="MX_ALERT"><code>MX_ALERT</code></a>
  203. <p>
  204. <p><b>Basic alert window </b><p>
  205. (<a href="../include/depui/alert.h">../include/depui/alert.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_alert.htm">alert</a>)
  206. <p></li>
  207. <li>
  208. <a name="MX_EVENT"><code>MX_EVENT</code></a>
  209. <p>
  210. <p><b>Event types </b><p>
  211. (<a href="../include/depui/corepui.h">../include/depui/corepui.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_corepui.htm">corepui</a>)
  212. <p></li>
  213. <li>
  214. <a name="typedef void (*MX_HANDLER) (struct MX_WIN* win);"><code>typedef void (*MX_HANDLER) (struct MX_WIN* win);</code></a>
  215. <p>
  216. <p><b>Event handler</b><p>
  217. Functions of this type are assoctaied with windows. These functions process
  218. all events bieng passed to all objects within the window.
  219. (<a href="../include/depui/corepui.h">../include/depui/corepui.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_corepui.htm">corepui</a>)
  220. <p></li>
  221. <li>
  222. <a name="MX_WIN"><code>MX_WIN</code></a>
  223. <p>
  224. <p><b>A window object </b><p>
  225. (<a href="../include/depui/corepui.h">../include/depui/corepui.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_corepui.htm">corepui</a>)
  226. <p></li>
  227. <li>
  228. <a name="MX_EDITTEXT"><code>MX_EDITTEXT</code></a>
  229. <p>
  230. <p><b>An editable text object </b><p>
  231. (<a href="../include/depui/edittext.h">../include/depui/edittext.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_edittext.htm">edittext</a>)
  232. <p></li>
  233. <li>
  234. <a name="MX_FILESEL"><code>MX_FILESEL</code></a>
  235. <p>
  236. <p><b>File selector window</b><p>
  237. This type is a standard DEPUI file selector.
  238. (<a href="../include/depui/filesel.h">../include/depui/filesel.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_filesel.htm">filesel</a>)
  239. <p></li>
  240. <li>
  241. <a name="MX_FONTSEL"><code>MX_FONTSEL</code></a>
  242. <p>
  243. <p><b>A font seletion window </b><p>
  244. (<a href="../include/depui/fontsel.h">../include/depui/fontsel.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_fontsel.htm">fontsel</a>)
  245. <p></li>
  246. <li>
  247. <a name="MX_GFXSEL"><code>MX_GFXSEL</code></a>
  248. <p>
  249. <p><b>Graphics mode selector </b><p>
  250. (<a href="../include/depui/gfxsel.h">../include/depui/gfxsel.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_gfxsel.htm">gfxsel</a>)
  251. <p></li>
  252. <li>
  253. <a name="MX_GFXSEL_INFO"><code>MX_GFXSEL_INFO</code></a>
  254. <p>
  255. <p><b>Graphics mode selector information</b><p>
  256. When a graphics mode has been selected by the dialog a MX_GFXSEL_OK
  257. event is sent to the parent window. Then mx_gfxsel_info() can be called to
  258. get information about the graphics mode selected. A pointer to this type is
  259. returned.
  260. (<a href="../include/depui/gfxsel.h">../include/depui/gfxsel.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_gfxsel.htm">gfxsel</a>)
  261. <p></li>
  262. <li>
  263. <a name="MX_LISTELEM"><code>MX_LISTELEM</code></a>
  264. <p>
  265. <p><b>A list element type </b><p>
  266. (<a href="../include/depui/list.h">../include/depui/list.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_list.htm">list</a>)
  267. <p></li>
  268. <li>
  269. <a name="MX_LIST"><code>MX_LIST</code></a>
  270. <p>
  271. <p><b>A scrollable list object</b><p>
  272. This object contains a number of selecteable elements in a (if necessary)
  273. scrollable area.
  274. (<a href="../include/depui/list.h">../include/depui/list.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_list.htm">list</a>)
  275. <p></li>
  276. <li>
  277. <a name="MX_SCROLL"><code>MX_SCROLL</code></a>
  278. <p>
  279. <p><b>Scrollable area</b><p>
  280. This is an scrollable area object.
  281. (<a href="../include/depui/scroll.h">../include/depui/scroll.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_scroll.htm">scroll</a>)
  282. <p></li>
  283. <li>
  284. <a name="MX_SCROLL2"><code>MX_SCROLL2</code></a>
  285. <p>
  286. <p><b>Scrollable area with title</b><p>
  287. This is an scrollable area object with a title.
  288. (<a href="../include/depui/scroll.h">../include/depui/scroll.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_scroll.htm">scroll</a>)
  289. <p></li>
  290. <li>
  291. <a name="MX_SLIDER"><code>MX_SLIDER</code></a>
  292. <p>
  293. <p><b>Slider type </b><p>
  294. (<a href="../include/depui/slider.h">../include/depui/slider.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_slider.htm">slider</a>)
  295. <p></li>
  296. <li>
  297. <a name="MX_TEXTEDITOR"><code>MX_TEXTEDITOR</code></a>
  298. <p>
  299. <p><b>Text editor </b><p>
  300. (<a href="../include/depui/textedit.h">../include/depui/textedit.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_textedit.htm">textedit</a>)
  301. <p></li>
  302. <li>
  303. <a name="MX_THEMESEL"><code>MX_THEMESEL</code></a>
  304. <p>
  305. <p><b>A theme seletion window </b><p>
  306. (<a href="../include/depui/themesel.h">../include/depui/themesel.h</a>)<br>(library <a href="depui.htm">depui</a> : module <a href="depui_themesel.htm">themesel</a>)
  307. <p></li>
  308. <li>
  309. <a name="define MX_BITFIELD(a)"><code>#define MX_BITFIELD(a)</code></a>
  310. <p>
  311. <p><b>Portable bitfield</b><p>
  312. A macro to define a bitfield variable.
  313. (<a href="../include/detk/bitfield.h">../include/detk/bitfield.h</a>)<br>(library <a href="detk.htm">detk</a> : module <a href="detk_bitfield.htm">bitfield</a>)
  314. <p></li>
  315. <li>
  316. <a name="typedef void (*MX_FLUSH_FUNC) (MX_RECT* rect);"><code>typedef void (*MX_FLUSH_FUNC) (MX_RECT* rect);</code></a>
  317. <p>
  318. <p><b>Flush callback function for dirty rectangle updating</b><p>
  319. This typedef defines a user defined callback function where dirty
  320. portions of the screen are determined. Inside the callback the user should
  321. place code to actually update the screen area. The updating rectangle can be
  322. modified by the callback to indicate what portions of the screen are actually
  323. updated.
  324. (<a href="../include/detk/drs.h">../include/detk/drs.h</a>)<br>(library <a href="detk.htm">detk</a> : module <a href="detk_drs.htm">drs</a>)
  325. <p></li>
  326. <li>
  327. <a name="typedef MX_VECTOR(MX_RECT) MX_REGION;"><code>typedef MX_VECTOR(MX_RECT) MX_REGION;</code></a>
  328. <p>
  329. <p>Regions are vectors of rectangles
  330. (<a href="../include/detk/region.h">../include/detk/region.h</a>)<br>(library <a href="detk.htm">detk</a> : module <a href="detk_region.htm">region</a>)
  331. <p></li>
  332. </ul><p>Generated by <a href="http://www.deleveld.dds.nl/mxdoc/index.htm">MXDOC</a> 2.2 on Sun Feb 4 15:16:26 2007
  333. </body></html>