macro.htm 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244
  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>macro</title>
  4. </head><body>
  5. <p>[<a href="mxdoc.htm">mainpage</a>]
  6. [<a href="tags.htm">tags</a>]<br>
  7. <h1>tag: macro</h1><ul><li>
  8. <a name=" define MXDEBUG_ALLOCTAG(p)"><code># define MXDEBUG_ALLOCTAG(p)</code></a>
  9. <p>
  10. <p><b>Tag an allocation (debug)</b><p>
  11. This macro tags a pointer to memory with the current filename and source line.
  12. If the pointer does not exist the the current allocation list then this macro does nothing.
  13. If memory debugging is off (MXMODULE_ALLOC undefined or NDEBUG is defined) then
  14. this macro compiles to nothing.
  15. (<a href="../include/deds/alloc.h">../include/deds/alloc.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_alloc.htm">alloc</a>)
  16. <p></li>
  17. <li>
  18. <a name=" define MXDEBUG_ALLOCCHECK()"><code># define MXDEBUG_ALLOCCHECK()</code></a>
  19. <p>
  20. <p><b>Check all allocations</b><p>
  21. This macro causes all allocations to be checked for over/under writing.
  22. If memory debugging is off (MXMODULE_ALLOC undefined or NDEBUG is defined) then
  23. this macro compiles to nothing.
  24. (<a href="../include/deds/alloc.h">../include/deds/alloc.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_alloc.htm">alloc</a>)
  25. <p></li>
  26. <li>
  27. <a name=" define MXATOM(v)"><code># define MXATOM(v)</code></a>
  28. <p>
  29. <p><b>Convert to MX_ATOM</b><p>
  30. This macro return the base MX_ATOM for an object derived from MX_ATOM.
  31. (<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>)
  32. <p></li>
  33. <li>
  34. <a name=" define mx_atom(a,d,s)"><code># define mx_atom(a,d,s)</code></a>
  35. <p>
  36. <p><b>Construct an MX_ATOM</b><p>
  37. This macro constructs a MX_ATOM which is a base object for reference counting.
  38. (<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>)
  39. <p></li>
  40. <li>
  41. <a name=" define mx_delete(a)"><code># define mx_delete(a)</code></a>
  42. <p>
  43. <p><b>Destroy an MX_ATOM</b><p>
  44. This macro causes an object to be marked for destruction. If no locks (MX_LOCK)
  45. or references (MX_REF) exist for this object then the object is destroyed and
  46. if appropitae the memory is released.
  47. (<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>)
  48. <p></li>
  49. <li>
  50. <a name=" define mx_locked(a)"><code># define mx_locked(a)</code></a>
  51. <p>
  52. <p><b>Find out if an object is locked or not </b><p>
  53. (<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>)
  54. <p></li>
  55. <li>
  56. <a name=" define mx_lock(l,a)"><code># define mx_lock(l,a)</code></a>
  57. <p>
  58. <p><b>Construct a MX_LOCK</b><p>
  59. This macro creates a lock for an object derived from MX_ATOM. The locked
  60. MX_ATOM is guaranteed not to be deleted while a valid lock exists.
  61. (<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>)
  62. <p></li>
  63. <li>
  64. <a name=" define MX_REF(type)"><code># define MX_REF(type)</code></a>
  65. <p>
  66. <p><b>A reference type, a typed MX_LOCK</b><p>
  67. This macro defines a MX_LOCK where the target is of some defined type.
  68. A reference functions the same way as a MX_LOCK except the locked (i.e. referenced)
  69. object is available in a typesafe way. A pointer to the reference target is
  70. available with the MXREF macro.
  71. (<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>)
  72. <p></li>
  73. <li>
  74. <a name=" define mx_ref(r,t)"><code># define mx_ref(r,t)</code></a>
  75. <p>
  76. <p><b>Construct a MX_REF</b><p>
  77. The macro constructs a MX_REF to an object.
  78. (<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>)
  79. <p></li>
  80. <li>
  81. <a name=" define mx_unref(r)"><code># define mx_unref(r)</code></a>
  82. <p>
  83. <p><b>Destruct a MX_REF</b><p>
  84. The macro destroys a MX_REF to an object. The object may
  85. be deleted in the dereference, see the mx_unlock() macro.
  86. (<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>)
  87. <p></li>
  88. <li>
  89. <a name=" define MXREF(r)"><code># define MXREF(r)</code></a>
  90. <p>
  91. <p><b>Return the object behind a MX_REF</b><p>
  92. Return the object behind the MX_REF to an object.
  93. (<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>)
  94. <p></li>
  95. <li>
  96. <a name="define MX_DLLIST(type)"><code>#define MX_DLLIST(type)</code></a>
  97. <p>
  98. <p><b>Double linked list</b><p>
  99. This macro declares a double linked list structure. The list
  100. surrounding type can then be manipulated by the other mx_dllist_* and
  101. MX_DLLIST_* macros. The type should be initialized with all zeros.
  102. (<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>)
  103. <p></li>
  104. <li>
  105. <a name="define MX_DLLIST_ELEM(type)"><code>#define MX_DLLIST_ELEM(type)</code></a>
  106. <p>
  107. <p><b>Elements for a double linked list</b><p>
  108. This macro declares elements for a double linked list structure.
  109. This delcaration must be included in a struct with an appropriate type. The
  110. surrounding type can then be manipulated by the other mx_dllist_* and
  111. MX_DLLIST_* macros. The surrounding type should be initialized with all
  112. zeros.
  113. (<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>)
  114. <p></li>
  115. <li>
  116. <a name="define MX_DLLIST_NODE(type,list)"><code>#define MX_DLLIST_NODE(type,list)</code></a>
  117. <p>
  118. <p><b>Elements for a double linked list node</b><p>
  119. This macro declares elements for a double linked list node
  120. structure. This delcaration must be included in a struct with an appropriate
  121. type. The surrounding type can then be manipulated by the other mx_dllist_*
  122. and MX_DLLIST_* macros. The surrounding type should be initialized with all
  123. zeros.
  124. (<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>)
  125. <p></li>
  126. <li>
  127. <a name="define MX_DLLIST_APPEND(o,p)"><code>#define MX_DLLIST_APPEND(o,p)</code></a>
  128. <p>
  129. <p><b>Insert a double linked element into a double linked list</b><p>
  130. The inserted element is placed at the end of the list.
  131. (<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>)
  132. <p></li>
  133. <li>
  134. <a name="define MX_DLLIST_PREPEND(o,p)"><code>#define MX_DLLIST_PREPEND(o,p)</code></a>
  135. <p>
  136. <p><b>Insert a double linked element into a double linked list</b><p>
  137. The inserted element is placed at the beginning of the list.
  138. (<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>)
  139. <p></li>
  140. <li>
  141. <a name="define MX_DLLIST_REMOVE(o)"><code>#define MX_DLLIST_REMOVE(o)</code></a>
  142. <p>
  143. <p><b>Remove a double linked list element from its list </b><p>
  144. (<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>)
  145. <p></li>
  146. <li>
  147. <a name="define mx_dllist_first(o)"><code>#define mx_dllist_first(o)</code></a>
  148. <p>
  149. <p><b>First element of a double linked list. </b><p>
  150. (<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>)
  151. <p></li>
  152. <li>
  153. <a name="define mx_dllist_last(o)"><code>#define mx_dllist_last(o)</code></a>
  154. <p>
  155. <p><b>Last element of a double linked list. </b><p>
  156. (<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>)
  157. <p></li>
  158. <li>
  159. <a name="define mx_dllist_next(o)"><code>#define mx_dllist_next(o)</code></a>
  160. <p>
  161. <p><b>Next element in the double linked list. </b><p>
  162. (<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>)
  163. <p></li>
  164. <li>
  165. <a name="define mx_dllist_prev(o)"><code>#define mx_dllist_prev(o)</code></a>
  166. <p>
  167. <p><b>Previous element in the double linked list. </b><p>
  168. (<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>)
  169. <p></li>
  170. <li>
  171. <a name="define mx_dllist_list(o)"><code>#define mx_dllist_list(o)</code></a>
  172. <p>
  173. <p><b>List that an element is contained in. </b><p>
  174. (<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>)
  175. <p></li>
  176. <li>
  177. <a name="define MX_MAX(x,y)"><code>#define MX_MAX(x,y)</code></a>
  178. <p>
  179. <p><b>The maximum of two values. </b><p>
  180. (<a href="../include/deds/maxmin.h">../include/deds/maxmin.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_maxmin.htm">maxmin</a>)
  181. <p></li>
  182. <li>
  183. <a name="define MX_MIN(x,y)"><code>#define MX_MIN(x,y)</code></a>
  184. <p>
  185. <p><b>The minimum of two values. </b><p>
  186. (<a href="../include/deds/maxmin.h">../include/deds/maxmin.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_maxmin.htm">maxmin</a>)
  187. <p></li>
  188. <li>
  189. <a name="define MX_MID(x,y,z)"><code>#define MX_MID(x,y,z)</code></a>
  190. <p>
  191. <p><b>The middle of three values. </b><p>
  192. (<a href="../include/deds/maxmin.h">../include/deds/maxmin.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_maxmin.htm">maxmin</a>)
  193. <p></li>
  194. <li>
  195. <a name=" define MXRECT_VALID(A)"><code># define MXRECT_VALID(A)</code></a>
  196. <p>
  197. <p><b>Is MX_RECT valid?</b><p>
  198. This macro returns non-zero if the upper-left of the rectangle is
  199. above and to the right of the lower-left of the rectangle, zero otherwise.
  200. (<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>)
  201. <p></li>
  202. <li>
  203. <a name=" define MXRECT_INTERSECT(A, B, R)"><code># define MXRECT_INTERSECT(A, B, R)</code></a>
  204. <p>
  205. <p><b>Find intersection of two rectangles</b><p>
  206. This macro finds the intersection of two rectangles.
  207. (<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>)
  208. <p></li>
  209. <li>
  210. <a name=" define MXRECT_UNION(A, B, R)"><code># define MXRECT_UNION(A, B, R)</code></a>
  211. <p>
  212. <p><b>Union of two rectangles. </b><p>
  213. (<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>)
  214. <p></li>
  215. <li>
  216. <a name=" define MXRECT_CONTAINS(R, X, Y)"><code># define MXRECT_CONTAINS(R, X, Y)</code></a>
  217. <p>
  218. <p><b>Point contained in MX_RECT</b><p>
  219. This macro return non-zero if a given x,y point is indose the
  220. rectangel error, zero otherwise.
  221. (<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>)
  222. <p></li>
  223. <li>
  224. <a name=" define MXRECTS_OVERLAP(A, B)"><code># define MXRECTS_OVERLAP(A, B)</code></a>
  225. <p>
  226. <p><b>Do MX_RECT overlap?</b><p>
  227. This macro return non-zero if two rectangels overlap, zero otherwise.
  228. (<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>)
  229. <p></li>
  230. <li>
  231. <a name=" define MXRECT(b)"><code># define MXRECT(b)</code></a>
  232. <p>
  233. <p><b>Typesafe conversion between a class derived from MX_RECTATOM to a MX_RECT. </b><p>
  234. (<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>)
  235. <p></li>
  236. <li>
  237. <a name=" define mx_rectatom(r,d,s)"><code># define mx_rectatom(r,d,s)</code></a>
  238. <p>
  239. <p><b>Construct a MX_RECTATOM </b><p>
  240. (<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>)
  241. <p></li>
  242. <li>
  243. <a name=" define mx_rectatom_place(r, rect)"><code># define mx_rectatom_place(r, rect)</code></a>
  244. <p>
  245. <p><b>Place a MX_RECTAOM at some specific rectangle. </b><p>
  246. (<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>)
  247. <p></li>
  248. <li>
  249. <a name=" define mx_x1(r)"><code># define mx_x1(r)</code></a>
  250. <p>
  251. <p><b>MX_RECTATOM x1 value. </b><p>
  252. (<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>)
  253. <p></li>
  254. <li>
  255. <a name=" define mx_y1(r)"><code># define mx_y1(r)</code></a>
  256. <p>
  257. <p><b>MX_RECTATOM y1 value. </b><p>
  258. (<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>)
  259. <p></li>
  260. <li>
  261. <a name=" define mx_x2(r)"><code># define mx_x2(r)</code></a>
  262. <p>
  263. <p><b>MX_RECTATOM x2 value. </b><p>
  264. (<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>)
  265. <p></li>
  266. <li>
  267. <a name=" define mx_y2(r)"><code># define mx_y2(r)</code></a>
  268. <p>
  269. <p><b>MX_RECTATOM y2 value. </b><p>
  270. (<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>)
  271. <p></li>
  272. <li>
  273. <a name=" define mx_w(r)"><code># define mx_w(r)</code></a>
  274. <p>
  275. <p><b>MX_RECTATOM width. </b><p>
  276. (<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>)
  277. <p></li>
  278. <li>
  279. <a name=" define mx_h(r)"><code># define mx_h(r)</code></a>
  280. <p>
  281. <p><b>MX_RECTATOM height. </b><p>
  282. (<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>)
  283. <p></li>
  284. <li>
  285. <a name="define MX_TREE(type)"><code>#define MX_TREE(type)</code></a>
  286. <p>
  287. <p><b>Declare elements for a tree structure</b><p>
  288. This macro declares elements for a tree structure. This
  289. delcaration must be included in a struct with an appropriate type. The
  290. surrounding type can then be manupulated by the other mx_tree_* functions.
  291. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  292. <p></li>
  293. <li>
  294. <a name="define MX_TREE_INSERT(o,p)"><code>#define MX_TREE_INSERT(o,p)</code></a>
  295. <p>
  296. <p><b>Insert a tree element into a parent. </b><p>
  297. The inserted element is placed after the existing children of the parent. An tree element
  298. cannot be inserted into itself.
  299. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  300. <p></li>
  301. <li>
  302. <a name="define MX_TREE_REMOVE(o)"><code>#define MX_TREE_REMOVE(o)</code></a>
  303. <p>
  304. <p><b>Remove a tree element from a parent. </b><p>
  305. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  306. <p></li>
  307. <li>
  308. <a name="define mx_tree_first(o)"><code>#define mx_tree_first(o)</code></a>
  309. <p>
  310. <p><b>The first child element of a parent. </b><p>
  311. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  312. <p></li>
  313. <li>
  314. <a name="define mx_tree_last(o)"><code>#define mx_tree_last(o)</code></a>
  315. <p>
  316. <p><b>The last child element of a parent. </b><p>
  317. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  318. <p></li>
  319. <li>
  320. <a name="define mx_tree_next(o)"><code>#define mx_tree_next(o)</code></a>
  321. <p>
  322. <p><b>The next child element with the same parent. </b><p>
  323. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  324. <p></li>
  325. <li>
  326. <a name="define mx_tree_prev(o)"><code>#define mx_tree_prev(o)</code></a>
  327. <p>
  328. <p><b>The previous child element with the same parent. </b><p>
  329. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  330. <p></li>
  331. <li>
  332. <a name="define mx_tree_parent(o)"><code>#define mx_tree_parent(o)</code></a>
  333. <p>
  334. <p><b>The parent tree element. </b><p>
  335. (<a href="../include/deds/tree.h">../include/deds/tree.h</a>)<br>(library <a href="deds.htm">deds</a> : module <a href="deds_tree.htm">tree</a>)
  336. <p></li>
  337. <li>
  338. <a name="define MX_VECTOR(type)"><code>#define MX_VECTOR(type)</code></a>
  339. <p>
  340. <p><b>A 100% typesafe generic vector for C</b><p>
  341. This macro functions as a type delaration for a vector of user-defined
  342. type.
  343. (<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>)
  344. <p></li>
  345. <li>
  346. <a name="define MX_VECTOR_ITERATOR(type)"><code>#define MX_VECTOR_ITERATOR(type)</code></a>
  347. <p>
  348. <p><b>An iterator for a MX_VECTOR</b><p>
  349. This macro functions as a type declaration for an iterator for a
  350. similarly typed MX_VECTOR.
  351. (<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>)
  352. <p></li>
  353. <li>
  354. <a name="define mx_vector(mxvect)"><code>#define mx_vector(mxvect)</code></a>
  355. <p>
  356. <p><b>Construct a MX_VECTOR</b><p>
  357. This macro constructs a MX_VECTOR object. This must be called first
  358. before any other mx_vector_* functions are called.
  359. <p>MX_VECTOR is correctly initialized with a 0 bit pattern. So static
  360. MX_VECTOR are correctly initialized and dont necessarily need a call to the
  361. constructor.
  362. (<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>)
  363. <p></li>
  364. <li>
  365. <a name="define mx_vector_free(mxvect)"><code>#define mx_vector_free(mxvect)</code></a>
  366. <p>
  367. <p><b>Destruct a MX_VECTOR</b><p>
  368. This macro destroys an MX_VECTOR object by releasing any memory
  369. that has been allocated. It should be the last call to any mx_vector_*
  370. functions. Access of the MX_VECTOR object after destruction should not be done.
  371. (<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>)
  372. <p></li>
  373. <li>
  374. <a name="define mx_vector_at(mxvect, mxn)"><code>#define mx_vector_at(mxvect, mxn)</code></a>
  375. <p>
  376. <p><b>Return an element from a MX_VECTOR at a specific index</b><p>
  377. This macro returns elements from a MX_VECTOR at a specific index.
  378. It is safer than accessing the underlying pointer because it wont allow
  379. access outside the correct range for the vector.
  380. (<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>)
  381. <p></li>
  382. <li>
  383. <a name="define mx_vector_back(mxvect)"><code>#define mx_vector_back(mxvect)</code></a>
  384. <p>
  385. <p><b>Return the last element from a MX_VECTOR</b><p>
  386. This macro returns the last element from a MX_VECTOR.
  387. (<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>)
  388. <p></li>
  389. <li>
  390. <a name="define mx_vector_begin(mxvect)"><code>#define mx_vector_begin(mxvect)</code></a>
  391. <p>
  392. <p><b>Pointer to first element</b><p>
  393. This macro returns a pointer to the first data element in the MX_VECTOR object.
  394. If the MX_VECTOR contains no data elements then 0 is returned.
  395. (<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>)
  396. <p></li>
  397. <li>
  398. <a name="define mx_vector_capacity(mxvect)"><code>#define mx_vector_capacity(mxvect)</code></a>
  399. <p>
  400. <p><b>Capacity</b><p>
  401. This macro returns the capacity of an MX_VECTOR object. This is the
  402. number of elements that the vector can contain without reqriring any internal
  403. memory management.
  404. (<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>)
  405. <p></li>
  406. <li>
  407. <a name="define mx_vector_clear(mxvect)"><code>#define mx_vector_clear(mxvect)</code></a>
  408. <p>
  409. <p><b>Clear</b><p>
  410. This macro deletes all the objects from a MX_VECTOR
  411. (<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>)
  412. <p></li>
  413. <li>
  414. <a name="define mx_vector_empty(mxvect)"><code>#define mx_vector_empty(mxvect)</code></a>
  415. <p>
  416. <p><b>Empty</b><p>
  417. This macro deletes all the objects from a MX_VECTOR
  418. (<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>)
  419. <p></li>
  420. <li>
  421. <a name="define mx_vector_end(mxvect)"><code>#define mx_vector_end(mxvect)</code></a>
  422. <p>
  423. <p><b>Pointer one-past last element</b><p>
  424. This macro returns a pointer one-past the last data element in the MX_VECTOR object.
  425. If the MX_VECTOR contains no data elements then 0 is returned.
  426. (<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>)
  427. <p></li>
  428. <li>
  429. <a name="define mx_vector_erase(mxvect, mxiter)"><code>#define mx_vector_erase(mxvect, mxiter)</code></a>
  430. <p>
  431. <p><b>Erase an element</b><p>
  432. This macro removes a data element from an MX_VECTOR object.
  433. If there are data elements at indicies higher than those removed then they
  434. are are moved to lower indicies.
  435. (<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>)
  436. <p></li>
  437. <li>
  438. <a name="define mx_vector_push_back(mxvect, mxdat)"><code>#define mx_vector_push_back(mxvect, mxdat)</code></a>
  439. <p>
  440. <p><b>Push an element onto the back of the MX_VECTOR</b><p>
  441. This macro makes a bitwise copy of a single data element and appends
  442. the copy onto an existing MX_VECTOR object. The size of the vector is expanded
  443. to hold the new data elements.
  444. (<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>)
  445. <p></li>
  446. <li>
  447. <a name="define mx_vector_size(mxvect)"><code>#define mx_vector_size(mxvect)</code></a>
  448. <p>
  449. <p><b>Number of elements</b><p>
  450. This macro returns the size of an MX_VECTOR object. This is the number
  451. of data elements that can be safely accessed.
  452. (<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>)
  453. <p></li>
  454. <li>
  455. <a name="define mx_vector_resize(mxvect, n)"><code>#define mx_vector_resize(mxvect, n)</code></a>
  456. <p>
  457. <p><b>Resize</b><p>
  458. This macro resizes a MX_VECTOR object. If the MX_VECTOR does not have
  459. sufficient capacity to hold the new number of elements then new space is
  460. reserved using mx_vector_reserve().
  461. (<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>)
  462. <p></li>
  463. <li>
  464. <a name="define mx_vector_reserve(mxvect, n)"><code>#define mx_vector_reserve(mxvect, n)</code></a>
  465. <p>
  466. <p><b>Set capacity</b><p>
  467. This macro reserves space in a MX_VECTOR object for later copying or
  468. appending of data elements. If enough space is reserved the insertion or appending
  469. of elements does not require memory management (realloc of internal buffer) and
  470. will be fast. If enough space is already reserved this macro does nothing.
  471. (<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>)
  472. <p></li>
  473. <li>
  474. <a name="define mx_vector_extend(mxvect, n)"><code>#define mx_vector_extend(mxvect, n)</code></a>
  475. <p>
  476. <p><b>Increase capacity</b><p>
  477. This macro reserves space for additional data elements in a MX_VECTOR object.
  478. If enough space is reserved then future insertion or appending may not require memory
  479. management (realloc of internal buffer) and will therefore be fast. If enough space
  480. is already reserved this macro does nothing.
  481. (<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>)
  482. <p></li>
  483. <li>
  484. <a name="define mx_vector_contract(mxvect)"><code>#define mx_vector_contract(mxvect)</code></a>
  485. <p>
  486. <p><b>Reduce capacity to minimum</b><p>
  487. This macro reduces the memory used by a MX_VECTOR object to the
  488. minimum required to safely contain the data elements contained. This function can
  489. cause memory management (realloc of internal buffer) to occur.
  490. (<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>)
  491. <p></li>
  492. <li>
  493. <a name="define mx_vector_append1(mxvect, dat)"><code>#define mx_vector_append1(mxvect, dat)</code></a>
  494. <p>
  495. <p><b>Append 1 element (bitwise copy)</b><p>
  496. This macro makes a bitwise copy of a single data element and appends
  497. the copy onto an existing MX_VECTOR object. The size of the vector is expanded
  498. to hold the new data elements.
  499. (<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>)
  500. <p></li>
  501. <li>
  502. <a name="define mx_vector_append(mxvect, dat, n)"><code>#define mx_vector_append(mxvect, dat, n)</code></a>
  503. <p>
  504. <p><b>Append a number of elements (bitwise copy)</b><p>
  505. This macro makes a bitwise copy of a number of data elements and appends the copies
  506. onto an existing MX_VECTOR object. More than one data element can be appended at once.
  507. If necessary the size of the vector is expanded to hold the new data elements.
  508. (<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>)
  509. <p></li>
  510. <li>
  511. <a name="define mx_vector_insert1(mxvect, dat, ind)"><code>#define mx_vector_insert1(mxvect, dat, ind)</code></a>
  512. <p>
  513. <p><b>Insert 1 element (bitwise copy)</b><p>
  514. This macro makes a bitwise copy of one data element and inserts the
  515. copy into an existing MX_VECTOR object. If necessary the size of the vector
  516. is expanded to hold the new data element.
  517. (<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>)
  518. <p></li>
  519. <li>
  520. <a name="define mx_vector_insert(mxvect, dat, n, ind)"><code>#define mx_vector_insert(mxvect, dat, n, ind)</code></a>
  521. <p>
  522. <p><b>Insert a number of elements (bitwise copy)</b><p>
  523. This macro makes a bitwise copy of a number of data elements and inserts the
  524. copies into an existing MX_VECTOR object at sepcific indicies. More than one data
  525. element can be inserted at once. If necessary the size of the vector is expanded
  526. to hold the new data elements.
  527. (<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>)
  528. <p></li>
  529. <li>
  530. <a name="define mx_vector_remove_last(mxvect)"><code>#define mx_vector_remove_last(mxvect)</code></a>
  531. <p>
  532. <p><b>Remove last element</b><p>
  533. This macro removes only the last object from a vector. The size of the MX_VECTOR
  534. is reduced by one.
  535. (<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>)
  536. <p></li>
  537. <li>
  538. <a name="define mx_iter(x,y)"><code>#define mx_iter(x,y)</code></a>
  539. <p>
  540. <p><b>Get an iterator to a given position on the screen </b><p>
  541. (<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>)
  542. <p></li>
  543. <li>
  544. <a name="define mx_getpixel(x,y)"><code>#define mx_getpixel(x,y)</code></a>
  545. <p>
  546. <p><b>Return the pixel at a given position on the screen </b><p>
  547. (<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>)
  548. <p></li>
  549. <li>
  550. <a name="define mx_pixel(x,y,c)"><code>#define mx_pixel(x,y,c)</code></a>
  551. <p>
  552. <p><b>Draw a pixel on the screen </b><p>
  553. (<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>)
  554. <p></li>
  555. <li>
  556. <a name="define mx_vline(x,y1,y2,c)"><code>#define mx_vline(x,y1,y2,c)</code></a>
  557. <p>
  558. <p><b>Draw a vertical line on the screen </b><p>
  559. (<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>)
  560. <p></li>
  561. <li>
  562. <a name="define mx_hline(x1,y,x2,c)"><code>#define mx_hline(x1,y,x2,c)</code></a>
  563. <p>
  564. <p><b>Draw a horizontal line on the screen </b><p>
  565. (<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>)
  566. <p></li>
  567. <li>
  568. <a name="define mx_line(x1,y1,x2,y2,c)"><code>#define mx_line(x1,y1,x2,y2,c)</code></a>
  569. <p>
  570. <p><b>Draw a line on the screen </b><p>
  571. (<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>)
  572. <p></li>
  573. <li>
  574. <a name="define mx_rectfill(x1,y1,x2,y2,c)"><code>#define mx_rectfill(x1,y1,x2,y2,c)</code></a>
  575. <p>
  576. <p><b>Draw a filled rectangle on the screen </b><p>
  577. (<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>)
  578. <p></li>
  579. <li>
  580. <a name="define mx_clear(c)"><code>#define mx_clear(c)</code></a>
  581. <p>
  582. <p><b>Clear the screen to a solid color </b><p>
  583. (<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>)
  584. <p></li>
  585. <li>
  586. <a name="define mx_blit(s,sx,sy,dx,dy,w,h)"><code>#define mx_blit(s,sx,sy,dx,dy,w,h)</code></a>
  587. <p>
  588. <p><b>Blit a bitmap onto the screen</b><p>
  589. This function uses the pixel transparency of the source bitmap
  590. (<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>)
  591. <p></li>
  592. <li>
  593. <a name="define mx_blitcopy(s,sx,sy,dx,dy,w,h)"><code>#define mx_blitcopy(s,sx,sy,dx,dy,w,h)</code></a>
  594. <p>
  595. <p><b>Blit a bitmap onto the screen</b><p>
  596. This function uses no transparency
  597. (<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>)
  598. <p></li>
  599. <li>
  600. <a name="define mx_blittrans(s,sx,sy,dx,dy,w,h,t)"><code>#define mx_blittrans(s,sx,sy,dx,dy,w,h,t)</code></a>
  601. <p>
  602. <p><b>Blit a bitmap onto the screen</b><p>
  603. This function uses the a single transparency level
  604. (<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>)
  605. <p></li>
  606. <li>
  607. <a name="define mx_blitstretch(s,sx,sy,sw,sh,dx,dy,dw,dh)"><code>#define mx_blitstretch(s,sx,sy,sw,sh,dx,dy,dw,dh)</code></a>
  608. <p>
  609. <p><b>Stretch-blit a bitmap onto the screen</b><p>
  610. This function uses the pixel transparency of the source bitmap
  611. (<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>)
  612. <p></li>
  613. <li>
  614. <a name="define mx_box(x1,y1,x2,y2,w,l,d)"><code>#define mx_box(x1,y1,x2,y2,w,l,d)</code></a>
  615. <p>
  616. <p><b>Draw a box on the screen </b><p>
  617. (<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>)
  618. <p></li>
  619. <li>
  620. <a name="define mx_frame(x1,y1,x2,y2,w,l,d,f)"><code>#define mx_frame(x1,y1,x2,y2,w,l,d,f)</code></a>
  621. <p>
  622. <p><b>Draw a frame on the screen </b><p>
  623. (<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>)
  624. <p></li>
  625. <li>
  626. <a name="define mx_decorate(s,x,y,x1,y1,x2,y2)"><code>#define mx_decorate(s,x,y,x1,y1,x2,y2)</code></a>
  627. <p>
  628. <p><b>Blitting function for drawing gui objects on the screen </b><p>
  629. (<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>)
  630. <p></li>
  631. <li>
  632. <a name="define MXRGB(r, g, b)"><code>#define MXRGB(r, g, b)</code></a>
  633. <p>
  634. <p><b>Construct a pixel out of a r, g, b </b><p>
  635. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  636. <p></li>
  637. <li>
  638. <a name="define MXRGBT(r, g, b, a)"><code>#define MXRGBT(r, g, b, a)</code></a>
  639. <p>
  640. <p><b>Construct a pixel out of a r, g, b and transparency </b><p>
  641. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  642. <p></li>
  643. <li>
  644. <a name="define MXT(c)"><code>#define MXT(c)</code></a>
  645. <p>
  646. <p><b>The transparency of a pixel </b><p>
  647. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  648. <p></li>
  649. <li>
  650. <a name="define MXR(c)"><code>#define MXR(c)</code></a>
  651. <p>
  652. <p><b>Red component of a pixel </b><p>
  653. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  654. <p></li>
  655. <li>
  656. <a name="define MXG(c)"><code>#define MXG(c)</code></a>
  657. <p>
  658. <p><b>Green component of a pixel </b><p>
  659. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  660. <p></li>
  661. <li>
  662. <a name="define MXB(c)"><code>#define MXB(c)</code></a>
  663. <p>
  664. <p><b>Blue component of a pixel </b><p>
  665. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  666. <p></li>
  667. <li>
  668. <a name="define MXTRANS(c, a)"><code>#define MXTRANS(c, a)</code></a>
  669. <p>
  670. <p><b>Set pixel transparency </b><p>
  671. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  672. <p></li>
  673. <li>
  674. <a name="define MXBLENDT(c1, c2, a1)"><code>#define MXBLENDT(c1, c2, a1)</code></a>
  675. <p>
  676. <p><b>Blend two pixels with transparency </b><p>
  677. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  678. <p></li>
  679. <li>
  680. <a name="define MXBLEND(c1, c2)"><code>#define MXBLEND(c1, c2)</code></a>
  681. <p>
  682. <p><b>Blend two pixels using the transparency component of the first pixel. </b><p>
  683. (<a href="../include/degfx/colors.h">../include/degfx/colors.h</a>)<br>(library <a href="degfx.htm">degfx</a> : module <a href="degfx_colors.htm">colors</a>)
  684. <p></li>
  685. <li>
  686. <a name="define mx_font_draw(f,t,l,x,y,fore)"><code>#define mx_font_draw(f,t,l,x,y,fore)</code></a>
  687. <p>
  688. <p><b>Draw text onto the screen </b><p>
  689. (<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>)
  690. <p></li>
  691. <li>
  692. <a name="define mx_font_drawblock(f,t,l,x,y,fore)"><code>#define mx_font_drawblock(f,t,l,x,y,fore)</code></a>
  693. <p>
  694. <p><b>Draw a block of text onto the screen </b><p>
  695. (<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>)
  696. <p></li>
  697. <li>
  698. <a name=" define mx_alert(id)"><code># define mx_alert(id)</code></a>
  699. <p>
  700. <p><b>Create a basic alert window. </b><p>
  701. (<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>)
  702. <p></li>
  703. <li>
  704. <a name=" define mx_event(o,t,d,l)"><code># define mx_event(o,t,d,l)</code></a>
  705. <p>
  706. <p><b>Send an event</b><p>
  707. This macro sends an event to an object.
  708. (<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>)
  709. <p></li>
  710. <li>
  711. <a name=" define mx_eventmatch(e,o)"><code># define mx_eventmatch(e,o)</code></a>
  712. <p>
  713. <p><b>Check if two events match with type and destination</b><p>
  714. This macro is useful in window event handler to recognize events for
  715. different objects.
  716. (<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>)
  717. <p></li>
  718. <li>
  719. <a name=" define mx_dirty(o,c)"><code># define mx_dirty(o,c)</code></a>
  720. <p>
  721. <p><b>Mark an object for later redraw</b><p>
  722. This macro marks an object derived from MX_OBJ and optionally its
  723. children as for later redraw.
  724. (<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>)
  725. <p></li>
  726. <li>
  727. <a name=" define MXOBJ(o)"><code># define MXOBJ(o)</code></a>
  728. <p>
  729. <p><b>Convert to base MX_OBJ class </b><p>
  730. (<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>)
  731. <p></li>
  732. <li>
  733. <a name=" define MXID(o)"><code># define MXID(o)</code></a>
  734. <p>
  735. <p><b>Get an objects ID number</b><p>
  736. This macro returns the id number associated with an object.
  737. (<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>)
  738. <p></li>
  739. <li>
  740. <a name=" define MXCLASS(o)"><code># define MXCLASS(o)</code></a>
  741. <p>
  742. <p><b>Return an objects class </b><p>
  743. (<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>)
  744. <p></li>
  745. <li>
  746. <a name=" define mx_x(o)"><code># define mx_x(o)</code></a>
  747. <p>
  748. <p><b>Return the X-coordinate of an MX_OBJ </b><p>
  749. (<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>)
  750. <p></li>
  751. <li>
  752. <a name=" define mx_y(o)"><code># define mx_y(o)</code></a>
  753. <p>
  754. <p><b>Return the Y-coordinate of an MX_OBJ </b><p>
  755. (<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>)
  756. <p></li>
  757. <li>
  758. <a name=" define mx_place(o,r)"><code># define mx_place(o,r)</code></a>
  759. <p>
  760. <p><b>Place an MX_OBJ at a given recyangle </b><p>
  761. (<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>)
  762. <p></li>
  763. <li>
  764. <a name=" define mx_position(o,x,y,w,h)"><code># define mx_position(o,x,y,w,h)</code></a>
  765. <p>
  766. <p><b>Position an MX_OBJ at given coordinates </b><p>
  767. (<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>)
  768. <p></li>
  769. <li>
  770. <a name=" define mx_move(o,x,y)"><code># define mx_move(o,x,y)</code></a>
  771. <p>
  772. <p><b>Move an MX_OBJ to a given poistion </b><p>
  773. (<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>)
  774. <p></li>
  775. <li>
  776. <a name=" define mx_resize(o,w,h)"><code># define mx_resize(o,w,h)</code></a>
  777. <p>
  778. <p><b>Resize an MX_OBJ to a given width and height </b><p>
  779. (<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>)
  780. <p></li>
  781. <li>
  782. <a name=" define mx_geometry(o)"><code># define mx_geometry(o)</code></a>
  783. <p>
  784. <p><b>Make an object check/correct its geometry</b><p>
  785. This macro causes a MX_GEOMETRY event to be sent to an object. The
  786. object should do any internal processing necessary so the object functions properly
  787. with the current poistion and size.
  788. (<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>)
  789. <p></li>
  790. <li>
  791. <a name=" define mx_defaultrect(o,r)"><code># define mx_defaultrect(o,r)</code></a>
  792. <p>
  793. <p><b>Find out what size/position and object wants to have</b><p>
  794. This macro causes a MX_DEFAULTRECT event to be sent to an object derived
  795. from MX_OBJ.
  796. (<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>)
  797. <p></li>
  798. <li>
  799. <a name=" define mx_layout(o,f,r,x,y)"><code># define mx_layout(o,f,r,x,y)</code></a>
  800. <p>
  801. <p><b>Set the layout of an MX_OBJ </b><p>
  802. (<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>)
  803. <p></li>
  804. <li>
  805. <a name=" define mx_armed(o)"><code># define mx_armed(o)</code></a>
  806. <p>
  807. <p><b>Return if an MX_OBJ is armed or not </b><p>
  808. (<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>)
  809. <p></li>
  810. <li>
  811. <a name=" define mx_selected(o)"><code># define mx_selected(o)</code></a>
  812. <p>
  813. <p><b>Return if an MX_OBJ is selected or not </b><p>
  814. (<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>)
  815. <p></li>
  816. <li>
  817. <a name=" define mx_select(o,s)"><code># define mx_select(o,s)</code></a>
  818. <p>
  819. <p><b>Select an MX_OBJ </b><p>
  820. (<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>)
  821. <p></li>
  822. <li>
  823. <a name=" define mx_disable(o,d)"><code># define mx_disable(o,d)</code></a>
  824. <p>
  825. <p><b>Disable an MXOBJ </b><p>
  826. (<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>)
  827. <p></li>
  828. <li>
  829. <a name=" define mx_disabled(o)"><code># define mx_disabled(o)</code></a>
  830. <p>
  831. <p><b>Return if a MX_OBJ is disabled or not </b><p>
  832. (<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>)
  833. <p></li>
  834. <li>
  835. <a name=" define mx_wantmove(o,w)"><code># define mx_wantmove(o,w)</code></a>
  836. <p>
  837. <p><b>Determine if an object recieves MX_POINTER_MOVE events </b><p>
  838. (<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>)
  839. <p></li>
  840. <li>
  841. <a name=" define mx_wantpointer(o,w)"><code># define mx_wantpointer(o,w)</code></a>
  842. <p>
  843. <p><b>Determine if an object will recieve MX_POINTER_* events </b><p>
  844. (<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>)
  845. <p></li>
  846. <li>
  847. <a name=" define mx_haspointer(o)"><code># define mx_haspointer(o)</code></a>
  848. <p>
  849. <p><b>Determine if an object has the pointer </b><p>
  850. (<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>)
  851. <p></li>
  852. <li>
  853. <a name=" define mx_wantfocus(o,w)"><code># define mx_wantfocus(o,w)</code></a>
  854. <p>
  855. <p><b>Determine if an object wants the focus or not</b><p>
  856. This function return non-zero if the focus was changed. In this case the
  857. object probaly needs to be marked as dirty.
  858. (<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>)
  859. <p></li>
  860. <li>
  861. <a name=" define mx_focused(o)"><code># define mx_focused(o)</code></a>
  862. <p>
  863. <p><b>Return if an MX_OBJ is focused or not </b><p>
  864. (<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>)
  865. <p></li>
  866. <li>
  867. <a name=" define mx_focus_default(o)"><code># define mx_focus_default(o)</code></a>
  868. <p>
  869. <p><b>Set a object to be the default focus object</b><p>
  870. This function returns non-zero if the object immediatly received the focus
  871. i.e. no other object has the focus at that moment.
  872. (<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>)
  873. <p></li>
  874. <li>
  875. <a name=" define mx_obj(o,c,s,p,i)"><code># define mx_obj(o,c,s,p,i)</code></a>
  876. <p>
  877. <p><b>Construct an MX_OBJ object </b><p>
  878. (<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>)
  879. <p></li>
  880. <li>
  881. <a name=" define MXTEXTUAL(o)"><code># define MXTEXTUAL(o)</code></a>
  882. <p>
  883. <p><b>Convert to MX_TEXTUAL base class </b><p>
  884. (<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>)
  885. <p></li>
  886. <li>
  887. <a name=" define mx_text_set(o,t,l,f)"><code># define mx_text_set(o,t,l,f)</code></a>
  888. <p>
  889. <p><b>Set the text of a MX_TEXTUAL object </b><p>
  890. (<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>)
  891. <p></li>
  892. <li>
  893. <a name=" define mx_text_setcopy(o,t,l)"><code># define mx_text_setcopy(o,t,l)</code></a>
  894. <p>
  895. <p><b>Set the text of a MX_TEXTUAL object to a copy of some text </b><p>
  896. (<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>)
  897. <p></li>
  898. <li>
  899. <a name=" define mx_text_font(o,f)"><code># define mx_text_font(o,f)</code></a>
  900. <p>
  901. <p><b>Set the font associated with the MX_TEXTUAL object </b><p>
  902. (<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>)
  903. <p></li>
  904. <li>
  905. <a name=" define mx_text(o,l)"><code># define mx_text(o,l)</code></a>
  906. <p>
  907. <p><b>Return the text of a MX_TEXTUAL object </b><p>
  908. (<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>)
  909. <p></li>
  910. <li>
  911. <a name=" define mx_text_align(o,a)"><code># define mx_text_align(o,a)</code></a>
  912. <p>
  913. <p><b>Set the alignment associated with the MX_TEXTUAL object </b><p>
  914. (<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>)
  915. <p></li>
  916. <li>
  917. <a name=" define mx_text_align_get(o)"><code># define mx_text_align_get(o)</code></a>
  918. <p>
  919. <p><b>Return the alignment associated with the MX_TEXTUAL object </b><p>
  920. (<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>)
  921. <p></li>
  922. <li>
  923. <a name=" define mx_textual(m,s,p,i)"><code># define mx_textual(m,s,p,i)</code></a>
  924. <p>
  925. <p><b>Construct a MX_TEXTUAL object </b><p>
  926. (<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>)
  927. <p></li>
  928. <li>
  929. <a name=" define MXBUTTON(o)"><code># define MXBUTTON(o)</code></a>
  930. <p>
  931. <p><b>Convert to MX_BUTTON base class </b><p>
  932. (<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>)
  933. <p></li>
  934. <li>
  935. <a name=" define mx_button(m,s,p,i)"><code># define mx_button(m,s,p,i)</code></a>
  936. <p>
  937. <p><b>Construct a button </b><p>
  938. (<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>)
  939. <p></li>
  940. <li>
  941. <a name=" define MXWIN(o)"><code># define MXWIN(o)</code></a>
  942. <p>
  943. <p><b>Convert to base MX_WIN class</b><p>
  944. This macro does a typesafe conversion between an object derived from MX_WINDOW
  945. and the underlying window.
  946. (<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>)
  947. <p></li>
  948. <li>
  949. <a name=" define mx_win(w,s,h,i)"><code># define mx_win(w,s,h,i)</code></a>
  950. <p>
  951. <p><b>Construct a standard window (and border) </b><p>
  952. (<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>)
  953. <p></li>
  954. <li>
  955. <a name=" define mx_basicwin(w,s,h,i)"><code># define mx_basicwin(w,s,h,i)</code></a>
  956. <p>
  957. <p><b>Construct a basic window (no boprder) </b><p>
  958. (<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>)
  959. <p></li>
  960. <li>
  961. <a name=" define mx_active(w)"><code># define mx_active(w)</code></a>
  962. <p>
  963. <p><b>Is window active?</b><p>
  964. This function returns non-zero if an object derivded from MX_WIN is the
  965. active window. This macro is just a wrapper for mx_win_active().
  966. (<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>)
  967. <p></li>
  968. <li>
  969. <a name=" define mx_win_dirty(w)"><code># define mx_win_dirty(w)</code></a>
  970. <p>
  971. <p><b>Mark a window for later redraw</b><p>
  972. This function marks a window and its border for redraw
  973. (<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>)
  974. <p></li>
  975. <li>
  976. <a name=" define mx_modal(w)"><code># define mx_modal(w)</code></a>
  977. <p>
  978. <p><b>Make a window modal</b><p>
  979. This macro marks a window as modal. This means that no interaction can take
  980. place with a parent window while a child modal window is open.
  981. (<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>)
  982. <p></li>
  983. <li>
  984. <a name=" define mx_winborder(b,s,o,i)"><code># define mx_winborder(b,s,o,i)</code></a>
  985. <p>
  986. <p><b>Create a border for a window </b><p>
  987. (<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>)
  988. <p></li>
  989. <li>
  990. <a name=" define mx_win_noresize(w,res)"><code># define mx_win_noresize(w,res)</code></a>
  991. <p>
  992. <p><b>Make a window resizeable/unresizable </b><p>
  993. (<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>)
  994. <p></li>
  995. <li>
  996. <a name=" define mx_win_noclose(w,res)"><code># define mx_win_noclose(w,res)</code></a>
  997. <p>
  998. <p><b>Make a window closeable/uncloseable </b><p>
  999. (<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>)
  1000. <p></li>
  1001. <li>
  1002. <a name=" define mx_win_nomove(w,res)"><code># define mx_win_nomove(w,res)</code></a>
  1003. <p>
  1004. <p><b>Make a window moveable/unmoveable </b><p>
  1005. (<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>)
  1006. <p></li>
  1007. <li>
  1008. <a name=" define mx_win_notitle(w,res)"><code># define mx_win_notitle(w,res)</code></a>
  1009. <p>
  1010. <p><b>Make a window have no title </b><p>
  1011. (<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>)
  1012. <p></li>
  1013. <li>
  1014. <a name=" define mx_win_rootchild(w)"><code># define mx_win_rootchild(w)</code></a>
  1015. <p>
  1016. <p><b>Make a window a child of the root window </b><p>
  1017. (<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>)
  1018. <p></li>
  1019. <li>
  1020. <a name=" define MXEDITTEXT(o)"><code># define MXEDITTEXT(o)</code></a>
  1021. <p>
  1022. <p><b>Convert to base MX_EDITTEXT object </b><p>
  1023. (<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>)
  1024. <p></li>
  1025. <li>
  1026. <a name=" define mx_edittext(m,s,p,i)"><code># define mx_edittext(m,s,p,i)</code></a>
  1027. <p>
  1028. <p><b>Create an editable text object</b><p>
  1029. This macro creates an editable textual object as a child of another object.
  1030. (<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>)
  1031. <p></li>
  1032. <li>
  1033. <a name=" define mx_edittext_zeroterminate(e)"><code># define mx_edittext_zeroterminate(e)</code></a>
  1034. <p>
  1035. <p><b>Force zero termination if internal string</b><p>
  1036. This function forces the editable text to be zero terminated.
  1037. (<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>)
  1038. <p></li>
  1039. <li>
  1040. <a name=" define mx_edittext_cursorpos(e,p)"><code># define mx_edittext_cursorpos(e,p)</code></a>
  1041. <p>
  1042. <p><b>Set cursor position</b><p>
  1043. This function sets the cursor position in the editable text.
  1044. (<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>)
  1045. <p></li>
  1046. <li>
  1047. <a name=" define mx_edittext_cursorscroll(e)"><code># define mx_edittext_cursorscroll(e)</code></a>
  1048. <p>
  1049. <p><b>Make the MX_EDITTEXT request a scroll to make the cursor visible </b><p>
  1050. (<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>)
  1051. <p></li>
  1052. <li>
  1053. <a name=" define mx_filesel(id)"><code># define mx_filesel(id)</code></a>
  1054. <p>
  1055. <p><b>Create a file selector window</b><p>
  1056. This macro creates a file selector with the given id number.
  1057. (<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>)
  1058. <p></li>
  1059. <li>
  1060. <a name=" define mx_fontsel(id)"><code># define mx_fontsel(id)</code></a>
  1061. <p>
  1062. <p><b>Create a font selector window</b><p>
  1063. This macro creates a font selector with the specified id number.
  1064. (<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>)
  1065. <p></li>
  1066. <li>
  1067. <a name=" define mx_gfxsel(id)"><code># define mx_gfxsel(id)</code></a>
  1068. <p>
  1069. <p><b>Create a graphics mode and theme selector. </b><p>
  1070. (<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>)
  1071. <p></li>
  1072. <li>
  1073. <a name=" define MXLISTELEM(o)"><code># define MXLISTELEM(o)</code></a>
  1074. <p>
  1075. <p><b>Convert to MX_LISTELEM base object </b><p>
  1076. (<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>)
  1077. <p></li>
  1078. <li>
  1079. <a name=" define mx_listelem(l,s,p,i)"><code># define mx_listelem(l,s,p,i)</code></a>
  1080. <p>
  1081. <p><b>Construct a list element </b><p>
  1082. (<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>)
  1083. <p></li>
  1084. <li>
  1085. <a name=" define MXLIST(o)"><code># define MXLIST(o)</code></a>
  1086. <p>
  1087. <p><b>Convert to MX_LIST base class </b><p>
  1088. (<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>)
  1089. <p></li>
  1090. <li>
  1091. <a name=" define mx_list(m,s,p,i)"><code># define mx_list(m,s,p,i)</code></a>
  1092. <p>
  1093. <p><b>Create a MX_LIST object </b><p>
  1094. (<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>)
  1095. <p></li>
  1096. <li>
  1097. <a name=" define mx_list_append(l,t,le,f,id)"><code># define mx_list_append(l,t,le,f,id)</code></a>
  1098. <p>
  1099. <p><b>Append list element from text </b><p>
  1100. (<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>)
  1101. <p></li>
  1102. <li>
  1103. <a name=" define mx_list_multiple(l,m)"><code># define mx_list_multiple(l,m)</code></a>
  1104. <p>
  1105. <p><b>Determine if a list allows multiple selected items </b><p>
  1106. (<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>)
  1107. <p></li>
  1108. <li>
  1109. <a name=" define mx_list_select_id(l,i,d)"><code># define mx_list_select_id(l,i,d)</code></a>
  1110. <p>
  1111. <p><b>Select list elements with a given ID number </b><p>
  1112. (<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>)
  1113. <p></li>
  1114. <li>
  1115. <a name=" define mx_list_selected(l,p)"><code># define mx_list_selected(l,p)</code></a>
  1116. <p>
  1117. <p><b>Return first selection in list </b><p>
  1118. (<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>)
  1119. <p></li>
  1120. <li>
  1121. <a name=" define mx_list_selected_id(l)"><code># define mx_list_selected_id(l)</code></a>
  1122. <p>
  1123. <p><b>Return the ID number of the first selection </b><p>
  1124. (<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>)
  1125. <p></li>
  1126. <li>
  1127. <a name=" define mx_list_first(l)"><code># define mx_list_first(l)</code></a>
  1128. <p>
  1129. <p><b>Return the first list element </b><p>
  1130. (<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>)
  1131. <p></li>
  1132. <li>
  1133. <a name=" define mx_list_last(l)"><code># define mx_list_last(l)</code></a>
  1134. <p>
  1135. <p><b>Return the last list element </b><p>
  1136. (<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>)
  1137. <p></li>
  1138. <li>
  1139. <a name=" define mx_list_empty(l)"><code># define mx_list_empty(l)</code></a>
  1140. <p>
  1141. <p><b>Remove all list elements </b><p>
  1142. (<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>)
  1143. <p></li>
  1144. <li>
  1145. <a name=" define mx_list_next(l)"><code># define mx_list_next(l)</code></a>
  1146. <p>
  1147. <p><b>Return the following list element </b><p>
  1148. (<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>)
  1149. <p></li>
  1150. <li>
  1151. <a name=" define mx_list_prev(l)"><code># define mx_list_prev(l)</code></a>
  1152. <p>
  1153. <p><b>Return the previous list element </b><p>
  1154. (<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>)
  1155. <p></li>
  1156. <li>
  1157. <a name=" define MXSCROLL(o)"><code># define MXSCROLL(o)</code></a>
  1158. <p>
  1159. <p><b>Convert to MX_SCROLL base object </b><p>
  1160. (<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>)
  1161. <p></li>
  1162. <li>
  1163. <a name=" define mx_scroll(s,si,p,i)"><code># define mx_scroll(s,si,p,i)</code></a>
  1164. <p>
  1165. <p><b>Create scrollable area</b><p>
  1166. This macro creates an scrollable area object as a child of another object.
  1167. (<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>)
  1168. <p></li>
  1169. <li>
  1170. <a name=" define mx_scroll_reset(s)"><code># define mx_scroll_reset(s)</code></a>
  1171. <p>
  1172. <p><b>Reset a MX_SCROLL area</b><p>
  1173. This macro resets the scroll area to the upper left corner.
  1174. (<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>)
  1175. <p></li>
  1176. <li>
  1177. <a name=" define MXSCROLL2(o)"><code># define MXSCROLL2(o)</code></a>
  1178. <p>
  1179. <p><b>Convert to MX_SCROLL2 base object </b><p>
  1180. (<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>)
  1181. <p></li>
  1182. <li>
  1183. <a name=" define MXSLIDER(o)"><code># define MXSLIDER(o)</code></a>
  1184. <p>
  1185. <p><b>Convert to MX_SLIDER base object </b><p>
  1186. (<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>)
  1187. <p></li>
  1188. <li>
  1189. <a name=" define mx_slider_set(s,r,si,v)"><code># define mx_slider_set(s,r,si,v)</code></a>
  1190. <p>
  1191. <p><b>Set the slider range size and value </b><p>
  1192. (<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>)
  1193. <p></li>
  1194. <li>
  1195. <a name=" define mx_slider_to(s,v)"><code># define mx_slider_to(s,v)</code></a>
  1196. <p>
  1197. <p><b>Move slider to a given position </b><p>
  1198. (<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>)
  1199. <p></li>
  1200. <li>
  1201. <a name=" define mx_slider_value(s)"><code># define mx_slider_value(s)</code></a>
  1202. <p>
  1203. <p><b>Return the slider value </b><p>
  1204. (<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>)
  1205. <p></li>
  1206. <li>
  1207. <a name=" define mx_vslider(s,si,p,i)"><code># define mx_vslider(s,si,p,i)</code></a>
  1208. <p>
  1209. <p><b>Create vertical slider</b><p>
  1210. This function creates a vertical slider as a child of another object.
  1211. (<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>)
  1212. <p></li>
  1213. <li>
  1214. <a name=" define mx_hslider(s,si,p,i)"><code># define mx_hslider(s,si,p,i)</code></a>
  1215. <p>
  1216. <p><b>Create horizontal slider</b><p>
  1217. This function creates a horozontal slider as a child of another object.
  1218. (<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>)
  1219. <p></li>
  1220. <li>
  1221. <a name=" define mx_texteditor(id)"><code># define mx_texteditor(id)</code></a>
  1222. <p>
  1223. <p><b>Create a text editor window. </b><p>
  1224. (<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>)
  1225. <p></li>
  1226. <li>
  1227. <a name=" define mx_themesel(id)"><code># define mx_themesel(id)</code></a>
  1228. <p>
  1229. <p><b>Create a theme selector window</b><p>
  1230. This macro creates a theme selector with the specified id number.
  1231. (<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>)
  1232. <p></li>
  1233. <li>
  1234. <a name="define MX_BITFIELD(a)"><code>#define MX_BITFIELD(a)</code></a>
  1235. <p>
  1236. <p><b>Portable bitfield</b><p>
  1237. A macro to define a bitfield variable.
  1238. (<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>)
  1239. <p></li>
  1240. </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
  1241. </body></html>