xforms.pp 105 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909
  1. {
  2. }
  3. Unit xforms;
  4. Interface
  5. {$linklib forms}
  6. {$linklib c}
  7. {$linklib m}
  8. uses
  9. x,xlib,xutil,xresource;
  10. const
  11. FL_VERSION=0;
  12. FL_REVISION=88;
  13. FL_FIXLEVEL=0;
  14. FL_INCLUDE_VERSION=FL_VERSION * 1000 + FL_REVISION;
  15. { some general constants }
  16. FL_ON = 1;
  17. FL_OK = 1;
  18. FL_VALID = 1;
  19. FL_PREEMPT = 1;
  20. FL_AUTO = 2;
  21. FL_WHEN_NEEDED = FL_AUTO;
  22. FL_OFF = 0;
  23. {FL_NONE = 0;}
  24. FL_CANCEL = 0;
  25. FL_INVALID = 0;
  26. FL_IGNORE = -1;
  27. FL_CLOSE = -2;
  28. {
  29. * The screen coordinate unit, FL_Coord, must be of signed type. Without
  30. * prototype support, a type other than integer might not work right.
  31. * If FL_Coord is float, FL_CoordIsFloat must be defined to be 1 so that
  32. * round-off error can be checked. **TODO Float not tested ***
  33. }
  34. Type PWord = ^Word;
  35. PDouble = ^Double;
  36. PFloat = ^Real;
  37. PLongint = ^Longint;
  38. PCardinal = ^Cardinal;
  39. type TFL_Coord = Longint ;
  40. PFL_Coord = ^TFL_Coord;
  41. { #define FL_CoordIsFloat 0 define this if FL_Coord is of type float }
  42. TFL_COLOR = longint; { Was cardinal }
  43. PFL_COLOR = ^TFL_COLOR;
  44. {
  45. * Coordinates can be in pixels, milli-meters or points (1/72inch)
  46. }
  47. TFL_COORD_UNIT=Longint ;
  48. { POssible values }
  49. Const
  50. FL_COORD_PIXEL=0; { default, Pixel }
  51. FL_COORD_MM=1; { milli-meter }
  52. FL_COORD_POINT=2; { point }
  53. FL_COORD_centiMM=3; { one hundredth of a mm }
  54. FL_COORD_centiPOINT=4; { one hundredth of a point }
  55. {
  56. * All object classes.
  57. }
  58. type TFL_Class = Longint;
  59. Const { Possible values }
  60. FL_INVALID_CLASS=0;
  61. FL_BUTTON=1;
  62. FL_LIGHTBUTTON=2;
  63. FL_ROUNDBUTTON=3;
  64. FL_ROUND_3DBUTTON=4;
  65. FL_CHECKBUTTON=5;
  66. FL_BITMAPBUTTON=6;
  67. FL_PIXMAPBUTTON=7;
  68. FL_BITMAP=8;
  69. FL_PIXMAP=9;
  70. FL_BOX=10;
  71. FL_TEXT=11;
  72. FL_MENU=12;
  73. FL_CHART=13;
  74. FL_CHOICE=14;
  75. FL_COUNTER=15;
  76. FL_SLIDER=16;
  77. FL_VALSLIDER=17;
  78. FL_INPUT=18;
  79. FL_BROWSER=19;
  80. FL_DIAL=21;
  81. FL_TIMER=21;
  82. FL_CLOCK=22;
  83. FL_POSITIONER=23;
  84. FL_FREE=24;
  85. FL_XYPLOT=25;
  86. FL_FRAME=26;
  87. FL_LABELFRAME=27;
  88. FL_CANVAS=28;
  89. FL_GLCANVAS=29;
  90. FL_TABFOLDER=30;
  91. FL_SCROLLBAR=31;
  92. FL_SCROLLBUTTON=32;
  93. FL_MENUBAR=33;
  94. FL_IMAGECANVAS=34;
  95. FL_TEXTBOX=35;
  96. { how to display a form onto screen }
  97. Type
  98. TFL_PLace = Longint;
  99. Const
  100. FL_PLACE_FREE = 0; { size remain resizable }
  101. FL_PLACE_MOUSE = 1; { mouse centered on form }
  102. FL_PLACE_CENTER = 2; { center of the screen }
  103. FL_PLACE_POSITION = 4; { specific size }
  104. FL_PLACE_SIZE = 8; { specific size }
  105. FL_PLACE_GEOMETRY = 16; { specific position }
  106. FL_PLACE_ASPECT = 32; { keep aspect ratio }
  107. FL_PLACE_FULLSCREEN = 64; { scale to fit screen }
  108. FL_PLACE_HOTSPOT = 128; { so mouse fall on (x,y) }
  109. FL_PLACE_ICONIC = 256;
  110. { modifier }
  111. FL_FREE_SIZE = 1 shl 14;
  112. FL_FIX_SIZE = 1 shl 15;
  113. FL_PLACE_FREE_CENTER = FL_PLACE_CENTER or FL_FREE_SIZE;
  114. FL_PLACE_CENTERFREE = FL_PLACE_CENTER or FL_FREE_SIZE;
  115. { Window manager decoration request }
  116. type
  117. TFL_DECORATION = Longint;
  118. Const { Possible values for FL_DECORATION }
  119. FL_FULLBORDER = 1; { normal }
  120. FL_TRANSIENT = 2; { set TRANSIENT_FOR property }
  121. FL_NOBORDER = 3; { use override_redirect to supress decor. }
  122. FL_MODAL = 1 << 8;
  123. type
  124. { All box types }
  125. TFL_BOX_TYPE = Longint;
  126. Const { Possible values }
  127. FL_NO_BOX=0;
  128. FL_UP_BOX=1;
  129. FL_DOWN_BOX=2;
  130. FL_BORDER_BOX=3;
  131. FL_SHADOW_BOX=4;
  132. FL_FRAME_BOX=5;
  133. FL_ROUNDED_BOX=6;
  134. FL_EMBOSSED_BOX=7;
  135. FL_FLAT_BOX=8;
  136. FL_RFLAT_BOX=9;
  137. FL_RSHADOW_BOX=10;
  138. FL_OVAL_BOX=11;
  139. FL_ROUNDED3D_UPBOX=12;
  140. FL_ROUNDED3D_DOWNBOX=13;
  141. FL_OVAL3D_UPBOX=14;
  142. FL_OVAL3D_DOWNBOX=15;
  143. FL_OVAL3D_FRAMEBOX=16;
  144. FL_OVAL3D_EMBOSSEDBOX=17;
  145. { Internal use only }
  146. FL_TOPTAB_UPBOX=18;
  147. FL_SELECTED_TOPTAB_UPBOX=19;
  148. FL_BOTTOMTAB_UPBOX=20;
  149. FL_SELECTED_BOTTOMTAB_UPBOX=21;
  150. FL_OSHADOW_BOX=22;
  151. { How to place text relative to a box }
  152. Type
  153. TFL_ALIGN = Longint;
  154. Const { Possible values for FL_ALIGN }
  155. FL_ALIGN_CENTER = 0;
  156. FL_ALIGN_TOP = 1;
  157. FL_ALIGN_BOTTOM = 2;
  158. FL_ALIGN_LEFT = 4;
  159. FL_ALIGN_RIGHT = 8;
  160. FL_ALIGN_TOP_LEFT = FL_ALIGN_TOP or FL_ALIGN_LEFT;
  161. FL_ALIGN_TOP_RIGHT = FL_ALIGN_TOP or FL_ALIGN_RIGHT;
  162. FL_ALIGN_BOTTOM_LEFT = FL_ALIGN_BOTTOM or FL_ALIGN_LEFT;
  163. FL_ALIGN_BOTTOM_RIGHT = FL_ALIGN_BOTTOM or FL_ALIGN_RIGHT;
  164. FL_ALIGN_INSIDE = (1 shl 13);
  165. FL_ALIGN_VERT = (1 shl 14); { not functional yet }
  166. FL_ALIGN_LEFT_TOP = FL_ALIGN_TOP_LEFT;
  167. FL_ALIGN_RIGHT_TOP = FL_ALIGN_TOP_RIGHT;
  168. FL_ALIGN_LEFT_BOTTOM = FL_ALIGN_BOTTOM_LEFT;
  169. FL_ALIGN_RIGHT_BOTTOM = FL_ALIGN_BOTTOM_RIGHT;
  170. { Mouse buttons }
  171. FL_MBUTTON1=1; FL_LEFT_MOUSE=FL_MBUTTON1;
  172. FL_MBUTTON2=2; FL_MIDDLE_MOUSE=FL_MBUTTON2;
  173. FL_MBUTTON3=3; FL_RIGHT_MOUSE=FL_MBUTTON3;
  174. FL_MBUTTON4=4;
  175. FL_MBUTTON5=5;
  176. { control when to reutrn input, slider and dial object. }
  177. FL_RETURN_END_CHANGED = 0;
  178. FL_RETURN_CHANGED = 1;
  179. FL_RETURN_END = 2;
  180. FL_RETURN_ALWAYS = 3;
  181. FL_RETURN_DBLCLICK = 4;
  182. {
  183. * Some special color indeces for FL private colormap. It does not matter
  184. * what the value of each enum is, but it must start from 0 and be
  185. * consecutive.
  186. }
  187. Type
  188. TFL_DP_COL = Longint;
  189. Const
  190. FL_BLACK = 0;
  191. FL_RED = 1;
  192. FL_GREEN = 2;
  193. FL_YELLOW = 3;
  194. FL_BLUE = 4;
  195. FL_MAGENTA = 5;
  196. FL_CYAN = 6;
  197. FL_WHITE = 7;
  198. FL_TOMATO = 8;
  199. FL_INDIANRED = 9;
  200. FL_SLATEBLUE = 10;
  201. FL_COL1 = 11;
  202. FL_RIGHT_BCOL = 12;
  203. FL_BOTTOM_BCOL = 13;
  204. FL_TOP_BCOL = 14;
  205. FL_LEFT_BCOL = 15;
  206. FL_MCOL = 16;
  207. FL_INACTIVE = 17;
  208. FL_PALEGREEN = 18;
  209. FL_DARKGOLD = 19;
  210. FL_ORCHID = 20;
  211. FL_DARKCYAN = 21;
  212. FL_DARKTOMATO = 22;
  213. FL_WHEAT = 23;
  214. FL_DARKORANGE = 24;
  215. FL_DEEPPINK = 25;
  216. FL_CHARTREUSE = 26;
  217. FL_DARKVIOLET = 27;
  218. FL_SPRINGGREEN = 28;
  219. FL_DOGERBLUE = 29;
  220. FL_FREE_COL1 = 256;
  221. FL_FREE_COL2 = 257;
  222. FL_FREE_COL3 = 258;
  223. FL_FREE_COL4 = 259;
  224. FL_FREE_COL5 = 260;
  225. FL_FREE_COL6 = 261;
  226. FL_FREE_COL7 = 262;
  227. FL_FREE_COL8 = 263;
  228. FL_FREE_COL9 = 264;
  229. FL_FREE_COL10 = 265;
  230. FL_FREE_COL11 = 266;
  231. FL_FREE_COL12 = 267;
  232. FL_FREE_COL13 = 268;
  233. FL_FREE_COL14 = 269;
  234. FL_FREE_COL15 = 270;
  235. FL_FREE_COL16 = 271;
  236. FL_BUILT_IN_COLS = FL_DOGERBLUE+1;
  237. FL_INACTIVE_COL = FL_INACTIVE;
  238. { Some aliases for the color. This is actually backwards ... }
  239. Const
  240. FL_GRAY16=FL_RIGHT_BCOL;
  241. FL_GRAY35 = FL_BOTTOM_BCOL;
  242. FL_GRAY80 = FL_TOP_BCOL;
  243. FL_GRAY90 = FL_LEFT_BCOL;
  244. FL_GRAY63 = FL_COL1;
  245. FL_GRAY75 = FL_MCOL;
  246. FL_LCOL = FL_BLACK;
  247. {
  248. * Pop-up menu item attributes. NOTE if more than 8, need to change
  249. * choice and menu class where mode is kept by a single byte
  250. }
  251. FL_PUP_NONE = 0;
  252. FL_PUP_GREY = 1;
  253. FL_PUP_BOX = 2;
  254. FL_PUP_CHECK = 4;
  255. FL_PUP_RADIO = 8;
  256. FL_PUP_GRAY = FL_PUP_GREY;
  257. FL_PUP_TOGGLE = FL_PUP_BOX;
  258. FL_PUP_INACTIVE = FL_PUP_GREY;
  259. type
  260. TFL_PUP_CB = Procedure (p1 : Longint); { call back prototype } cdecl;
  261. PFL_PUP_CB = ^TFL_PUP_CB;
  262. TFL_PUP_ENTRY = record
  263. TheText : pchar; { label of a popup/menu item }
  264. CallBack : PFL_PUP_CB; { the callback function }
  265. shortcut : pchar; { hotkeys }
  266. mode : longint; { FL_PUP_GRAY, FL_PUP_CHECK etc }
  267. end;
  268. PFL_PUP_ENTRY = ^TFL_PUP_ENTRY;
  269. TFL_MENU_ENTRY = TFL_PUP_ENTRY;
  270. PFL_MENU_ENTRY = ^TFL_MENU_ENTRY;
  271. { Events that a form reacts to. }
  272. type TFL_EVENT = Longint;
  273. Const { Possible values }
  274. FL_NOEVENT = 0;
  275. FL_DRAW = 1;
  276. FL_PUSH = 2;
  277. FL_RELEASE = 3;
  278. FL_ENTER = 4;
  279. FL_LEAVE = 5;
  280. FL_MOUSE = 6;
  281. FL_FOCUS = 7;
  282. FL_UNFOCUS = 8;
  283. FL_KEYBOARD = 9;
  284. FL_MOTION = 10;
  285. FL_STEP = 11;
  286. FL_SHORTCUT = 12;
  287. FL_FREEMEM = 13;
  288. FL_OTHER = 14; { property, selection etc }
  289. FL_DRAWLABEL = 15;
  290. FL_DBLCLICK = 16; { double click }
  291. FL_TRPLCLICK = 17; { triple click }
  292. FL_PS = 18; { dump a form into EPS }
  293. const
  294. FL_MOVE=FL_MOTION; { for compatibility }
  295. { Resize policies }
  296. type TFL_RESIZE_T = Longint;
  297. const
  298. FL_RESIZE_NONE = 0;
  299. FL_RESIZE_X = 1;
  300. FL_RESIZE_Y = 2;
  301. const
  302. FL_RESIZE_ALL = FL_RESIZE_X or FL_RESIZE_Y;
  303. { Keyboard focus control }
  304. type
  305. TFL_KEY = Longint;
  306. Const { Possible values for FL_KEY_Normal }
  307. FL_KEY_NORMAL = 1; { normal keys(0-255) - tab +left/right }
  308. FL_KEY_TAB = 2; { normal keys + 4 direction cursor }
  309. FL_KEY_SPECIAL = 4; { only needs special keys(>255) }
  310. FL_KEY_ALL = 7; { all keys }
  311. FL_ALT_VAL = (1 shl 17); { alt + Key --> FL_ALT_VAL + key }
  312. { Internal use }
  313. Type
  314. TFL_FIND = Longint;
  315. Const
  316. FL_FIND_INPUT =0;
  317. FL_FIND_AUTOMATIC =1;
  318. FL_FIND_MOUSE =2;
  319. FL_FIND_CANVAS =3;
  320. FL_FIND_KEYSPECIAL =4;
  321. {******************************************************************
  322. * FONTS
  323. *****************************************************************}
  324. Const FL_MAXFONTS=32; { max number of fonts }
  325. type TFL_TEXT_STYLE = Longint;
  326. Const
  327. FL_INVALID_STYLE = -1;
  328. FL_NORMAL_STYLE = 0;
  329. FL_BOLD_STYLE = 1;
  330. FL_ITALIC_STYLE = 2;
  331. FL_BOLDITALIC_STYLE = 3;
  332. FL_FIXED_STYLE = 4;
  333. FL_FIXEDBOLD_STYLE = 5;
  334. FL_FIXEDITALIC_STYLE = 6;
  335. FL_FIXEDBOLDITALIC_STYLE = 7;
  336. FL_TIMES_STYLE = 8;
  337. FL_TIMESBOLD_STYLE = 9;
  338. FL_TIMESITALIC_STYLE = 10;
  339. FL_TIMESBOLDITALIC_STYLE = 11;
  340. { The following are derived and must differ by multiples of SHADOW,
  341. i.e., (FL_ENGRAVED%SHADOW) == 0. All being 2^n has the benefit that
  342. (lstyle | FL_SHADOW) == (lstyle + FL_SHADOW). }
  343. Const
  344. FL_SHADOW_STYLE = (1 shl 9);
  345. FL_ENGRAVED_STYLE = (1 shl 10);
  346. FL_EMBOSSED_STYLE = (1 shl 11);
  347. Type TFL_FONT_STYLE= TFL_TEXT_STYLE;
  348. { Standard sizes in XForms }
  349. Const
  350. FL_TINY_SIZE = 8;
  351. FL_SMALL_SIZE = 10;
  352. FL_NORMAL_SIZE = 12;
  353. FL_MEDIUM_SIZE = 14;
  354. FL_LARGE_SIZE = 18;
  355. FL_HUGE_SIZE = 24;
  356. FL_DEFAULT_SIZE = FL_SMALL_SIZE;
  357. { Defines for compatibility }
  358. FL_TINY_FONT = FL_TINY_SIZE;
  359. FL_SMALL_FONT = FL_SMALL_SIZE;
  360. FL_NORMAL_FONT= FL_NORMAL_SIZE;
  361. FL_MEDIUM_FONT= FL_MEDIUM_SIZE;
  362. FL_LARGE_FONT = FL_LARGE_SIZE;
  363. FL_HUGE_FONT = FL_HUGE_SIZE;
  364. FL_NORMAL_FONT1 = FL_SMALL_FONT;
  365. FL_NORMAL_FONT2 = FL_NORMAL_FONT;
  366. FL_DEFAULT_FONT = FL_SMALL_FONT;
  367. const
  368. FL_BOUND_WIDTH = 3; { Border width of boxes }
  369. cFL_BEGIN_GROUP = 10000;
  370. cFL_END_GROUP = 20000;
  371. {
  372. * Definition of basic struct that holds an object
  373. }
  374. FL_CLICK_TIMEOUT = 350; { double click interval }
  375. Type
  376. TFL_pixmap = record
  377. thepixmap : Tpixmap;
  378. Thewin : TWindow;
  379. TheVisual : TVisual;
  380. x,y : TFL_Coord;
  381. w, h : word;
  382. depth : Longint;
  383. dbl_background : TFL_COLOR;
  384. pixel : TFL_COLOR;
  385. end;
  386. Pform = ^TForm;
  387. {Pfl_pixmap = ^fl_pixmap;
  388. }
  389. Pflobjs = ^Tflobjs;
  390. THandle = Function (p1 : Pflobjs; p2 : Longint ; p3 : TFL_Coord; p4 : TFL_Coord;p5 : Longint ; p6 : pointer) : Longint; cdecl;
  391. PHandle = ^THandle;
  392. TObject_Callback = Procedure (P1 : Pflobjs;p2 : longint); cdecl;
  393. PObject_Callback = ^TObject_Callback;
  394. Tflobjs = record
  395. form : PForm; { the form this object belong }
  396. u_vdata : Pointer;
  397. u_cdata : Pchar;
  398. u_ldata : longint;
  399. objclass : Longint ; { class of object, button, slider etc }
  400. thetype : Longint; { type within the class }
  401. boxtype : Longint ; { what kind of box type }
  402. x, y, w, h : TFL_Coord; { obj. location and size }
  403. bw : TFL_Coord;
  404. col1, col2 : TFL_color; { colors of obj }
  405. thelabel : pchar; { object label }
  406. lcol : TFL_COLOR; { label color }
  407. align : Longint;
  408. lsize, lstyle : Longint; { label size and style }
  409. shortcut : ^Longint;
  410. handle : PHandle;
  411. object_callback : PObject_Callback;
  412. argument : Longint;
  413. spec : pointer; { instantiation }
  414. prehandle : PHandle;
  415. posthandle : PHandle;
  416. { re-configure preference }
  417. resize : cardinal; { what to do if WM resizes the FORM }
  418. nwgravity : cardinal; { how to re-position top-left corner }
  419. segravity : cardinal; { how to re-position lower-right corner }
  420. parent,child,nc : Pflobjs;
  421. ischild : longint;
  422. prev : pflobjs; { prev. obj in form }
  423. next : pflobjs; { next. obj in form }
  424. flpixmap : Pointer; { pixmap double buffering stateinfo }
  425. use_pixmap : Longint; { true to use pixmap double buffering }
  426. double_buffer : Longint; { only used by mesa/gl canvas }
  427. { some interaction flags }
  428. pushed: Longint ;
  429. focus: Longint ;
  430. belowmouse: Longint ;
  431. active: Longint ; { if accept event }
  432. input: Longint ;
  433. wantkey: Longint ;
  434. radio: Longint ;
  435. automatic: Longint ;
  436. redraw: Longint ;
  437. visible: Longint ;
  438. clip: Longint ;
  439. click_timeout : cardinal;
  440. c_vdata : pointer; { for class use }
  441. c_cdata : pchar; { For class use }
  442. c_ldata : longint; { for class use }
  443. cspec_size : cardinal;
  444. aux_col1, aux_col2 : TFL_COLOR;
  445. dbl_background : TFL_COLOR;
  446. how_return : longint;
  447. reserved : array[0..5] of cardinal;
  448. { the following are for application programs }
  449. end;
  450. TFL_OBJECT = TFlobjs;
  451. PFL_OBJECT = ^TFL_OBJECT;
  452. TCallback = Procedure (P1 : pflobjs; P2 : pointer); cdecl;
  453. PCallback = ^TCallback;
  454. { callback function for an entire form }
  455. PFL_FORMCALLBACKPTR = PCallback;
  456. { object callback function }
  457. PFL_CALLBACKPTR = PCallBack;
  458. { preemptive callback function }
  459. PFL_RAW_CALLBACK = PCallback;
  460. { at close (WM menu delete/close etc.) }
  461. PFL_FORM_ATCLOSE = PCallback;
  462. { deactivate/activate callback }
  463. PFL_FORM_ATDEACTIVATE = PCallback;
  464. PFL_FORM_ATACTIVATE = PCallback;
  465. THandlePtr = Procedure ( p1 : PFL_Object; p2 : Longint; p3,p4 : TFL_COORD; p5 : Longint; p6 : pointer); cdecl;
  466. PHandlePTR = ^THandlePTR;
  467. PFL_HANDLEPTR = PHandlePTR;
  468. {
  469. extern FL_OBJECT *FL_EVENT;
  470. }
  471. {** FORM ***}
  472. PFL_FORM = ^TFL_FORM;
  473. Tform = record
  474. fdui : Pointer;
  475. u_vdata : pointer; { for application }
  476. u_cdata : pchar;
  477. u_ldata : longint;
  478. thelabel : pchar; { window title }
  479. window : cardinal; { X resource ID for window }
  480. x, y, w, h : TFL_COORD; { current geometry info }
  481. hotx, hoty : TFL_COORD; { hot-spot of the form }
  482. first,last,focusobj : pflobjs;
  483. form_callback : PFL_FORMCALLBACKPTR;
  484. activate_callback : PFL_FORM_ATACTIVATE;
  485. deactivate_callback: PFL_FORM_ATDEACTIVATE ;
  486. form_cb_data, activate_data, deactivate_data : pointer;
  487. key_callback,
  488. push_callback,
  489. crossing_callback,
  490. motion_callback,
  491. all_callback: PFL_RAW_CALLBACK ;
  492. compress_mask : cardinal;
  493. evmask : cardinal;
  494. { WM_DELETE_WINDOW message handler }
  495. close_callback : PFL_FORM_ATCLOSE ;
  496. close_data : pointer;
  497. flpixmap : pointer; { back buffer }
  498. icon_pixmap : cardinal;
  499. icon_mask : cardinal;
  500. { interaction and other flags }
  501. vmode : Longint ; { current X visual class }
  502. deactivated : Longint ; { true if sensitive }
  503. use_pixmap : Longint ; { true if dbl buffering }
  504. frozen : Longint ; { true if sync change }
  505. visible : Longint ; { true if mapped }
  506. wm_border : Longint ; { window manager info }
  507. prop : cardinal; { other attributes }
  508. has_auto : Longint ;
  509. top : Longint ;
  510. sort_of_modal : Longint;
  511. parent, child : PFL_FORM;
  512. parent_obj : PFL_OBJECT;
  513. reserved : array[0..9] of Longint;
  514. end;
  515. TFL_FORM = Tform;
  516. TFD_Any = record
  517. form : PFL_FORM;
  518. vdata : Pointer;
  519. cdata : pchar;
  520. ldata : longint;
  521. end;
  522. PFD_ANY = ^TFD_ANY;
  523. {
  524. * Async IO stuff
  525. }
  526. const
  527. FL_READ = 1;
  528. FL_WRITE = 2;
  529. FL_EXCEPT = 4;
  530. { IO other than XEvent Q }
  531. Type
  532. TFL_IO_CALLBACK = Procedure (p1 :Longint ;p2 : pointer); cdecl;
  533. PFL_IO_CALLBACK = ^TFL_IO_CALLBACK;
  534. { function definitions }
  535. Procedure fl_add_io_callback(p1 : Longint ; p2 : word; p3 : PFL_IO_CALLBACK; p4 : pointer); cdecl;external;
  536. Procedure fl_remove_io_callback(p1 : Longint ;p2 : word; p3 : PFL_IO_CALLBACK); cdecl;external;
  537. { signals }
  538. type
  539. TFL_SIGNAL_HANDLER = Procedure (p1 : Longint ; p2 : pointer); cdecl;
  540. PFL_SIGNAL_HANDLER = ^TFL_SIGNAL_HANDLER ;
  541. Procedure fl_add_signal_callback(p1 : LongInt;p2 : PFL_SIGNAL_HANDLER;p3 : pointer); cdecl;external;
  542. Procedure fl_remove_signal_callback(p1 : Longint ); cdecl;external;
  543. Procedure fl_signal_caught(p1 :Longint ); cdecl;external;
  544. Procedure fl_app_signal_direct(p1 : Longint ); cdecl;external;
  545. Function fl_add_timeout (p1 : longint;p2 : PFL_SIGNAL_HANDLER;p3 : pointer) : longint; cdecl;external;
  546. Procedure fl_remove_timeout(p1 : Longint); cdecl;external;
  547. { Some utility stuff }
  548. type
  549. TFL_VN_PAIR = record
  550. val : Longint;
  551. name : Pchar;
  552. end;
  553. PFL_VN_PAIR = ^TFL_VN_PAIR;
  554. Function fl_get_vn_value (p1 : PFL_VN_PAIR; p2 : pchar) : Longint; cdecl;external;
  555. Function fl_get_vn_name (p1 : PFL_VN_PAIR; p2 : Longint ) : Pchar; cdecl;external;
  556. Function fl_msleep (p1 : cardinal) : cardinal; cdecl;external;
  557. {
  558. * Basic public routine prototypes
  559. }
  560. Procedure fl_library_version(p1,p2 : pointer ); cdecl;external;
  561. {* Generic routines that deal with FORMS *}
  562. Function fl_bgn_form(P1 : Longint ; P2,p3 : TFL_Coord) : PFL_Form; cdecl;external;
  563. Procedure fl_end_form; cdecl;external;
  564. Function fl_do_forms : PFL_OBJECT ; cdecl;external;
  565. Function fl_check_forms : PFL_OBJECT; cdecl;external;
  566. Function fl_do_only_forms : PFL_OBJECT; cdecl;external;
  567. Function fl_check_only_forms : PFL_OBJECT; cdecl;external;
  568. Procedure fl_freeze_form(P1 : PFL_FORM); cdecl;external;
  569. Procedure fl_set_focus_object( P1 : PFL_FORM;p2 : PFL_OBJECT); cdecl;external;
  570. Procedure fl_reset_focus_object( p1 : PFL_OBJECT); cdecl;external;
  571. {
  572. #define fl_set_object_focus fl_set_focus_object
  573. }
  574. Function fl_set_form_atclose(p1 : PFL_FORM; p2 : PFL_FORM_ATCLOSE; p3 : pointer) : PFL_FORM_ATCLOSE ; cdecl;external;
  575. Function fl_set_atclose(p1 : PFL_FORM_ATCLOSE; p2: pointer) : PFL_FORM_ATCLOSE ; cdecl;external;
  576. Function fl_set_form_atactivate(p1 : PFL_FORM; P2 : PFL_FORM_ATACTIVATE; P3 : pointer) : PFL_FORM_ATACTIVATE ; cdecl;external;
  577. Function fl_set_form_atdeactivate(p1 : PFL_FORM;p2 : PFL_FORM_ATDEACTIVATE;p3 : pointer) : PFL_FORM_ATDEACTIVATE ; cdecl;external;
  578. Procedure fl_unfreeze_form (p1 : PFL_FORM); cdecl;external;
  579. Procedure fl_deactivate_form(p1 : PFL_FORM); cdecl;external;
  580. Procedure fl_activate_form(p1 : PFL_FORM); cdecl;external;
  581. Procedure fl_deactivate_all_forms; cdecl;external;
  582. Procedure fl_activate_all_forms; cdecl;external;
  583. Procedure fl_freeze_all_forms; cdecl;external;
  584. Procedure fl_unfreeze_all_forms; cdecl;external;
  585. Procedure fl_scale_form(p1 : PFL_FORM;p2,p3 : double); cdecl;external;
  586. Procedure fl_set_form_position(p1 : PFL_FORM; p2,p3 : TFL_Coord); cdecl;external;
  587. Procedure fl_set_form_title(p1 : PFL_FORM; p2 : pchar); cdecl;external;
  588. Procedure fl_set_form_property(p1 : PFL_FORM; p2 : word); cdecl;external;
  589. Procedure fl_set_app_mainform( p1 : PFL_FORM); cdecl;external;
  590. Function fl_get_app_mainform : PFL_FORM; cdecl;external;
  591. Procedure fl_set_app_nomainform(P1 : Longint ); cdecl;external;
  592. Procedure fl_set_form_callback(p1 : PFL_FORM; P2 : PFL_FORMCALLBACKPTR; P3 : pointer); cdecl;external;
  593. {
  594. #define fl_set_form_call_back fl_set_form_callback
  595. }
  596. Procedure fl_set_form_size(p1 : PFL_FORM; p2,p3 : TFL_Coord); cdecl;external;
  597. Procedure fl_set_form_hotspot(p1 : PFL_FORM; p2,p3 : TFL_Coord); cdecl;external;
  598. Procedure fl_set_form_hotobject(p1 : PFL_FORM; p2 : PFL_OBJECT); cdecl;external;
  599. Procedure fl_set_form_minsize(p1 : PFL_FORM ; p2,p3 :TFL_Coord); cdecl;external;
  600. Procedure fl_set_form_maxsize(p1 : PFL_FORM; p2,p3 :TFL_Coord); cdecl;external;
  601. Procedure fl_set_form_event_cmask(p1 : PFL_FORM; p2 : cardinal); cdecl;external;
  602. Function fl_get_form_event_cmask(p1 : PFL_FORM) : cardinal; cdecl;external;
  603. Procedure fl_set_form_geometry(p1 : PFL_FORM; p2,p3,p4,p5 : TFL_Coord); cdecl;external;
  604. {
  605. #define fl_set_initial_placement fl_set_form_geometry
  606. }
  607. Function fl_show_form (p1 : PFL_FORM; p2,p3 : Longint ; p4 : pchar) : Longint; cdecl;external;
  608. Procedure fl_hide_form(p1 : PFL_FORM); cdecl;external;
  609. Procedure fl_free_form(p1 : PFL_FORM); cdecl;external;
  610. Procedure fl_redraw_form(p1 : PFL_FORM); cdecl;external;
  611. Procedure fl_set_form_dblbuffer(p1 : PFL_FORM; p2 : Longint ); cdecl;external;
  612. Procedure fl_prepare_form_window(p1 : PFL_FORM; p2,p3 : Longint ; p4 : pchar); cdecl;external;
  613. Procedure fl_show_form_window(p1 : PFL_FORM); cdecl;external;
  614. Function fl_adjust_form_size(p1 : PFL_FORM) : double; cdecl;external;
  615. Function fl_form_is_visibe (p1 : PFL_FORM) : Longint; cdecl;external;
  616. Function fl_register_raw_callback(p1 : PFL_FORM; p2 : cardinal; P3 : PFL_RAW_CALLBACK): PFL_RAW_CALLBACK; cdecl;external;
  617. {
  618. #define fl_register_call_back fl_register_raw_callback
  619. }
  620. Function fl_bgn_group : PFL_OBJECT; cdecl;external;
  621. Function fl_end_group : PFL_OBJECT; cdecl;external;
  622. Procedure fl_addto_group (p1 : PFL_OBJECT); cdecl;external;
  623. {***** Routines that deal with FL_OBJECTS *******}
  624. Procedure fl_set_object_boxtype(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  625. Procedure fl_set_object_bw(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  626. Procedure fl_set_object_resize(p1 : PFL_OBJECT; p2 : word); cdecl;external;
  627. Procedure fl_set_object_gravity(p1 : PFL_OBJECT; p2,p3 : word ); cdecl;external;
  628. Procedure fl_set_object_lsize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  629. Procedure fl_set_object_lstyle(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  630. Procedure fl_set_object_lcol(p1 : PFL_OBJECT; p2 : TFL_COLOR); cdecl;external;
  631. Procedure fl_set_object_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  632. Procedure fl_set_object_lalign(p1 : PFL_OBJECT; p2 : Longint ); { to be removed } cdecl;external;
  633. Procedure fl_set_object_shortcut(p1 : PFL_OBJECT; p2 : pchar;p3 : Longint ); cdecl;external;
  634. Procedure fl_set_object_shortcutkey(p1 : PFL_OBJECT; p2 : word); cdecl;external;
  635. Procedure fl_set_object_dblbuffer(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  636. Procedure fl_set_object_color(p1 : PFL_OBJECT; p2 : TFL_COLOR;p3 : TFL_COLOR); cdecl;external;
  637. Procedure fl_set_object_label(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  638. Procedure fl_set_object_position(p1 : PFL_OBJECT; p2,p3 :TFL_Coord); cdecl;external;
  639. Procedure fl_set_object_size(p1 : PFL_OBJECT; p2,p3 :TFL_Coord); cdecl;external;
  640. Procedure fl_set_object_automatic(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  641. Procedure fl_draw_object_label(p1 : PFL_OBJECT); cdecl;external;
  642. Procedure fl_draw_object_label_outside(p1 : PFL_OBJECT); cdecl;external;
  643. Function fl_get_object_component(p1 : PFL_OBJECT; p2,p3,p4 : Longint): PFL_OBJECT; cdecl;external;
  644. {
  645. #define fl_set_object_dblclick(p1 : ob; p2 : timeout) (p1 : ob)->click_timeout = (p1 : timeout); p3 :p2 :
  646. }
  647. Procedure fl_set_object_geometry(p1 : PFL_OBJECT; p2,p3,p4,p5 :TFL_Coord); cdecl;external;
  648. Procedure fl_fit_object_label(p1 : PFL_OBJECT; p2,p3 :TFL_Coord); cdecl;external;
  649. { no much get (p1 : yet ?) }
  650. Procedure fl_get_object_geometry(p1 : PFL_OBJECT; p2,p3,p4,p5 : PFL_Coord ); cdecl;external;
  651. Procedure fl_get_object_position(p1 : PFL_OBJECT; p2,p3 :PFL_COORD); cdecl;external;
  652. { this one takes into account the label }
  653. Procedure fl_get_object_bbox (p1 : PFL_OBJECT; p2,p3,p4,p5 : PFL_COORD); cdecl;external;
  654. Procedure fl_call_object_callback(p1 : PFL_OBJECT); cdecl;external;
  655. Function fl_set_object_prehandler(p1 : PFL_OBJECT; p2 : PFL_HANDLEPTR) : PFL_HANDLEPTR ; cdecl;external;
  656. Function fl_set_object_posthandler(p1 : PFL_OBJECT; p2 : PFL_HANDLEPTR): PFL_HANDLEPTR ; cdecl;external;
  657. Function fl_set_object_callback(p1 : PFL_OBJECT; p2 : PFL_CALLBACKPTR; p3 :longint) : PFL_CALLBACKPTR ; cdecl;external;
  658. {
  659. #define fl_set_object_align fl_set_object_lalign
  660. #define fl_set_call_back fl_set_object_callback
  661. }
  662. Procedure fl_redraw_object(p1 : PFL_OBJECT); cdecl;external;
  663. Procedure fl_scale_object(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  664. Procedure fl_show_object(p1 : PFL_OBJECT); cdecl;external;
  665. Procedure fl_hide_object(p1 : PFL_OBJECT); cdecl;external;
  666. Procedure fl_free_object(p1 : PFL_OBJECT); cdecl;external;
  667. Procedure fl_delete_object(p1 : PFL_OBJECT); cdecl;external;
  668. Procedure fl_trigger_object(p1 : PFL_OBJECT); cdecl;external;
  669. Procedure fl_activate_object(p1 : PFL_OBJECT); cdecl;external;
  670. Procedure fl_deactivate_object(p1 : PFL_OBJECT); cdecl;external;
  671. Type TFL_ENUMERATEPTR = Procedure (p : pchar); cdecl;
  672. PFL_ENUMERATEPTR = ^TFL_ENUMERATEPTR;
  673. Procedure fl_enumerate_fonts (p1 : PFL_ENUMERATEPTR; p2 : longint); cdecl;external;
  674. Function fl_set_font_name(p1 : Longint ; p2 : pchar) : longint; cdecl;external;
  675. Procedure fl_set_font(p1 : Longint ; p2 : Longint ); cdecl;external;
  676. { routines that facilitate free object }
  677. Function fl_get_char_height(p1,p2 : Longint ; p3,p4 : pointer) : Longint ; cdecl;external;
  678. Function fl_get_char_width(p1,p2 : Longint ) : Longint; cdecl;external;
  679. Function fl_get_string_height(p1 : Longint ; p2 : Longint ; p3 : pchar; p4 : Longint ; p5,p6 : pointer) : Longint ; cdecl;external;
  680. Function fl_get_string_width(p1 : Longint ; p2 : Longint ; p3 : pchar; p4 : Longint ) : Longint ; cdecl;external;
  681. Function fl_get_string_widthTAB(p1 : Longint ; p2 : Longint ; p3 : pchar; p4 : Longint ) : Longint ; cdecl;external;
  682. Function fl_get_string_dimension(p1 : Longint ; p2 : Longint ; p3 : pchar; p4 : Longint ; p5,p6 : pointer) : Longint ; cdecl;external;
  683. {
  684. #define fl_get_string_size fl_get_string_dimension
  685. }
  686. Procedure fl_get_align_xy(p1,p2,p3,p4,p5,p6,p7,p8,p9 : Longint ; p10,p11 : pointer); cdecl;external;
  687. Procedure fl_drw_text(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 : TFL_COLOR; p7,p8 : Longint ; p9 : pchar); cdecl;external;
  688. Procedure fl_drw_text_beside(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 : TFL_COLOR; p7,p8 : Longint ; p9 : pchar); cdecl;external;
  689. {
  690. #define fl_draw_text(p1 : a; p2 : x;y;w;h;c;st;sz;s) \
  691. (p1 : (p1 : (p1 : a) & FL_ALIGN_INSIDE) ? fl_drw_text:fl_drw_text_beside)\
  692. (p1 : a; p2 : x;y;w;h;c;st;sz;s)
  693. }
  694. Procedure fl_drw_text_cursor(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6,p7,p8: Longint ; p9 : Pchar; p10,p11: Longint ); cdecl;external;
  695. Procedure fl_drw_box(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 : TFL_COLOR; p7 : Longint ); cdecl;external;
  696. type
  697. FL_DRAWPTR = Procedure (p1,p2,p3,p4 : TFL_Coord; p5 : Longint ;p6: TFL_COLOR); cdecl;
  698. PFL_DRAWPTR = ^FL_DRAWPTR;
  699. Function fl_add_symbol(p1 : pchar; p2 : PFL_DRAWPTR; p3 :Longint ) : Longint ; cdecl;external;
  700. Function fl_draw_symbol(p1 : pchar; p2,p3,p4,p5 : TFL_Coord;p6 : TFL_COLOR) : Longint ; cdecl;external;
  701. const
  702. FL_SLIDER_NONE = 0;
  703. FL_SLIDER_BOX = 1;
  704. FL_SLIDER_KNOB = 2;
  705. FL_SLIDER_UP = 4;
  706. FL_SLIDER_DOWN = 8;
  707. FL_SLIDER_ALL = 15;
  708. Procedure fl_drw_slider (p1 :longint; p2,p3,P4,p5 : TFL_COORD; p6,p7 : TFL_COLOR;
  709. p8 : Longint; p9,p10 : double; P11 : pchar; p12,p13,p14 : Longint);cdecl;external;
  710. Function fl_mapcolor(p1 : TFL_COLOR; p2,p3,p4 : Longint ) : cardinal; cdecl;external;
  711. Function fl_mapcolorname(p1 : TFL_COLOR; p2 : pchar) : longint; cdecl;external;
  712. {
  713. #define fl_mapcolor_name fl_mapcolorname
  714. }
  715. Function fl_getmcolor(p1 : TFL_COLOR; p2,p3,p4 : pointer) : cardinal; cdecl;external;
  716. Procedure fl_free_colors(p1 : PFL_COLOR; p2 : Longint ); cdecl;external;
  717. Procedure fl_free_pixels(p1 : pcardinal; p2 : Longint ); cdecl;external;
  718. Procedure fl_set_color_leak(p1 : Longint ); cdecl;external;
  719. Function fl_get_pixel(p1 : TFL_COLOR): cardinal; cdecl;external;
  720. {
  721. #define fl_get_flcolor fl_get_pixel
  722. }
  723. Procedure fl_get_icm_color(p1 : TFL_COLOR; p2,p3,p4 : pointer); cdecl;external;
  724. Procedure fl_set_icm_color(p1 : TFL_COLOR; p2,p3,p4 : Longint ); cdecl;external;
  725. Procedure fl_color(p1 : TFL_COLOR); cdecl;external;
  726. Procedure fl_bk_color(p1 : TFL_COLOR); cdecl;external;
  727. Procedure fl_textcolor(p1 : TFL_COLOR); cdecl;external;
  728. Procedure fl_bk_textcolor(p1 : TFL_COLOR); cdecl;external;
  729. Procedure fl_set_gamma(p1,p2,p3 :double); cdecl;external;
  730. Procedure fl_show_errors(p1 : Longint ); cdecl;external;
  731. { Some macros }
  732. {
  733. #define FL_max(p1 : a; p2 : b) (p1 : (p1 : a) > (p1 : b) ? (p1 : a):(p1 : b) )
  734. #define FL_min(p1 : a; p2 : b) (p1 : (p1 : a) < (p1 : b) ? (p1 : a):(p1 : b) )
  735. #define FL_abs(p1 : a) (p1 : (p1 : a) > 0 ? (p1 : a):(p1 : -(p1 : a)))
  736. #define FL_nint(p1 : a) (p1 : (p1 : a) > 0 ? (p1 : (p1 : a) + 0.5):(p1 : (p1 : a) - 0.5))
  737. }
  738. type TFL_FSCB = Function (p1 : pchar; p2 : pointer) : Longint; cdecl;
  739. PFL_FSCB = ^TFL_FSCB;
  740. { utilities for new objects }
  741. var fl_current_form : PFL_FORM; cvar;external;
  742. Procedure fl_add_object(p1 : PFL_FORM; p2 : PFL_OBJECT); cdecl;external;
  743. Procedure fl_addto_form(p1 : PFL_FORM); cdecl;external;
  744. Function fl_make_object(p1 : Longint ; p2,p3,p4,p5,p6 : TFL_Coord; p7 : pchar; P8 : PFL_HANDLEPTR) : PFL_OBJECT; cdecl;external;
  745. Procedure fl_set_coordunit(p1 : Longint ); cdecl;external;
  746. Function fl_get_coordunit : Longint ; cdecl;external;
  747. Procedure fl_set_border_width(p1 : Longint ); cdecl;external;
  748. Function fl_get_border_width : Longint ; cdecl;external;
  749. Procedure fl_set_scrollbar_type (p1 :longint); cdecl;external;
  750. Procedure fl_flip_yorigin; cdecl;external;
  751. Procedure fl_ringbell ( p1 : longint); cdecl;external;
  752. Procedure fl_gettime (p1,p2 : Plongint); cdecl;external;
  753. Function fl_whoami : pchar; cdecl;external;
  754. Function fl_now : pchar; cdecl;external;
  755. Function fl_mouse_button : longint; cdecl;external;
  756. { this gives more flexibility for future changes }
  757. {
  758. #define fl_free free
  759. #define fl_malloc malloc
  760. #define fl_calloc calloc
  761. #define fl_realloc realloc
  762. }
  763. Const FL_MAX_MENU_CHOICE_ITEMS = 128;
  764. {
  765. *
  766. * X Window dependent stuff
  767. *
  768. }
  769. { Still need conversion !! }
  770. {
  771. #include <X11/Xatom.h>
  772. #include <X11/keysym.h>
  773. }
  774. Const
  775. FL_MINDEPTH = 1;
  776. { FL_xxx does not do anything anymore; but kept for compatibility }
  777. FL_illegalVisual = -1;
  778. FL_StaticGray = StaticGray;
  779. FL_GrayScale = GrayScale;
  780. FL_StaticColor = StaticColor;
  781. FL_PseudoColor = PseudoColor;
  782. FL_TrueColor = TrueColor;
  783. FL_DirectColor = DirectColor;
  784. FL_DefaultVisual = 10; { special request }
  785. FL_North = NorthGravity;
  786. FL_NorthEast = NorthEastGravity;
  787. FL_NorthWest = NorthWestGravity;
  788. FL_South = SouthGravity;
  789. FL_SouthEast = SouthEastGravity;
  790. FL_SouthWest = SouthWestGravity;
  791. FL_East = EastGravity;
  792. FL_West = WestGravity;
  793. FL_NoGravity = ForgetGravity;
  794. FL_ForgetGravity = ForgetGravity;
  795. {
  796. #define FL_is_gray(p1 : v) (p1 : v==GrayScale || v==StaticGray)
  797. #define FL_is_rgb(p1 : v) (p1 : v==TrueColor || v==DirectColor)
  798. }
  799. {
  800. * Internal colormap size. Not really very meaningful as fl_mapcolor
  801. * and company allow color "leakage"; that is; although only FL_MAX_COLS
  802. * are kept in the internal colormap; the server might have substantially
  803. * more colors allocated
  804. }
  805. FL_MAX_COLS = 1024;
  806. {
  807. * FL graphics state information. Some are redundant.
  808. }
  809. type
  810. TFL_STATE = record
  811. xvinfo : PXVisualInfo;
  812. cur_fnt : PXFontStruct; { current font in default GC }
  813. colormap : TColormap ; { colormap valid for xvinfo }
  814. trailblazer : TWindow ; { a valid window for xvinfo }
  815. vclass, depth, { visual class and color depth }
  816. rgb_bits, { primary color resolution }
  817. dithered, { true if dithered color }
  818. pcm : Longint; { true if colormap is not shared }
  819. gc : Array [0..16] of TGC; { working GC }
  820. textgc : array [0..16] of TGC; { GC used exclusively for text }
  821. dimmedGC : TGC; { A GC having a checkboard stipple }
  822. lut :array [0..FL_MAX_COLS] of cardinal; { secondary lookup table }
  823. rshift : word;
  824. rmask, rbits : Longint;
  825. gshift : word;
  826. gmask,gbits : Longint ;
  827. bshift : word;
  828. bmask, bbits : Longint ;
  829. end;
  830. PFL_State = ^TFL_State;
  831. {
  832. #define FL_State FL_STATE
  833. }
  834. {**** Global variables *****}
  835. Var
  836. fl_display : PDisplay;
  837. fl_screen : Longint;
  838. fl_root : TWindow; { root window }
  839. fl_vroot : TWindow; { virtual root window }
  840. fl_scrh : Longint;
  841. fl_scrw : Longint; { screen dimension in pixels }
  842. fl_vmode : Longint ;
  843. { current version only runs in single visual mode }
  844. {
  845. #define fl_get_vclass(p1 : ) fl_vmode
  846. #define fl_get_form_vclass(p1 : a) fl_vmode
  847. }
  848. {
  849. fl_state[] : PFL_State ;
  850. fl_ul_magic_char : pchar;
  851. }
  852. Function fl_mode_capable(p1,p2 : longint ) : longint; cdecl;external;
  853. {
  854. #define fl_default_win(p1 : ) (p1 : fl_state[fl_vmode].trailblazer)
  855. #define fl_default_window(p1 : ) (p1 : fl_state[fl_vmode].trailblazer)
  856. }
  857. {
  858. * All pixmaps used by FL_OBJECT to simulate double buffering have the
  859. * following entries in the structure. TFL_Coord x;y are used to shift
  860. * the origin of the drawing routines
  861. }
  862. { fonts related }
  863. Const
  864. FL_MAX_FONTSIZES=10;
  865. type
  866. FL_FONT = record
  867. fs : array[0..FL_MAX_FONTSIZES] of PXFontStruct; { cached fontstruct }
  868. size : array [0..FL_MAX_FONTSIZES] of byte; { cached sizes }
  869. nsize : byte; { cached so far }
  870. fname : Array[1..80] of char; { without size info }
  871. end;
  872. {
  873. * Some basic drawing routines
  874. }
  875. type TFL_POINT = TXPoint;
  876. PFL_Point = ^TFL_Point;
  877. TFL_RECT = TXRECTANGLE;
  878. PFL_RECT = ^TFL_RECT;
  879. { rectangles }
  880. Procedure fl_rectangle(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 : TFL_COLOR); cdecl;external;
  881. Procedure fl_rectbound(p1,p2,p3,p4 : TFL_Coord;p5 : TFL_COLOR); cdecl;external;
  882. Procedure fl_rectf(x,y,w,h : TFL_COORD;c : TFL_COLOR);
  883. Procedure fl_rect(x,y,w,h : TFL_COORD;c : TFL_COLOR);
  884. { rectangle with rounded-corners }
  885. Procedure fl_roundrectangle(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 :TFL_COLOR); cdecl;external;
  886. {
  887. #define fl_roundrectf(p1 : x; p2 : y;w;h;c) fl_roundrectangle(p1 : 1; p2 : x;y;w;h;c)
  888. #define fl_roundrect(p1 : x; p2 : y;w;h;c) fl_roundrectangle(p1 : 0; p2 : x;y;w;h;c)
  889. }
  890. { general polygon and polylines }
  891. Procedure fl_polygon(p1 : Longint ; p2 : PFL_POINT; p3 : Longint ; p4 : TFL_COLOR); cdecl;external;
  892. (*
  893. #define fl_polyf(p1 : p; p2 : n;c) fl_polygon(p1 : 1; p2 : p; p3 : n; p4 : c)
  894. #define fl_polyl(p1 : p; p2 : n;c) fl_polygon(p1 : 0; p2 : p; p3 : n; p4 : c)
  895. #define fl_polybound(p1 : p; p2 : n;c) do {fl_polyf(p1 : p; p2 : n;c);fl_polyl(p1 : p; p2 : n;FL_BLACK);}while(p1 : 0)
  896. *)
  897. Procedure fl_lines(p1 : TFL_POINT; p2 : Longint ; p3 :TFL_COLOR); cdecl;external;
  898. Procedure fl_line(p1,p2,p3,p4 : TFL_Coord; p5 : TFL_COLOR); cdecl;external;
  899. Procedure fl_point(p1,p2 : TFL_Coord; p3: TFL_COLOR); cdecl;external;
  900. Procedure fl_points(p1 : PFL_POINT; p2 : Longint; p3: TFL_COLOR); cdecl;external;
  901. {
  902. #define fl_simple_line fl_line
  903. }
  904. Procedure fl_dashedlinestyle(p1 : pchar; p2 : Longint ); cdecl;external;
  905. Procedure fl_drawmode(p1 : Longint ); cdecl;external;
  906. {
  907. #define fl_diagline(p1 : x; p2 : y;w;h;c) fl_line(p1 : x; p2 : y;(p1 : x)+(p1 : w)-1; p2 : (p1 : y)+(p1 : h)-1; p2 : c)
  908. }
  909. { line attributes }
  910. Const
  911. FL_SOLID = 0;
  912. FL_USERDASH = 1;
  913. FL_USERDOUBLEDASH = 2;
  914. FL_DOT = 3;
  915. FL_DOTDASH = 4;
  916. FL_DASH = 5;
  917. FL_LONGDASH = 6;
  918. Procedure fl_linewidth(p1 : Longint ); cdecl;external;
  919. Procedure fl_linestyle(p1 : Longint ); cdecl;external;
  920. Function fl_get_linewidth : longint; cdecl;external;
  921. Function fl_get_linestyle : longint; cdecl;external;
  922. {* ellipses *}
  923. Procedure fl_oval(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 : TFL_COLOR); cdecl;external;
  924. Procedure fl_ovalbound(p1,p2,p3,p4 : TFL_Coord; p5 : TFL_COLOR); cdecl;external;
  925. Procedure fl_ovalarc(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6,p7 : Longint; p8 : TFL_COLOR); cdecl;external;
  926. {
  927. #define fl_ovalf(p1 : x; p2 : y;w;h;c) fl_oval(p1 : 1; p2 : x;y;w;h;c)
  928. #define fl_ovall(p1 : x; p2 : y;w;h;c) fl_oval(p1 : 0; p2 : x;y;w;h;c)
  929. #define fl_oval_bound fl_ovalbound
  930. #define fl_circf(p1 : x; p2 : y;r;col) fl_oval(p1 : 1; p2 : (p1 : x)-(p1 : r); p2 : (p1 : y)-(p1 : r); p2 : 2*(p1 : r); p2 : 2*(p1 : r); p2 : col)
  931. #define fl_circ(p1 : x; p2 : y;r;col) fl_oval(p1 : 0; p2 : (p1 : x)-(p1 : r); p2 : (p1 : y)-(p1 : r); p2 : 2*(p1 : r); p2 : 2*(p1 : r); p2 : col)
  932. }
  933. { arcs }
  934. Procedure fl_pieslice(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6,p7 :Longint ; p8 : TFL_COLOR); cdecl;external;
  935. {
  936. #define fl_arcf(p1 : x; p2 : y;r;a1;a2;c) fl_pieslice(p1 : 1; p2 : (p1 : x)-(p1 : r); p2 : (p1 : y)-(p1 : r); p2 : \
  937. (p1 : 2*(p1 : r)); p2 : (p1 : 2*(p1 : r)); p2 : a1;a2;c)
  938. #define fl_arc(p1 : x; p2 : y;r;a1;a2;c) fl_pieslice(p1 : 0; p2 : (p1 : x)-(p1 : r); p2 : (p1 : y)-(p1 : r); p2 : \
  939. (p1 : 2*(p1 : r)); p2 : (p1 : 2*(p1 : r)); p2 : a1;a2;c)
  940. }
  941. { misc. stuff }
  942. Procedure fl_add_vertex(p1,p2 : TFL_Coord); cdecl;external;
  943. Procedure fl_add_float_vertex(p1,p2 : real); cdecl;external;
  944. Procedure fl_reset_vertex; cdecl;external;
  945. Procedure fl_endline; cdecl;external;
  946. Procedure fl_endpolygon; cdecl;external;
  947. Procedure fl_endclosedline; cdecl;external;
  948. {
  949. #define fl_bgnline fl_reset_vertex
  950. #define fl_bgnclosedline fl_reset_vertex
  951. #define fl_bgnpolygon fl_reset_vertex
  952. #define fl_v2s(p1 : v) fl_add_vertex(p1 : v[0]; p2 : v[1])
  953. #define fl_v2i(p1 : v) fl_add_vertex(p1 : v[0]; p2 : v[1])
  954. #define fl_v2f(p1 : v) fl_add_float_vertex(p1 : v[0]; p2 : v[1])
  955. #define fl_v2d(p1 : v) fl_add_float_vertex(p1 : v[0]; p2 : v[1])
  956. }
  957. { high level drawing routines }
  958. Procedure fl_drw_frame(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : TFL_COLOR; p7 : Longint ); cdecl;external;
  959. Procedure fl_drw_checkbox(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : TFL_COLOR;p7 : Longint ); cdecl;external;
  960. {
  961. * Interfaces
  962. }
  963. Function fl_get_fontstruct(p1,p2 : Longint ) : PXFontStruct; cdecl;external;
  964. {
  965. #define fl_get_font_struct fl_get_fontstruct
  966. #define fl_get_fntstruct fl_get_font_struct
  967. }
  968. Function fl_get_mouse(p1,p2 : PFL_COORD; p3 : pword) : TWindow; cdecl;external;
  969. Procedure fl_set_mouse(p1,p2 : TFL_Coord); cdecl;external;
  970. Function fl_get_win_mouse(p1 : TWindow; p2,p3 : PFL_COORD; p4 : pword) : TWindow; cdecl;external;
  971. Function fl_get_form_mouse(p1 : PFL_FORM; p2,p3 : PFL_COORD; p4 : pWord) : TWindow; cdecl;external;
  972. Function fl_win_to_form(p1 : TWindow) : PFL_form; cdecl;external;
  973. Procedure fl_set_form_icon(p1 : PFL_FORM; p2 : TPixmap; p3 :TPixmap); cdecl;external;
  974. {
  975. #define fl_raise_form(p1 : f) if(p1 : f->window) XRaiseWindow(p1 : fl_display; p2 : f->window)
  976. #define fl_lower_form(p1 : f) if(p1 : f->window) XLowerWindow(p1 : fl_display; p2 : f->window)
  977. }
  978. {
  979. #define fl_set_foreground(p1 : gc; p2 : c) XSetForeground(p1 : fl_display; p2 : gc;fl_get_pixel(p1 : c))
  980. #define fl_set_background(p1 : gc; p2 : c) XSetBackground(p1 : fl_display; p2 : gc;fl_get_pixel(p1 : c))
  981. }
  982. { General windowing support }
  983. Function fl_wincreate(p1 : pchar) : TWindow; cdecl;external;
  984. Function fl_winshow(p1 : TWindow) : TWindow; cdecl;external;
  985. Function fl_winopen(p1 : pchar) : TWindow; cdecl;external;
  986. Procedure fl_winhide(p1 : TWindow); cdecl;external;
  987. Procedure fl_winclose(p1 : TWindow); cdecl;external;
  988. Procedure fl_winset(p1 : TWindow); cdecl;external;
  989. Function fl_winget : Twindow; cdecl;external;
  990. Procedure fl_winresize(p1 : TWindow; p2,p3 :TFL_Coord); cdecl;external;
  991. Procedure fl_winmove(p1 : TWindow; p2,p3 :TFL_Coord); cdecl;external;
  992. Procedure fl_winreshape(p1 : TWindow; p2,p3,p4,p5 : TFL_Coord); cdecl;external;
  993. Procedure fl_winicon(p1 : TWindow; p2 : TPixmap; p3 :TPixmap); cdecl;external;
  994. Procedure fl_winbackground(p1 : TWindow; p2 : cardinal); cdecl;external;
  995. Procedure fl_winstepunit(p1 : TWindow; p2,p3 :TFL_Coord); cdecl;external;
  996. Procedure fl_winisvalid(p1 : TWindow); cdecl;external;
  997. Procedure fl_wintitle(p1 : TWindow; p2 : pchar); cdecl;external;
  998. Procedure fl_winposition(p1,p2 : TFL_Coord); cdecl;external;
  999. {
  1000. #define fl_pref_winposition fl_winposition
  1001. #define fl_win_background fl_winbackground
  1002. #define fl_set_winstepunit fl_winstepunit
  1003. }
  1004. Procedure fl_winminsize(p1 : TWindow; p2,p3 :TFL_Coord); cdecl;external;
  1005. Procedure fl_winmaxsize(p1 : TWindow; p2,p3 :TFL_Coord); cdecl;external;
  1006. Procedure fl_winaspect(p1 : TWindow; p2,p3 :TFL_Coord); cdecl;external;
  1007. Procedure fl_reset_winconstraints(p1 : TWindow); cdecl;external;
  1008. Procedure fl_winsize(p1,p2 : TFL_Coord); cdecl;external;
  1009. Procedure fl_initial_winsize(p1,p2 : TFL_Coord); cdecl;external;
  1010. {
  1011. #define fl_pref_winsize fl_winsize
  1012. }
  1013. Procedure fl_initial_winstate(p1 : Longint ); cdecl;external;
  1014. Function fl_create_colormap(p1 : PXVisualInfo; p2 : Longint ) : TColormap; cdecl;external;
  1015. Procedure fl_wingeometry(p1,p2,p3,p4 : TFL_Coord); cdecl;external;
  1016. {
  1017. #define fl_pref_wingeometry fl_wingeometry
  1018. }
  1019. Procedure fl_initial_wingeometry(p1,p2,p3,p4 : TFL_Coord); cdecl;external;
  1020. {
  1021. Procedure fl_noborder; cdecl;external;
  1022. Procedure fl_transient; cdecl;external;
  1023. }
  1024. Procedure fl_get_winsize(p1 : TWindow; p2,p3 :PFL_COORD); cdecl;external;
  1025. Procedure fl_get_winorigin(p1 : TWindow; p2,p3 :PFL_COORD); cdecl;external;
  1026. Procedure fl_get_wingeometry(p1 : TWindow; p2,p3,p4,p5 : PFL_COORD); cdecl;external;
  1027. { for compatibility }
  1028. {
  1029. #define fl_get_win_size fl_get_winsize
  1030. #define fl_get_win_origin fl_get_winorigin
  1031. #define fl_get_win_geometry fl_get_wingeometry
  1032. #define fl_initial_winposition fl_pref_winposition
  1033. #define fl_get_display(p1 : ) fl_display
  1034. #define FL_FormDisplay(p1 : form) fl_display
  1035. #define FL_ObjectDisplay(p1 : object) fl_display
  1036. }
  1037. { the window an object belongints }
  1038. Function FL_ObjWin ( P : PFL_Object) : TWindow;
  1039. {
  1040. #define FL_OBJECT_WID FL_ObjWin
  1041. }
  1042. { all registerable events; including Client Message }
  1043. const FL_ALL_EVENT = (KeyPressMask or KeyReleaseMask or
  1044. ButtonPressMask or ButtonReleaseMask or
  1045. EnterWindowMask or LeaveWindowMask or
  1046. ButtonMotionMask or PointerMotionMask);
  1047. { Timer related }
  1048. FL_TIMER_EVENT = $40000000;
  1049. Function fl_XNextEvent(p1 : PXEvent) : Longint; cdecl;external;
  1050. Function fl_XPeekEvent(p1 : PXEvent) : Longint; cdecl;external;
  1051. Function fl_XEventsQueued(p1 : Longint ) : Longint; cdecl;external;
  1052. Procedure fl_XPutBackEvent(p1 : PXEvent); cdecl;external;
  1053. Function fl_last_event : PXEvent ; cdecl;external;
  1054. type
  1055. TFL_APPEVENT_CB = Procedure (p1 : PXEvent; p2 : pointer); cdecl;
  1056. PFL_APPEVENT_CB = ^TFL_APPEVENT_CB;
  1057. Function fl_set_event_callback(p1 : PFL_APPEVENT_CB; p2 : pointer) : PFL_APPEVENT_CB ; cdecl;external;
  1058. Function fl_set_idle_callback(p1 : PFL_APPEVENT_CB; p2 : pointer) : PFL_APPEVENT_CB ; cdecl;external;
  1059. Function fl_addto_selected_xevent(p1 : TWindow; p2 : longint) : Cardinal; cdecl;external;
  1060. Function fl_remove_selected_xevent(p1 : TWindow; p2 : longint) : cardinal; cdecl;external;
  1061. {
  1062. #define fl_add_selected_xevent fl_addto_selected_xevent
  1063. }
  1064. {
  1065. * Group some WM stuff into a structure for easy maintainance
  1066. }
  1067. const
  1068. FL_WM_SHIFT = 1;
  1069. FL_WM_NORMAL = 2;
  1070. type TFL_WM_STUFF = record
  1071. rpx, rpy, { reparenting offset for full border }
  1072. trpx, trpy, { reparenting offset for transient }
  1073. bw, { additional border }
  1074. rep_method : Longint; { 1 for shifting; 2 for normal }
  1075. pos_request : word; { USPOSITION or PPOSITION }
  1076. end;
  1077. PFL_WM_STUFF = ^TFL_WM_STUFF;
  1078. Function fl_add_event_callback(p1 : TWindow; p2 : Longint ; p3 : PFL_APPEVENT_CB; p4 : pointer) : PFL_APPEVENT_CB ; cdecl;external;
  1079. Procedure fl_remove_event_callback(p1 : TWindow; p2 : Longint ); cdecl;external;
  1080. Procedure fl_activate_event_callbacks(p1 : TWindow); cdecl;external;
  1081. Function fl_print_xevent_name(p1 : pchar; p2 : PXEvent) : PXEvent; cdecl;external;
  1082. {
  1083. #define metakey_down(p1 : mask) (p1 : (p1 : mask) & Mod1Mask)
  1084. #define shiftkey_down(p1 : mask) (p1 : (p1 : mask) & ShiftMask)
  1085. #define controlkey_down(p1 : mask) (p1 : (p1 : mask) & ControlMask)
  1086. #define button_down(p1 : mask) (p1 : (p1 : (p1 : mask) & Button1Mask) || \
  1087. (p1 : (p1 : mask) & Button2Mask) || \
  1088. (p1 : (p1 : mask) & Button3Mask))
  1089. #define fl_keypressed fl_keysym_pressed
  1090. }
  1091. {***************** Resources **************}
  1092. { bool is Longint . FL_NONE is defined elsewhere }
  1093. const
  1094. FL_NONE = 0;
  1095. FL_SHORT = 10;
  1096. FL_BOOL = 11;
  1097. FL_INT = 12;
  1098. FL_LONG = 13;
  1099. FL_FLOAT = 14;
  1100. FL_STRING = 15;
  1101. Type TFL_RTYPE = Longint;
  1102. TFL_RESOURCE = record
  1103. res_name, { resource name }
  1104. res_class : Pchar; { resource class }
  1105. rtype : TFL_RTYPE; { FL_INT; FL_FLOAT; FL_BOOL;FL_STRING }
  1106. thevar : pointer; { address for the variable }
  1107. defval : pchar; { default setting in string form }
  1108. bytes : Longint { used only for strings }
  1109. end;
  1110. PFL_RESOURCE = ^TFL_RESOURCE;
  1111. Type
  1112. TFL_CMD_OPT = TXrmOptionDescRec;
  1113. PFL_CMD_OPT = ^TFL_CMD_OPT;
  1114. Function fl_initialize(p1 : pointer; p2 : ppchar; p3 :pchar; p4 : PFL_CMD_OPT; p5 : Longint ) : Pdisplay; cdecl;external;
  1115. Procedure fl_finish; cdecl;external;
  1116. { addfromhere }
  1117. Function fl_get_resource(p1 : pchar; p2 : pchar; p3 : TFL_RTYPE; p4 : pchar; p5 : pointer; p6 :Longint ) : pchar; cdecl;external;
  1118. Procedure fl_set_resource(p1 : pchar; p2 : pchar); cdecl;external;
  1119. Procedure fl_get_app_resources(p1 : PFL_resource; p2 : Longint ); cdecl;external;
  1120. Procedure fl_set_graphics_mode(p1 : Longint ; p2 : Longint ); cdecl;external;
  1121. Procedure fl_set_visualID(p1 : longint); cdecl;external;
  1122. Function fl_keysym_pressed(p1 : TKeySym) : Longint; cdecl;external;
  1123. {
  1124. #define buttonLabelSize buttonFontSize
  1125. #define sliderLabelSize sliderFontSize
  1126. #define inputLabelSize inputFontSize
  1127. }
  1128. { All Form control variables. Named closely as its resource name }
  1129. Type TFL_IOPT = record
  1130. rgamma, ggamma, bgamma : longint; { MUST BE FLOAT(single) !!! }
  1131. debug, sync,
  1132. depth, vclass, doubleBuffer,
  1133. ulPropWidth, ulThickness, { underline stuff }
  1134. buttonFontSize,
  1135. sliderFontSize,
  1136. inputFontSize,
  1137. browserFontSize,
  1138. menuFontSize,
  1139. choiceFontSize,
  1140. labelFontSize, { all other labels fonts }
  1141. pupFontSize, pupFontStyle, { font for pop-up menus }
  1142. privateColormap,
  1143. sharedColormap,
  1144. standardColormap,
  1145. ScrollBarType,
  1146. backingStore,
  1147. coordUnit,
  1148. borderWidth,
  1149. safe : Longint ;
  1150. rgbfile : pchar; { where RGB file is }
  1151. vname : array [0..23] of char;
  1152. end;
  1153. PFL_IOPT = ^TFL_IOPT;
  1154. Const
  1155. { program default masks }
  1156. FL_PDDepth = 1 shl 1 ;
  1157. FL_PDClass = 1 shl 2 ;
  1158. FL_PDDouble = 1 shl 3 ;
  1159. FL_PDSync = 1 shl 4 ;
  1160. FL_PDPrivateMap = 1 shl 5 ;
  1161. FL_PDLeftScrollBar = 1 shl 6 ;
  1162. FL_PDPupFontSize = 1 shl 7 ;
  1163. FL_PDButtonFontSize = 1 shl 8 ;
  1164. FL_PDInputFontSize = 1 shl 9 ;
  1165. FL_PDSliderFontSize = 1 shl 10 ;
  1166. FL_PDVisual = 1 shl 11 ;
  1167. FL_PDULThickness = 1 shl 12 ;
  1168. FL_PDULPropWidth = 1 shl 13 ;
  1169. FL_PDBS = 1 shl 14 ;
  1170. FL_PDCoordUnit = 1 shl 15 ;
  1171. FL_PDDebug = 1 shl 16 ;
  1172. FL_PDSharedMap = 1 shl 17 ;
  1173. FL_PDStandardMap = 1 shl 18 ;
  1174. FL_PDBorderWidth = 1 shl 19 ;
  1175. FL_PDSafe = 1 shl 20 ;
  1176. FL_PDMenuFontSize = 1 shl 21 ;
  1177. FL_PDBrowserFontSize = 1 shl 22 ;
  1178. FL_PDChoiceFontSize = 1 shl 23 ;
  1179. FL_PDLabelFontSize = 1 shl 24;
  1180. FL_PDButtonLabelSize = FL_PDButtonFontSize;
  1181. FL_PDSliderLabelSize = FL_PDSliderFontSize;
  1182. FL_PDInputLabelSize = FL_PDInputFontSize;
  1183. FL_PDButtonLabel = FL_PDButtonLabelSize;
  1184. Procedure fl_set_defaults(p1 : cardinal; p2 : PFL_IOPT); cdecl;external;
  1185. Procedure fl_set_tabstop(p1 : pchar); cdecl;external;
  1186. Procedure fl_get_defaults(p1 : PFL_IOPT); cdecl;external;
  1187. Function fl_get_visual_depth : Longint; cdecl;external;
  1188. Function fl_vclass_name(p1 : Longint ) : pchar; cdecl;external;
  1189. Function fl_vclass_val(p1 : pchar) : Longint ; cdecl;external;
  1190. Procedure fl_set_ul_property(p1 : Longint ; p2 : Longint ); cdecl;external;
  1191. Procedure fl_set_clipping(p1 : TFL_Coord; p2 : TFL_Coord; p3 : TFL_Coord; p4 : TFL_Coord); cdecl;external;
  1192. Procedure fl_set_gc_clipping(p1 : TGC; p2 : TFL_Coord; p3 : TFL_Coord; p4 : TFL_Coord; p5 : TFL_Coord); cdecl;external;
  1193. Procedure fl_unset_gc_clipping(p1 : TGC); cdecl;external;
  1194. Procedure fl_set_clippings(p1 : PFL_RECT; p2 : Longint ); cdecl;external;
  1195. Procedure fl_unset_clipping; cdecl;external;
  1196. Function fl_textgc : TGC; cdecl;external;
  1197. {
  1198. #define fl_set_text_clipping(p1 : a; p2 : b;c;d) fl_set_gc_clipping(p1 : fl_textgc; p2 : a;b;c;d)
  1199. #define fl_unset_text_clipping(p1 : ) fl_unset_gc_clipping(p1 : fl_textgc)
  1200. }
  1201. Const
  1202. FL_NORMAL_BITMAP = 0;
  1203. {**** Defaults ****}
  1204. FL_BITMAP_BOXTYPE =FL_NO_BOX;
  1205. FL_BITMAP_COL1 =FL_COL1; { background of bitmap }
  1206. FL_BITMAP_COL2 =FL_COL1; { not used currently }
  1207. FL_BITMAP_LCOL =FL_LCOL; { foreground of bitmap }
  1208. FL_BITMAP_ALIGN =FL_ALIGN_BOTTOM;
  1209. {**** Others ****}
  1210. {FL_BITMAP_MAXSIZE = 128*128;}
  1211. {**** Routines ****}
  1212. Function fl_create_bitmap(p1 : Longint ; p2 : TFL_Coord; p3 : TFL_Coord; p4 : TFL_Coord; p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1213. Function fl_add_bitmap(p1 : Longint ; p2 : TFL_Coord; p3 : TFL_Coord; p4 : TFL_Coord; p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1214. Procedure fl_set_bitmap_data(p1 : PFL_OBJECT; p2 : Longint ; p3 : Longint ; p4 : pointer); cdecl;external;
  1215. Procedure fl_set_bitmap_file(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1216. Function fl_read_bitmapfile(p1 : TWindow; p2 : pchar; p3,p4 : pword; p5,p6 : pointer) : TPixmap ; cdecl;external;
  1217. {
  1218. #define fl_create_from_bitmapdata(p1 : win; p2 : data; p3 : w; p4 : h)\
  1219. XCreateBitmapFromData(p1 : fl_get_display(p1 : ); p2 : win; p3 :\
  1220. (p1 : char *)data; p2 : w; p3 :h)
  1221. #define fl_set_bitmap_datafile fl_set_bitmap_file
  1222. }
  1223. { PIXMAP stuff }
  1224. Const
  1225. FL_NORMAL_PIXMAP = 0;
  1226. Function fl_create_pixmap(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 :pchar) : PFL_OBJECT; cdecl;external;
  1227. Function fl_add_pixmap(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1228. Procedure fl_set_pixmap_data(p1 : PFL_OBJECT; p2 : ppchar); cdecl;external;
  1229. Procedure fl_set_pixmap_file(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1230. Procedure fl_set_pixmap_align(p1 : PFL_OBJECT; p2 : Longint ; p3 : Longint ; p4 : Longint ); cdecl;external;
  1231. Procedure fl_set_pixmap_pixmap(p1 : PFL_OBJECT; p2 : TPixmap; p3 :TPixmap); cdecl;external;
  1232. Procedure fl_set_pixmap_colorcloseness(p1 : Longint ; p2 : Longint ; p3 :Longint ); cdecl;external;
  1233. Procedure fl_free_pixmap_pixmap(p1 : PFL_OBJECT); cdecl;external;
  1234. Function fl_get_pixmap_pixmap(p1 : PFL_OBJECT; p2 : PPixmap; p3 : PPixmap) : TPixmap ; cdecl;external;
  1235. Function fl_read_pixmapfile(p1 : TWindow; p2 : pchar;p3,p4 : pword; p5 : PPixmap;p6,p7 : pointer; p8 : TFL_COLOR) : TPixmap ; cdecl;external;
  1236. Function fl_create_from_pixmapdata(p1 : TWindow; p2 : ppchar;p3,p4 : pword; p5 : PPixmap;p6,p7 : pointer; p8 : TFL_COLOR) : TPixmap ; cdecl;external;
  1237. {
  1238. #define fl_free_pixmap(p1 : id) if(p1 : id != None) XFreePixmap(p1 : fl_display; p2 : id);
  1239. }
  1240. Function fl_create_box(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1241. Function fl_add_box(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1242. Type TFL_BROWSER_TYPE = Longint;
  1243. Const
  1244. FL_NORMAL_BROWSER = 0;
  1245. FL_SELECT_BROWSER = 1;
  1246. FL_HOLD_BROWSER = 2;
  1247. FL_MULTI_BROWSER = 3;
  1248. {**** Defaults ****}
  1249. FL_BROWSER_BOXTYPE = FL_DOWN_BOX;
  1250. FL_BROWSER_COL1 = FL_COL1;
  1251. FL_BROWSER_COL2 = FL_YELLOW;
  1252. FL_BROWSER_LCOL = FL_LCOL;
  1253. FL_BROWSER_ALIGN = FL_ALIGN_BOTTOM;
  1254. {**** Others ****}
  1255. FL_BROWSER_SLCOL = FL_COL1;
  1256. FL_BROWSER_LINELENGTH = 1024;
  1257. FL_BROWSER_FONTSIZE = FL_SMALL_FONT;
  1258. { as of .86
  1259. FL_SCROLLBAR_OFF = 0;
  1260. FL_SCROLLBAR_ON = 1;
  1261. FL_SCROLLBAR_ALWAYS_ON = 2;
  1262. }
  1263. {**** Routines ****}
  1264. Function fl_create_browser(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1265. Function fl_add_browser(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6: pchar) : PFL_OBJECT; cdecl;external;
  1266. Procedure fl_clear_browser(p1 : PFL_OBJECT); cdecl;external;
  1267. Procedure fl_add_browser_line(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1268. Procedure fl_addto_browser(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1269. Procedure fl_addto_browserchars(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1270. Procedure fl_insert_browser_line(p1 : PFL_OBJECT; p2 : Longint ; p3 :pchar); cdecl;external;
  1271. Procedure fl_delete_browser_line(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1272. Procedure fl_replace_browser_line(p1 : PFL_OBJECT; p2 : Longint ; p3 :pchar); cdecl;external;
  1273. Function fl_get_browser_line(p1 : PFL_OBJECT; p2 : Longint ) : pchar; cdecl;external;
  1274. Function fl_load_browser(p1 : PFL_OBJECT; p2 : pchar ) : Longint ; cdecl;external;
  1275. Procedure fl_select_browser_line(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1276. Procedure fl_deselect_browser_line(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1277. Procedure fl_deselect_browser(p1 : PFL_OBJECT); cdecl;external;
  1278. Function fl_isselected_browser_line(p1 : PFL_OBJECT; p2 : Longint ) : Longint ; cdecl;external;
  1279. Function fl_get_browser_topline(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1280. Function fl_get_browser(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1281. Function fl_get_browser_maxline(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1282. Function fl_get_browser_screenlines(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1283. Procedure fl_set_browser_topline(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1284. Procedure fl_set_browser_fontsize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1285. Procedure fl_set_browser_fontstyle(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1286. Procedure fl_set_browser_specialkey(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1287. Procedure fl_set_browser_vscrollbar(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1288. Procedure fl_set_browser_hscrollbar(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1289. Procedure fl_set_browser_leftslider(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1290. Procedure fl_set_browser_line_selectable(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ); cdecl;external;
  1291. Procedure fl_get_browser_dimension(p1 : PFL_OBJECT; p2,p3,p4,p5 : PFL_COORD); cdecl;external;
  1292. Procedure fl_set_browser_dblclick_callback(p1 : PFL_OBJECT; p2 : PFL_CALLBACKPTR; p3 :longint); cdecl;external;
  1293. {
  1294. #define fl_set_browser_leftscrollbar fl_set_browser_leftslider
  1295. }
  1296. Procedure fl_set_browser_xoffset(p1 : PFL_OBJECT; p2 : TFL_Coord); cdecl;external;
  1297. Procedure fl_set_browser_scrollbarsize (p1 : PFL_OBJECT;p2,p3 : longint); cdecl;external;
  1298. Procedure fl_show_browser_line(p1 : PFL_OBJECT; p2 : longint); cdecl;external;
  1299. Function fl_get_browser_xoffset(p1 : PFL_OBJECT) : TFL_Coord ; cdecl;external;
  1300. type
  1301. TFL_BUTTON_TYPE= Longint;
  1302. Const
  1303. FL_NORMAL_BUTTON = 0;
  1304. FL_PUSH_BUTTON = 1;
  1305. FL_RADIO_BUTTON = 2;
  1306. FL_HIDDEN_BUTTON = 3;
  1307. FL_TOUCH_BUTTON = 4;
  1308. FL_INOUT_BUTTON = 5;
  1309. FL_RETURN_BUTTON = 6;
  1310. FL_HIDDEN_RET_BUTTON= 7;
  1311. FL_MENU_BUTTON = 8;
  1312. type TFL_BUTTON_SPEC = record
  1313. pixmap,mask : TPixmap;
  1314. bits_w, bits_h : Cardinal;
  1315. val, { whether on }
  1316. mousebut, { mouse button that caused the push }
  1317. timdel, { time since last touch (p1 : TOUCH buttons) }
  1318. event : Longint; { what event triggers redraw }
  1319. cspecl : longint; { reserved for class specfic stuff }
  1320. cspecv : pointer; { misc. things }
  1321. filename : pchar;
  1322. end;
  1323. TFL_BUTTON_STRUCT = TFL_BUTTON_SPEC;
  1324. PFL_BUTTON_STRUCT = ^TFL_BUTTON_STRUCT;
  1325. TFL_DrawButton = Procedure (p1 : PFL_OBJECT); cdecl;
  1326. PFL_DrawButton = ^TFL_DrawButton;
  1327. TFL_CleanupButton = Procedure (p1 : PFL_BUTTON_STRUCT); cdecl;
  1328. PFL_CleanupButton= ^TFL_CleanupButton;
  1329. Const
  1330. FL_BUTTON_BOXTYPE = FL_UP_BOX;
  1331. FL_BUTTON_COL1 = FL_COL1;
  1332. FL_BUTTON_COL2 = FL_COL1;
  1333. FL_BUTTON_LCOL = FL_LCOL;
  1334. FL_BUTTON_ALIGN = FL_ALIGN_CENTER;
  1335. FL_BUTTON_MCOL1 = FL_MCOL;
  1336. FL_BUTTON_MCOL2 = FL_MCOL;
  1337. FL_BUTTON_BW = FL_BOUND_WIDTH;
  1338. {
  1339. * light button defaults
  1340. }
  1341. FL_LIGHTBUTTON_BOXTYPE = FL_UP_BOX;
  1342. FL_LIGHTBUTTON_COL1 = FL_COL1;
  1343. FL_LIGHTBUTTON_COL2 = FL_YELLOW;
  1344. FL_LIGHTBUTTON_LCOL = FL_LCOL;
  1345. FL_LIGHTBUTTON_ALIGN = FL_ALIGN_CENTER;
  1346. {**** Others ****}
  1347. FL_LIGHTBUTTON_TOPCOL = FL_COL1;
  1348. FL_LIGHTBUTTON_MCOL = FL_MCOL;
  1349. FL_LIGHTBUTTON_MINSIZE = 12;
  1350. {* round button defaults **}
  1351. FL_ROUNDBUTTON_BOXTYPE = FL_NO_BOX;
  1352. FL_ROUNDBUTTON_COL1 = FL_MCOL;
  1353. FL_ROUNDBUTTON_COL2 = FL_YELLOW;
  1354. FL_ROUNDBUTTON_LCOL = FL_LCOL;
  1355. FL_ROUNDBUTTON_ALIGN = FL_ALIGN_CENTER;
  1356. FL_ROUNDBUTTON_TOPCOL = FL_COL1;
  1357. FL_ROUNDBUTTON_MCOL = FL_MCOL;
  1358. {* round3d button defaults **}
  1359. FL_ROUND3DBUTTON_BOXTYPE = FL_NO_BOX;
  1360. FL_ROUND3DBUTTON3D_COL1 = FL_MCOL;
  1361. FL_ROUND3DBUTTON_COL2 = FL_YELLOW;
  1362. FL_ROUND3DBUTTON_LCOL = FL_LCOL;
  1363. FL_ROUND3DBUTTON_ALIGN = FL_ALIGN_CENTER;
  1364. FL_ROUND3DBUTTON_TOPCOL = FL_COL1;
  1365. FL_ROUND3DBUTTON_MCOL = FL_MCOL;
  1366. {* check button defaults **}
  1367. FL_CHECKBUTTON_BOXTYPE = FL_NO_BOX;
  1368. FL_CHECKBUTTON_COL1 = FL_COL1;
  1369. FL_CHECKBUTTON_COL2 = FL_YELLOW;
  1370. FL_CHECKBUTTON_LCOL = FL_LCOL;
  1371. FL_CHECKBUTTON_ALIGN = FL_ALIGN_CENTER;
  1372. FL_CHECKBUTTON_TOPCOL = FL_COL1;
  1373. FL_CHECKBUTTON_MCOL = FL_MCOL;
  1374. {* bitmap button defaults *}
  1375. FL_BITMAPBUTTON_BOXTYPE = FL_UP_BOX;
  1376. FL_BITMAPBUTTON_COL1 = FL_COL1; { bitmap background }
  1377. FL_BITMAPBUTTON_COL2 = FL_BLUE; { "focus" color }
  1378. FL_BITMAPBUTTON_LCOL = FL_LCOL; { bitmap foreground }
  1379. FL_BITMAPBUTTON_ALIGN = FL_ALIGN_BOTTOM;
  1380. {* bitmap button defaults *}
  1381. FL_PIXMAPBUTTON_BOXTYPE = FL_UP_BOX;
  1382. FL_PIXMAPBUTTON_COL1 = FL_COL1; { box col }
  1383. FL_PIXMAPBUTTON_COL2 = FL_YELLOW; { bound rect }
  1384. FL_PIXMAPBUTTON_LCOL = FL_LCOL;
  1385. FL_PIXMAPBUTTON_ALIGN = FL_ALIGN_BOTTOM;
  1386. {**** Routines ****}
  1387. Function fl_create_button(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1388. Function fl_create_roundbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1389. Function fl_create_round3dbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1390. Function fl_create_lightbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1391. Function fl_create_checkbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1392. Function fl_create_bitmapbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1393. Function fl_create_pixmapbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1394. Function fl_add_roundbutton(p1 : Longint ; p2,p3,p4,p5 :TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  1395. Function fl_add_round3dbutton(p1 : Longint ; p2,p3,p4,p5 :TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  1396. Function fl_add_lightbutton(p1 : Longint ; p2,p3,p4,p5 :TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  1397. Function fl_add_checkbutton(p1 : Longint ; p2,p3,p4,p5 :TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  1398. Function fl_add_button(p1 : Longint ; p2,p3,p4,p5 :TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  1399. Procedure fl_set_bitmapbutton_data (p1 : PFL_OBJECT; p2,p3 : Longint ; p4 : pchar); cdecl;external;
  1400. Procedure fl_set_bitmapbutton_file (p1 : PFL_OBJECT; p2: pchar); cdecl;external;
  1401. Function fl_add_bitmapbutton (p1 : longint; p2,p3,p4,p5: TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1402. {
  1403. #define fl_set_bitmapbutton_datafile fl_set_bitmapbutton_file
  1404. }
  1405. Function fl_add_pixmapbutton(p1 : Longint ; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1406. Procedure fl_set_pixmapbutton_data(p1 : PFL_OBJECT; p2 : ppchar);
  1407. Procedure fl_set_pixmapbutton_file(p1 : PFL_OBJECT; p2 : pchar);
  1408. Procedure fl_set_pixmapbutton_align(p1 : PFL_OBJECT; p2 : Longint ; p3 : Longint ; p4 : Longint );
  1409. Procedure fl_set_pixmapbutton_pixmap(p1 : PFL_OBJECT; p2 : TPixmap; p3 :TPixmap);
  1410. Procedure fl_set_pixmapbutton_colorcloseness(p1 : Longint ; p2 : Longint ; p3 :Longint );
  1411. Procedure fl_free_pixmapbutton_pixmap(p1 : PFL_OBJECT);
  1412. Function fl_get_pixmapbutton_pixmap(p1 : PFL_OBJECT; p2 : PPixmap; p3 : PPixmap) : TPixmap;
  1413. Function fl_get_button(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1414. Procedure fl_set_button(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1415. Function fl_get_button_numb(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1416. Procedure fl_set_button_shortcut(p1 : PFL_OBJECT; p2 : pchar;p3 : Longint );
  1417. Function fl_create_generic_button(p1,p2 : Longint ; p3,p4,p5,p6 : TFL_Coord;p7 : pchar) : PFL_OBJECT; cdecl;external;
  1418. Procedure fl_add_button_class(p1 : Longint ; p2 : PFL_DRAWBUTTON; p3 : PFL_CLEANUPBUTTON); cdecl;external;
  1419. {
  1420. *
  1421. * Header for FL_CANVAS
  1422. *
  1423. }
  1424. type TFL_CANVAS_TYPE = Longint;
  1425. const
  1426. FL_NORMAL_CANVAS = 0;
  1427. FL_SCROLLED_CANVAS = 1;
  1428. Type
  1429. TFL_HANDLE_CANVAS = Procedure (P1 : PFL_OBJECT; P2 : TWindow; P3 : Longint ; P4 : Longint ;
  1430. P5 : PXEvent; P6 : pointer);cdecl;
  1431. PFL_HANDLE_CANVAS = ^TFL_HANDLE_CANVAS;
  1432. TFL_MODIFY_CANVAS_PROP = Procedure (p1 : PFL_OBJECT); cdecl;
  1433. PFL_MODIFY_CANVAS_PROP = ^TFL_MODIFY_CANVAS_PROP;
  1434. {******************* Default ********************}
  1435. Const FL_CANVAS_BOXTYPE = FL_DOWN_BOX;
  1436. FL_CANVAS_ALIGN = FL_ALIGN_TOP;
  1437. {*********** Interfaces ***********************}
  1438. Function fl_create_generic_canvas(p1 : Longint; p2 : Longint ; p3,p4,p5,p6 : TFL_Coord; p7 : pchar) : PFL_OBJECT; cdecl;external;
  1439. Function fl_add_canvas(p1 : Longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar): PFL_OBJECT; cdecl;external;
  1440. Function fl_create_canvas(p1 : Longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1441. Function fl_create_mesacanvas(p1 : Longint; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1442. Function fl_add_mesacanvas(p1 : Longint; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1443. Procedure fl_set_canvas_decoration(p1 : PFL_OBJECT; p2 : Longint );
  1444. Procedure fl_set_canvas_colormap(p1 : PFL_OBJECT; p2 : TColormap);cdecl;external;
  1445. Procedure fl_set_canvas_visual(p1 : PFL_OBJECT; p2 : PVisual);cdecl;external;
  1446. Procedure fl_set_canvas_depth(p1 : PFL_OBJECT; p2 : Longint );cdecl;external;
  1447. Procedure fl_set_canvas_attributes(p1 : PFL_OBJECT; p2 : word; p3 : PXSetWindowAttributes);cdecl;external;
  1448. Function fl_add_canvas_handler(p1 : PFL_OBJECT; p2 : Longint ; p3 : PFL_HANDLE_CANVAS; p4 : pointer) : PFL_HANDLE_CANVAS ; cdecl;external;
  1449. Function fl_get_canvas_id(p1 : PFL_OBJECT ) : TWindow ; cdecl;external;
  1450. Function fl_get_canvas_colormap(p1 : PFL_OBJECT ) : TColormap; cdecl;external;
  1451. Function fl_get_canvas_depth(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1452. Procedure fl_remove_canvas_handler(p1 : PFL_OBJECT; p2 : Longint ; p3 : PFL_HANDLE_CANVAS); cdecl;external;
  1453. Procedure fl_hide_canvas(p1 : PFL_OBJECT); { internal use only } cdecl;external;
  1454. Procedure fl_canvas_yield_to_shortcut(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1455. Procedure fl_share_canvas_colormap(p1 : PFL_OBJECT; p2 : TColormap); cdecl;external;
  1456. Procedure fl_modify_canvas_prop(p1 : PFL_OBJECT;
  1457. P2 : PFL_MODIFY_CANVAS_PROP;
  1458. p3 : PFL_MODIFY_CANVAS_PROP;
  1459. p4 : PFL_MODIFY_CANVAS_PROP);cdecl;external;
  1460. { OpenGL canvases }
  1461. Function fl_create_glcanvas(p1 : Longint; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1462. Function fl_add_glcanvas(p1 : Longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1463. Procedure fl_set_glcanvas_defaults(p1 : pointer); cdecl;external;
  1464. Procedure fl_get_glcanvas_defaults(p1 : pointer); cdecl;external;
  1465. Procedure fl_set_glcanvas_attributes(p1 : PFL_OBJECT; p2 : pointer); cdecl;external;
  1466. Procedure fl_get_glcanvas_attributes(p1 : PFL_OBJECT; p2 : pointer); cdecl;external;
  1467. Procedure fl_set_glcanvas_direct(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1468. Procedure fl_activate_glcanvas(p1 : PFL_OBJECT); cdecl;external;
  1469. Function fl_get_glcanvas_xvisualinfo(p1 : PFL_OBJECT ) : PXVisualInfo; cdecl;external;
  1470. {
  1471. # if defined(p1 : __GLX_glx_h__) || defined(p1 : GLX_H)
  1472. Function fl_get_glcanvas_context(p1 : PFL_OBJECT ob ) : GLXContext ; cdecl;external;
  1473. Function fl_glwincreate(p1 : *; p2 : GLXContext *; p3 : Longint ; p4 : Longint ) : TWindow ; cdecl;external;
  1474. Function fl_glwinopen(p1 : *; p2 : GLXContext *; p3 : Longint ; p4 : Longint ) : TWindow ; cdecl;external;
  1475. }
  1476. {
  1477. *
  1478. * Object Class: Chart
  1479. *
  1480. }
  1481. const
  1482. FL_BAR_CHART = 0;
  1483. FL_HORBAR_CHART = 1;
  1484. FL_LINE_CHART = 2;
  1485. FL_FILL_CHART = 3;
  1486. FL_SPIKE_CHART = 4;
  1487. FL_PIE_CHART = 5;
  1488. FL_SPECIALPIE_CHART = 6;
  1489. Type TFL_CHART_TYPE = Longint;
  1490. {**** Defaults ****}
  1491. Const
  1492. FL_CHART_BOXTYPE = FL_BORDER_BOX;
  1493. FL_CHART_COL1 = FL_COL1;
  1494. FL_CHART_LCOL = FL_LCOL;
  1495. FL_CHART_ALIGN = FL_ALIGN_BOTTOM;
  1496. {**** Others ****}
  1497. FL_CHART_MAX = 512;
  1498. {**** Routines ****}
  1499. Function fl_create_chart(p1 : Longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1500. Function fl_add_chart(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1501. Procedure fl_clear_chart(p1 : PFL_OBJECT); cdecl;external;
  1502. Procedure fl_add_chart_value(p1 : PFL_OBJECT; p2 : double; p3 : pchar; p4 : Longint ); cdecl;external;
  1503. Procedure fl_insert_chart_value(p1 : PFL_OBJECT; p2 : Longint ; p3 : double; p4 : pchar; p5 : Longint ); cdecl;external;
  1504. Procedure fl_replace_chart_value(p1 : PFL_OBJECT; p2 : Longint ; p3 : double; p4 : pchar; p5 : Longint ); cdecl;external;
  1505. Procedure fl_set_chart_bounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  1506. Procedure fl_set_chart_maxnumb(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1507. Procedure fl_set_chart_autosize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1508. Procedure fl_set_chart_lstyle(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1509. Procedure fl_set_chart_lsize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1510. Procedure fl_set_chart_lcolor(p1 : PFL_OBJECT; p2 : TFL_COLOR); cdecl;external;
  1511. const
  1512. FL_NORMAL_CHOICE = 0;
  1513. FL_NORMAL_CHOICE2 = 1;
  1514. FL_DROPLIST_CHOICE = 2;
  1515. Type
  1516. TFL_CHOICE_TYPE = Longint;
  1517. Const
  1518. FL_SIMPLE_CHOICE = FL_NORMAL_CHOICE;
  1519. {**** Defaults ****}
  1520. FL_CHOICE_BOXTYPE = FL_ROUNDED_BOX;
  1521. FL_CHOICE_COL1 = FL_COL1;
  1522. FL_CHOICE_COL2 = FL_LCOL;
  1523. FL_CHOICE_LCOL = FL_LCOL;
  1524. FL_CHOICE_ALIGN = FL_ALIGN_LEFT;
  1525. {**** Others ****}
  1526. FL_CHOICE_MCOL = FL_MCOL;
  1527. FL_CHOICE_MAXITEMS = 63;
  1528. {**** Routines ****}
  1529. Function fl_create_choice(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1530. Function fl_add_choice(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar ) : PFL_OBJECT; cdecl;external;
  1531. Procedure fl_clear_choice(p1 : PFL_OBJECT); cdecl;external;
  1532. Procedure fl_addto_choice(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1533. Procedure fl_replace_choice(p1 : PFL_OBJECT; p2 : Longint ; p3 :pchar); cdecl;external;
  1534. Procedure fl_delete_choice(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1535. Procedure fl_set_choice(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1536. Procedure fl_set_choice_text(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1537. Function fl_get_choice(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1538. Function fl_get_choice_item_text(p1 : PFL_OBJECT; p2 : Longint ) : pchar; cdecl;external;
  1539. Function fl_get_choice_maxitems(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1540. Function fl_get_choice_text(p1 : PFL_OBJECT ) : pchar; cdecl;external;
  1541. Procedure fl_set_choice_fontsize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1542. Procedure fl_set_choice_fontstyle(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1543. Procedure fl_set_choice_align(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1544. Procedure fl_set_choice_item_mode(p1 : PFL_OBJECT; p2 : Longint ; p3 : word); cdecl;external;
  1545. Procedure fl_set_choice_item_shortcut(p1 : PFL_OBJECT; p2 : Longint ; p3 :pchar); cdecl;external;
  1546. Function fl_set_choice_entries(p1 : PFL_OBJECT ; p2 : PFL_PUP_ENTRY) : longint; cdecl;external;
  1547. Const
  1548. FL_ANALOG_CLOCK = 0;
  1549. FL_DIGITAL_CLOCK = 1;
  1550. FL_CLOCK_BOXTYPE = FL_UP_BOX;
  1551. FL_CLOCK_COL1 = FL_INACTIVE_COL;
  1552. FL_CLOCK_COL2 = FL_BOTTOM_BCOL;
  1553. FL_CLOCK_LCOL = FL_BLACK;
  1554. FL_CLOCK_ALIGN = FL_ALIGN_BOTTOM;
  1555. FL_CLOCK_TOPCOL = FL_COL1;
  1556. Function fl_create_clock(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1557. Function fl_add_clock(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1558. Procedure fl_get_clock(p1 : PFL_OBJECT; p2,p3,p4 : pointer); cdecl;external;
  1559. Function fl_set_clock_adjustment ( p1 : PFL_OBJECT; p2 : longint) : longint; cdecl;external;
  1560. Procedure fl_set_clock_ampm(p1 : PFL_OBJECT; p2 : Longint); cdecl;external;
  1561. Const
  1562. FL_NORMAL_COUNTER = 0;
  1563. FL_SIMPLE_COUNTER = 1;
  1564. type TFL_COUNTER_TYPE = Longint;
  1565. {**** Defaults ****}
  1566. Const
  1567. FL_COUNTER_BOXTYPE = FL_UP_BOX;
  1568. FL_COUNTER_COL1 = FL_COL1;
  1569. FL_COUNTER_COL2 = FL_BLUE; { ct label }
  1570. FL_COUNTER_LCOL = FL_LCOL; { ct reporting }
  1571. FL_COUNTER_ALIGN = FL_ALIGN_BOTTOM;
  1572. {**** Others ****}
  1573. FL_COUNTER_BW = FL_BOUND_WIDTH-1;
  1574. {**** Routines ****}
  1575. Function fl_create_counter(p1 : longint; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1576. Function fl_add_counter(p1 : longint; p2,p3,p4,p5 : TFL_Coord;p6: pchar) : PFL_OBJECT; cdecl;external;
  1577. Procedure fl_set_counter_value(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  1578. Procedure fl_set_counter_bounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  1579. Procedure fl_set_counter_step(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  1580. Procedure fl_set_counter_precision(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1581. Function fl_get_counter_value(p1 : PFL_OBJECT ) : double ; cdecl;external;
  1582. Procedure fl_get_counter_bounds(p1 : PFL_OBJECT; p2,p3 : pdouble); cdecl;external;
  1583. Procedure fl_get_counter_step(p1 : PFL_OBJECT; p2,p3 : pdouble); cdecl;external;
  1584. Procedure fl_set_counter_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1585. Procedure fl_set_counter_filter(p1 : PFL_OBJECT;p2 : pointer); {!!!!} cdecl;external;
  1586. {
  1587. pchar(p1 : *)(p1 : PFL_OBJECT; p2 : double; p3 :Longint ));
  1588. }
  1589. {
  1590. *
  1591. * Cursor defs and prototypes
  1592. *
  1593. }
  1594. {$i cursorfont.inc}
  1595. const FL_DEFAULT_CURSOR = -1;
  1596. FL_INVISIBLE_CURSOR = -2;
  1597. Procedure fl_set_cursor(p1 : TWindow; p2 : Longint ); cdecl;external;
  1598. Procedure fl_set_cursor_color(p1 : longint; p2 : TFL_COLOR; p3 :TFL_COLOR); cdecl;external;
  1599. Function fl_create_bitmap_cursor(p1 : pchar; p2 : pchar; p3,p4,p5,p6 : Longint ) : TCursor; cdecl;external;
  1600. Function fl_get_cursor_byname(p1 : longint ) : TCursor; cdecl;external;
  1601. Function fl_create_animated_cursor(p1 : Plongint;p2 : longint): Longint; cdecl;external;
  1602. {
  1603. #define fl_reset_cursor(p1 : win) fl_set_cursor(p1 : win; p2 : -1);
  1604. }
  1605. Const
  1606. FL_NORMAL_DIAL = 0;
  1607. FL_LINE_DIAL = 1;
  1608. FL_FILL_DIAL = 2;
  1609. FL_DIAL_CW = 0;
  1610. FL_DIAL_CCW = 1;
  1611. Type
  1612. TFL_DIAL_TYPE = Longint;
  1613. {**** Defaults ****}
  1614. Const
  1615. FL_DIAL_BOXTYPE = FL_FLAT_BOX;
  1616. FL_DIAL_COL1 = FL_COL1;
  1617. FL_DIAL_COL2 = FL_RIGHT_BCOL;
  1618. FL_DIAL_LCOL = FL_LCOL;
  1619. FL_DIAL_ALIGN = FL_ALIGN_BOTTOM;
  1620. {**** Others ****}
  1621. FL_DIAL_TOPCOL = FL_COL1;
  1622. {**** Routines ****}
  1623. Function fl_create_dial(p1 : longint; p2,p3,p4,p5 : TFL_Coord;p6 :pchar) : PFL_OBJECT; cdecl;external;
  1624. Function fl_add_dial(p1 : longint; p2,p3,p4,p5 : TFL_Coord;p6: pchar) : PFL_OBJECT; cdecl;external;
  1625. Procedure fl_set_dial_value(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  1626. Function fl_get_dial_value(p1 : PFL_OBJECT ) : double ; cdecl;external;
  1627. Procedure fl_set_dial_bounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  1628. Procedure fl_get_dial_bounds(p1 : PFL_OBJECT; p2 : pdouble; p3 :pdouble); cdecl;external;
  1629. Procedure fl_set_dial_step(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  1630. Procedure fl_set_dial_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1631. Procedure fl_set_dial_angles(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  1632. Procedure fl_set_dial_cross(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1633. Procedure fl_set_dial_direction (p1 : PFL_OBJECT; p2 : Longint); cdecl;external;
  1634. {
  1635. *
  1636. * Convenience Functions to read a directory cdecl;external;
  1637. }
  1638. { File types }
  1639. Const
  1640. FT_FILE = 0;
  1641. FT_DIR = 1;
  1642. FT_LINK = 2;
  1643. FT_SOCK = 3;
  1644. FT_FIFO = 4;
  1645. FT_BLK = 5;
  1646. FT_CHR = 6;
  1647. FT_OTHER = 7;
  1648. type TFL_Dirlist = record
  1649. name : pchar; { entry name }
  1650. ftype : longint; { FILE_TYPE }
  1651. dl_mtime : longint;
  1652. dl_size : cardinal;
  1653. filler : array[0..2] of longint;
  1654. end;
  1655. PFL_Dirlist = ^TFL_Dirlist;
  1656. TFL_DIRLIST_FILTER = Procedure (p1 : pchar; p2 : Longint ); cdecl;
  1657. PFL_DIRLIST_FILTER = ^TFL_DIRLIST_FILTER;
  1658. Const
  1659. FL_ALPHASORT = 1;
  1660. FL_RALPHASORT = 2;
  1661. FL_MTIMESORT = 3;
  1662. FL_RMTIMESORT = 4;
  1663. FL_SIZESORT = 5;
  1664. FL_RSIZESORT = 6;
  1665. { read dir with pattern filtering. All dirs read might be cached.
  1666. * must not change dirlist in anyway.
  1667. }
  1668. Function fl_get_dirlist(p1 : pchar; p2 : pchar; p3 : pointer;p4 :longint) : PFL_Dirlist; { rescan } cdecl;external;
  1669. Function fl_set_dirlist_filter (p1 : PFL_DIRLIST_FILTER ) : PFL_DIRLIST_FILTER ; cdecl;external;
  1670. Procedure fl_set_dirlist_sort ( p1 : longint); cdecl;external;
  1671. Procedure fl_free_dirlist(p1 : PFL_Dirlist); cdecl;external;
  1672. { Free all directory caches }
  1673. Procedure fl_free_all_dirlist; cdecl;external;
  1674. Function fl_is_valid_dir(p1 : pchar ) : Longint; cdecl;external;
  1675. Function fl_fmtime(p1 : pchar ) : cardinal ; cdecl;external;
  1676. Function fl_fix_dirname(p1 : pchar) : pchar; cdecl;external;
  1677. Const
  1678. FLPS_AUTO = 0;
  1679. FLPS_LANDSCAPE = 1;
  1680. FLPS_PORTRAIT = 2;
  1681. FLPS_BW = -1;
  1682. FLPS_GRAYSCALE=0;
  1683. type
  1684. TFLPS_CONTROL = record
  1685. ps_color,orientation,auto_fit,drawbox,eps : longint;
  1686. xdpi,ydpi,paper_w,paper_h, gamma : real; { Must be float }
  1687. end;
  1688. PFLPS_CONTROL = ^TFLPS_CONTROL;
  1689. Function flps_init : PFLPS_CONTROL; cdecl;external;
  1690. Function fl_object_ps_dump (p1 : PFL_OBJECT; p2 : pchar) : longint; cdecl;external;
  1691. { types of frames }
  1692. Const
  1693. FL_NO_FRAME = 0;
  1694. FL_UP_FRAME = 1;
  1695. FL_DOWN_FRAME = 2;
  1696. FL_BORDER_FRAME = 3;
  1697. FL_SHADOW_FRAME = 4;
  1698. FL_ENGRAVED_FRAME = 5;
  1699. FL_ROUNDED_FRAME = 6;
  1700. FL_EMBOSSED_FRAME = 7;
  1701. FL_OVAL_FRAME = 8;
  1702. FL_FRAME_COL1 = FL_BLACK;
  1703. FL_FRAME_COL2 = FL_COL1;
  1704. FL_FRAME_LCOL = FL_BLACK;
  1705. Function fl_create_frame(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1706. Function fl_add_frame(p1 : longint; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1707. Function fl_create_labelframe(p1 : longint; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  1708. Function fl_add_labelframe(p1 : longint; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1709. {
  1710. *
  1711. * Object Class: Free
  1712. }
  1713. Const
  1714. FL_NORMAL_FREE = 0;
  1715. FL_INACTIVE_FREE = 1;
  1716. FL_INPUT_FREE = 2;
  1717. FL_CONTINUOUS_FREE = 3;
  1718. FL_ALL_FREE = 4;
  1719. Type
  1720. TFL_FREE_TYPE = Longint;
  1721. PFL_FREE_TYPE = ^TFL_FREE_TYPE;
  1722. Const FL_SLEEPING_FREE = FL_INACTIVE_FREE;
  1723. Function fl_create_free(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6: pchar; p7 : PFL_HANDLEPTR) : PFL_OBJECT; cdecl;external;
  1724. Function fl_add_free(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6 : pchar; P7 : PFL_HANDLEPTR) : PFL_OBJECT; cdecl;external;
  1725. Const
  1726. FLAlertDismissLabel = 'flAlert.dismiss.label';
  1727. FLQuestionYesLabel = 'flQuestion.yes.label';
  1728. FLQuestionNoLabel = 'flQuestion.no.label';
  1729. FLOKLabel = 'flInput.ok.label';
  1730. FLInputClearLabel = 'flInput.clear.label';
  1731. FLInputCancelLabel = 'flInput.cancel.label';
  1732. { from goodies.c }
  1733. Procedure fl_set_goodies_font(p1 : LongInt; p2 : Longint ); cdecl;external;
  1734. Procedure fl_show_message(p1 : pchar; p2 : pchar; p3 :pchar); cdecl;external;
  1735. Procedure fl_show_messages(p1 : pchar); cdecl;external;
  1736. Procedure fl_show_alert(p1 : pchar; p2 : pchar; p3 : pchar; p4 : Longint ); cdecl;external;
  1737. Function fl_show_question(p1 : pchar; p2 : longint) : Longint ; cdecl;external;
  1738. Function fl_show_input(p1 : pchar; p2 : pchar ) : pchar; cdecl;external;
  1739. Function fl_show_simple_input(p1 : pchar; p2 : pchar ) : pchar; cdecl;external;
  1740. Function fl_show_colormap(p1 : Longint ) : Longint ; cdecl;external;
  1741. Function fl_show_choice(p1,p2,p3 : pchar; p4 : Longint ; p5,p6,p7 : pchar; p8 : Longint) : Longint; cdecl;external;
  1742. Function fl_show_choices(p1 : pchar; p4 : Longint ; p5,p6,p7 : pchar; p8 : Longint) : Longint; cdecl;external;
  1743. Procedure fl_set_choices_shortcut(p1,p2,p3 :pchar); cdecl;external;
  1744. Procedure fl_show_oneliner(p1 : pchar; p2 : TFL_Coord; p3 :TFL_Coord); cdecl;external;
  1745. Procedure fl_hide_oneliner; cdecl;external;
  1746. Procedure fl_set_oneliner_font(p1 : LongInt; p2 : Longint ); cdecl;external;
  1747. Procedure fl_set_oneliner_color(p1 : TFL_COLOR; p2 : TFL_COLOR); cdecl;external;
  1748. type TFD_CMDLOG = record
  1749. form : PFL_FORM;
  1750. browser,close_browser,clear_browser : PFL_OBJECT;
  1751. end;
  1752. PFD_CMDLOG = ^TFD_CMDLOG;
  1753. Function fl_exe_command(p1 : pchar; p2 : Longint) : Longint; cdecl;external;
  1754. Function fl_end_command(p1 : longint) : Longint; cdecl;external;
  1755. Function fl_check_command(p1 : longint) : longint; cdecl;external;
  1756. Function fl_end_all_command : Longint; cdecl;external;
  1757. Procedure fl_show_command_log(p1 : Longint); cdecl;external;
  1758. Procedure fl_hide_command_log; cdecl;external;
  1759. Procedure fl_clear_command_log; cdecl;external;
  1760. Procedure fl_addto_command_log(p1 : pchar); cdecl;external;
  1761. Procedure fl_set_command_log_position(p1,p2 :longint); cdecl;external;
  1762. Function fl_get_command_log_fdstruct : PFD_CMDLOG; cdecl;external;
  1763. { aliases }
  1764. {
  1765. #define fl_open_command fl_exe_command
  1766. #define fl_close_command fl_end_command
  1767. }
  1768. {****** from file selector ****************}
  1769. Const FL_MAX_FSELECTOR = 6;
  1770. type TFD_FSELECTOR = record
  1771. fselect : PFL_FORM;
  1772. browser, theinput, prompt, resbutt,
  1773. patbutt,dirbutt, cancel, ready : PFL_OBJECT;
  1774. dirlabel,patlabel : PFL_OBJECT;
  1775. appbut : array[0..2] of PFL_OBJECT;
  1776. end;
  1777. PFD_FSELECTOR = ^TFD_FSELECTOR;
  1778. Function fl_use_fselector(p1 : LongInt ) : LongInt; cdecl;external;
  1779. Function fl_show_fselector(p1,p2,p3,p4 : pchar) : pchar; cdecl;external;
  1780. Procedure fl_set_fselector_fontsize (p1 : Longint); cdecl;external;
  1781. Procedure fl_set_fselector_fontstyle (p1 : longint); cdecl;external;
  1782. Procedure fl_set_fselector_placement(p1 : LongInt); cdecl;external;
  1783. Procedure fl_set_fselector_border(p1 : LongInt); cdecl;external;
  1784. {
  1785. #define fl_set_fselector_transient(p1 : b) \
  1786. fl_set_fselector_border(p1 : (p1 : b)?FL_TRANSIENT:FL_FULLBORDER)
  1787. }
  1788. Type TFSelector_Callback = Function (P1 : Pchar; P2 : Pointer) : Longint; cdecl;
  1789. PFSelector_Callback = ^TFSelector_Callback;
  1790. TFL_Procedure = Procedure; cdecl;
  1791. PFL_Procedure = ^TFL_Procedure;
  1792. Procedure fl_set_fselector_callback( p1 : PFSelector_Callback; p2 : pointer); cdecl;external;
  1793. Function fl_get_filename : pchar; cdecl;external;
  1794. Function fl_get_directory : pchar; cdecl;external;
  1795. Function fl_get_pattern : pchar; cdecl;external;
  1796. Function fl_set_directory (p1 : pchar ) : LongInt; cdecl;external;
  1797. Procedure fl_set_pattern (p1 : pchar); cdecl;external;
  1798. Procedure fl_refresh_fselector; cdecl;external;
  1799. Procedure fl_add_fselector_appbutton(p1 : pchar; p2 : PFL_Procedure; p3 : pointer); cdecl;external;
  1800. Procedure fl_remove_fselector_appbutton(p1 : pchar); cdecl;external;
  1801. Procedure fl_disable_fselector_cache(p1 : LongInt); cdecl;external;
  1802. Procedure fl_invalidate_fselector_cache; cdecl;external;
  1803. Function fl_get_fselector_form : PFL_FORM; cdecl;external;
  1804. Function fl_get_fselector_fdstruct : PFD_FSELECTOR; cdecl;external;
  1805. Procedure fl_hide_fselector; cdecl;external;
  1806. Procedure fl_set_fselector_filetype_marker(p1,p2,p3,p4,p5 : Longint); cdecl;external;
  1807. {
  1808. #define fl_show_file_selector fl_show_fselector
  1809. #define fl_set_fselector_cb fl_set_fselector_callback
  1810. #define fl_set_fselector_title(p1 : s) fl_set_form_title(p1 : fl_get_fselector_form(p1 : ); p2 : s)
  1811. }
  1812. {**** Types ****}
  1813. Const
  1814. FL_NORMAL_INPUT = 0;
  1815. FL_FLOAT_INPUT = 1;
  1816. FL_INT_INPUT = 2;
  1817. FL_DATE_INPUT = 3;
  1818. FL_MULTILINE_INPUT = 4;
  1819. FL_HIDDEN_INPUT = 5;
  1820. FL_SECRET_INPUT = 6;
  1821. FL_INPUT_MMDD = 0;
  1822. FL_INPUT_DDMM = 1;
  1823. Type TFL_INPUT_TYPE = Longint;
  1824. {**** Defaults ****}
  1825. Const
  1826. FL_INPUT_BOXTYPE = FL_DOWN_BOX;
  1827. FL_INPUT_COL1 = FL_COL1;
  1828. FL_INPUT_COL2 = FL_MCOL;
  1829. FL_INPUT_LCOL = FL_LCOL;
  1830. FL_INPUT_ALIGN = FL_ALIGN_LEFT;
  1831. {**** Others ****}
  1832. FL_INPUT_TCOL = FL_LCOL;
  1833. FL_INPUT_CCOL = FL_BLUE;
  1834. cFL_RINGBELL = (1 shl 4);
  1835. {**** Routines ****}
  1836. Function fl_create_input(p1 : Longint; p2,p3,p4,p5 : TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  1837. Function fl_add_input(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; P6 : pchar ) : PFL_OBJECT; cdecl;external;
  1838. Procedure fl_set_input(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1839. Procedure fl_set_input_color(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ); cdecl;external;
  1840. Procedure fl_set_input_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1841. Procedure fl_set_input_scroll(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1842. Procedure fl_set_input_cursorpos(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ); cdecl;external;
  1843. Procedure fl_set_input_selected(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1844. Procedure fl_set_input_selected_range(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ); cdecl;external;
  1845. Procedure fl_set_input_maxchars(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1846. Procedure fl_set_input_format(p1 : PFL_OBJECT; p2,p3 : Longint ); cdecl;external;
  1847. Procedure fl_set_input_hscrollbar(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1848. Procedure fl_set_input_vscrollbar(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1849. Procedure fl_set_input_xoffset(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1850. Procedure fl_set_input_topline(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1851. Procedure fl_set_input_scrollbarsize(p1 : PFL_OBJECT; p2,p3 : Longint ); cdecl;external;
  1852. Function fl_get_input(p1 : PFL_OBJECT ) : pchar; cdecl;external;
  1853. Function fl_get_input_cursorpos(p1 : PFL_OBJECT; p2,p3 : Pointer ) : LongInt; cdecl;external;
  1854. Function fl_get_input_topline(p1 : PFL_OBJECT;p2,p3 : PLongint) : Longint; cdecl;external;
  1855. Function fl_get_input_screenlines(p1 : PFL_OBJECT) : Longint; cdecl;external;
  1856. Function fl_get_input_numberoflines(p1 : PFL_OBJECT) : Longint; cdecl;external;
  1857. Procedure fl_get_input_format(p1 : PFL_OBJECT;p2,p3 : PLongint); cdecl;external;
  1858. Function fl_get_input_selected_range(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ) : pchar ; cdecl;external;
  1859. type
  1860. TFL_INPUTVALIDATOR = Procedure (p1 : PFL_OBJECT; p2,p3 : pchar; p4 : Longint ); cdecl;
  1861. PFL_INPUTVALIDATOR= ^TFL_INPUTVALIDATOR;
  1862. Function fl_set_input_filter(p1 : PFL_OBJECT; p2 : PFL_INPUTVALIDATOR ) : PFL_INPUTVALIDATOR ; cdecl;external;
  1863. {
  1864. #define fl_set_input_shortcut fl_set_object_shortcut
  1865. #define ringbell(p1 : ) XBell(p1 : fl_display; p2 : 0)
  1866. }
  1867. type TFL_EditKeymap = record
  1868. { basic editing }
  1869. del_prev_char : Longint; { delete previous char }
  1870. del_next_char : Longint; { delete next char }
  1871. del_prev_word : Longint; { delete previous word }
  1872. del_next_word : Longint; { delete next word }
  1873. { movement }
  1874. moveto_prev_line : Longint; { one line up }
  1875. moveto_next_line : Longint; { one line down }
  1876. moveto_prev_char : Longint; { one char left }
  1877. moveto_next_char : Longint; { one char right }
  1878. moveto_prev_word : Longint; { one word left }
  1879. moveto_next_word : Longint; { one word right }
  1880. moveto_prev_page : Longint; { one page up }
  1881. moveto_next_page : Longint; { one page down }
  1882. moveto_bol : Longint; { move to begining of line }
  1883. moveto_eol : Longint; { move to end of line }
  1884. moveto_bof : Longint; { move to begin of file }
  1885. moveto_eof : Longint; { move to end of file }
  1886. { misc. stuff }
  1887. transpose : Longint; { switch two char positions }
  1888. paste : Longint; { paste the edit buffer }
  1889. backspace : Longint; { another del_prev_char }
  1890. del_to_bol : Longint; { cut to begining of line }
  1891. del_to_eol : Longint; { cut to end of line }
  1892. clear_field : Longint; { delete everything }
  1893. del_to_eos : Longint; { not implemented }
  1894. reserverd : array[0..3] of Longint; { fillter }
  1895. end;
  1896. PFL_EditKeymap = ^TFL_EditKeymap;
  1897. Procedure fl_set_input_editkeymap(a: PFL_EditKeymap); cdecl;external;
  1898. {*********** Object Class: Menu ***********}
  1899. Const
  1900. FL_TOUCH_MENU = 0;
  1901. FL_PUSH_MENU = 1;
  1902. FL_PULLDOWN_MENU = 2;
  1903. Type TFL_MENU_TYPE = Longint;
  1904. {**** Defaults ****}
  1905. Const
  1906. FL_MENU_BOXTYPE = FL_BORDER_BOX;
  1907. FL_MENU_COL1 = FL_COL1;
  1908. FL_MENU_COL2 = FL_MCOL;
  1909. FL_MENU_LCOL = FL_LCOL;
  1910. FL_MENU_ALIGN = FL_ALIGN_CENTER;
  1911. {**** Others ****}
  1912. FL_MENU_MAXITEMS = 128;
  1913. FL_MENU_MAXSTR = 64;
  1914. {**** Routines ****}
  1915. Function fl_create_menu(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; P6 : pchar) : PFL_OBJECT; cdecl;external;
  1916. Function fl_add_menu(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; P6 : pchar) : PFL_OBJECT; cdecl;external;
  1917. Procedure fl_clear_menu(p1 : PFL_OBJECT); cdecl;external;
  1918. Procedure fl_set_menu(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1919. Procedure fl_addto_menu(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1920. Procedure fl_replace_menu_item(p1 : PFL_OBJECT; p2 : Longint ; p3 :pchar); cdecl;external;
  1921. Procedure fl_delete_menu_item(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1922. Procedure fl_set_menu_item_shortcut(p1 : PFL_OBJECT; p2 : Longint ; p3 :pchar); cdecl;external;
  1923. Procedure fl_set_menu_item_mode(p1 : PFL_OBJECT; p2 : Longint ; p3 : Cardinal); cdecl;external;
  1924. Procedure fl_show_menu_symbol(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1925. Procedure fl_set_menu_popup(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  1926. Function fl_get_menu_popup(p1 : pfl_object): longint; cdecl;external;
  1927. Function fl_get_menu(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1928. Function fl_get_menu_item_text(p1 : PFL_OBJECT; p2 : Longint ) : pchar; cdecl;external;
  1929. Function fl_get_menu_maxitems(p1 : PFL_OBJECT ) : Longint ; cdecl;external;
  1930. Function fl_get_menu_item_mode(p1 : PFL_OBJECT; p2 : Longint ) : Cardinal ; cdecl;external;
  1931. Function fl_get_menu_text(p1 : PFL_OBJECT ) : pchar; cdecl;external;
  1932. Const
  1933. FL_NORMAL_MENUBAR = 0;
  1934. FL_MENUBAR_BOXTYPE =FL_UP_BOX;
  1935. FL_MENUBAR_COL1 =FL_COL1;
  1936. FL_MENUBAR_COL2 =FL_MCOL;
  1937. FL_MENUBAR_LCOL =FL_LCOL;
  1938. Function fl_create_menubar(p1 : longint; p2,p3,p4,p5 : TFL_COORD;p6 : Pchar): PFL_OBJECT; cdecl;external;
  1939. Function fl_add_menubar(p1 : longint;p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  1940. Procedure fl_clear_menubar(p1 : PFL_OBJECT); cdecl;external;
  1941. Procedure fl_set_menubar(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  1942. Procedure fl_set_menubar_entries(p1 : PFL_OBJECT; p2 : pchar;p3 : PFL_PUP_ENTRY); cdecl;external;
  1943. {
  1944. *
  1945. * Prototypes for pop-up menus
  1946. }
  1947. Const
  1948. FL_MAXPUPI = 80; { max item each pup }
  1949. FL_PUP_PADH = 4; { space between each items }
  1950. type
  1951. TFL_PUP_ENTERCB = Procedure (p1 : longint; p2: pointer); cdecl;
  1952. PFL_PUP_ENTERCB = ^TFL_PUP_ENTERCB;
  1953. TFL_PUP_LEAVECB =Procedure (p1 : longint; p2: pointer); cdecl;
  1954. PFL_PUP_LEAVECB = ^TFL_PUP_LEAVECB;
  1955. Function fl_setpup_entries(p1 : Longint; p2 : PFL_PUP_ENTRY) : Longint; cdecl;external;
  1956. Function fl_newpup(p1 : TWindow ) : LongInt; cdecl;external;
  1957. Function fl_defpup(p1 : TWindow; p2 : pchar) : LongInt; cdecl;external;
  1958. Function fl_addtopup(p1 : longint; p2 : pchar) : LongInt; cdecl;external;
  1959. Function fl_setpup_mode(p1 : Longint; p2 : Longint ; p3 : Cardinal) : Longint; cdecl;external;
  1960. Procedure fl_freepup(p1 : Longint); cdecl;external;
  1961. Function fl_dopup(p1 : Longint ) : LongInt; cdecl;external;
  1962. Procedure fl_setpup_shortcut(p1 : Longint; p2 : Longint ; p3 :pchar); cdecl;external;
  1963. Procedure fl_setpup_position(p1 : Longint; p2 : Longint ); cdecl;external;
  1964. Procedure fl_setpup_selection(p1 : Longint; p2 : Longint ); cdecl;external;
  1965. Procedure fl_setpup_shadow(p1 : LongInt; p2 : Longint {was LongInt}); cdecl;external;
  1966. Procedure fl_setpup_softedge(p1 : LongInt; p2 : Longint ); cdecl;external;
  1967. Function fl_setpup_fontsize(p1 : LongInt) : Longint; cdecl;external;
  1968. Function fl_setpup_fontstyle(p1 : LongInt) : Longint; cdecl;external;
  1969. Procedure fl_setpup_color(p1 : TFL_COLOR; p2 : TFL_COLOR); cdecl;external;
  1970. Procedure fl_setpup_checkcolor(p1 : TFL_COLOR); cdecl;external;
  1971. Function fl_setpup_default_fontsize(p1 : LongInt) : Longint;
  1972. Function fl_setpup_default_fontstyle(p1 : LongInt) : Longint;
  1973. Procedure fl_setpup_default_color(p1 : TFL_COLOR; p2 : TFL_COLOR);
  1974. Procedure fl_setpup_default_checkcolor(p1 : TFL_COLOR);
  1975. Procedure fl_setpup_title(p1 : LongInt; p2 : pchar); cdecl;external;
  1976. Procedure fl_setpup_bw(p1 : LongInt; p2 : Longint ); cdecl;external;
  1977. Procedure fl_setpup_pad(p1 : LongInt; p2 : Longint ; p3 :Longint ); cdecl;external;
  1978. Function fl_setpup_cursor(p1 : LongInt; p2 : Longint ) : TCursor ; cdecl;external;
  1979. Function fl_setpup_default_cursor(p1 : LongInt ) : TCursor ; cdecl;external;
  1980. Function fl_setpup_maxpup(p1 : LongInt ) : LongInt; cdecl;external;
  1981. Function fl_getpup_mode(p1 : LongInt; p2 : Longint ) : Cardinal; cdecl;external;
  1982. Function fl_getpup_text(p1 : LongInt; p2 : Longint ) : pchar; cdecl;external;
  1983. Procedure fl_showpup(p1 : LongInt); cdecl;external;
  1984. Procedure fl_hidepup(p1 : LongInt); cdecl;external;
  1985. {
  1986. #define fl_setpup_hotkey fl_setpup_shortcut
  1987. }
  1988. Function fl_setpup_itemcb(p1 : LongInt; p2 : Longint ; p3 :PFL_PUP_CB ) : PFL_PUP_CB ; cdecl;external;
  1989. Function fl_setpup_menucb(p1 : LongInt; p2 : PFL_PUP_CB ) : PFL_PUP_CB ; cdecl;external;
  1990. Procedure fl_setpup_submenu(p1 : LongInt; p2 : Longint ; p3 :Longint ); cdecl;external;
  1991. {
  1992. #define fl_setpup fl_setpup_mode
  1993. }
  1994. Const
  1995. FL_NORMAL_POSITIONER = 0;
  1996. {**** Defaults ****}
  1997. FL_POSITIONER_BOXTYPE = FL_DOWN_BOX;
  1998. FL_POSITIONER_COL1 = FL_COL1;
  1999. FL_POSITIONER_COL2 = FL_RED;
  2000. FL_POSITIONER_LCOL = FL_LCOL;
  2001. FL_POSITIONER_ALIGN = FL_ALIGN_BOTTOM;
  2002. {**** Others ****}
  2003. {**** Routines ****}
  2004. Function fl_create_positioner(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  2005. Function fl_add_positioner(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  2006. Procedure fl_set_positioner_xvalue(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2007. Function fl_get_positioner_xvalue(p1 : PFL_OBJECT ) : double ; cdecl;external;
  2008. Procedure fl_set_positioner_xbounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  2009. Procedure fl_get_positioner_xbounds(p1 : PFL_OBJECT; p2 : pdouble ; p3 : pdouble); cdecl;external;
  2010. Procedure fl_set_positioner_yvalue(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2011. Function fl_get_positioner_yvalue(p1 : PFL_OBJECT ) : double ; cdecl;external;
  2012. Procedure fl_set_positioner_ybounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  2013. Procedure fl_get_positioner_ybounds(p1 : PFL_OBJECT; p2 ,p3 :pdouble); cdecl;external;
  2014. Procedure fl_set_positioner_xstep(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2015. Procedure fl_set_positioner_ystep(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2016. Procedure fl_set_positioner_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2017. Const
  2018. FL_HOR_SCROLLBAR = 0;
  2019. FL_VERT_SCROLLBAR = 1;
  2020. FL_HOR_THIN_SCROLLBAR = 2;
  2021. FL_VERT_THIN_SCROLLBAR = 3;
  2022. FL_HOR_NICE_SCROLLBAR = 4;
  2023. FL_VERT_NICE_SCROLLBAR = 5;
  2024. FL_HOR_PLAIN_SCROLLBAR = 6;
  2025. FL_VERT_PLAIN_SCROLLBAR = 7;
  2026. FL_HOR_BASIC_SCROLLBAR = FL_HOR_PLAIN_SCROLLBAR;
  2027. FL_VERT_BASIC_SCROLLBAR = FL_VERT_PLAIN_SCROLLBAR;
  2028. FL_THIN_SCROLLBAR = 0;
  2029. FL_PLAIN_SCROLLBAR = 1;
  2030. FL_NORMAL_SCROLLBAR = 2;
  2031. FL_NICE_SCROLLBAR = 3;
  2032. Function fl_create_scrollbar(p1 : longint;p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT ; cdecl;external;
  2033. Function fl_add_scrollbar(p1 : longint;p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT ; cdecl;external;
  2034. Function fl_get_scrollbar_value(p1 : PFL_OBJECT) : double ; cdecl;external;
  2035. Procedure fl_set_scrollbar_value(p1 : PFL_OBJECT; p2: double); cdecl;external;
  2036. Procedure fl_set_scrollbar_size(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2037. Procedure fl_set_scrollbar_increment(p1 : PFL_OBJECT;p2,p3: double); cdecl;external;
  2038. Procedure fl_get_scrollbar_increment(p1 : PFL_OBJECT; p2,p3 : real {float !!}); cdecl;external;
  2039. Procedure fl_set_scrollbar_bounds(p1 : PFL_OBJECT; p2,p3 : double); cdecl;external;
  2040. Procedure fl_get_scrollbar_bounds(p1 : PFL_OBJECT; p2,p3 : real {float !!!}); cdecl;external;
  2041. Procedure fl_set_scrollbar_return(p1 : PFL_OBJECT; p2 : longint); cdecl;external;
  2042. Procedure fl_set_scrollbar_step(P1 : PFL_OBJECT;p2 : double); cdecl;external;
  2043. {
  2044. *
  2045. * Object Class: Slider
  2046. *
  2047. }
  2048. Const
  2049. FL_VERT_SLIDER = 0;
  2050. FL_HOR_SLIDER = 1;
  2051. FL_VERT_FILL_SLIDER = 2;
  2052. FL_HOR_FILL_SLIDER = 3;
  2053. FL_VERT_NICE_SLIDER = 4;
  2054. FL_HOR_NICE_SLIDER = 5;
  2055. FL_HOR_BROWSER_SLIDER = 6;
  2056. FL_VERT_BROWSER_SLIDER = 7;
  2057. FL_HOR_BROWSER_SLIDER2 = 8; { for Longint ernal use only }
  2058. FL_VERT_BROWSER_SLIDER2 = 9; { for Longint ernal use only }
  2059. FL_HOR_THIN_SLIDER = 10; { internal use }
  2060. FL_VERT_THIN_SLIDER = 11; { internal use }
  2061. FL_HOR_BASIC_SLIDER = 12; { internal use }
  2062. FL_VERT_BASIC_SLIDER = 13; { internal use }
  2063. Type
  2064. TFL_SLIDER_TYPE = Longint;
  2065. PFL_SLIDER_TYPE = ^TFL_SLIDER_TYPE;
  2066. {**** Defaults ****}
  2067. Const
  2068. FL_SLIDER_BW1 = FL_BOUND_WIDTH;
  2069. FL_SLIDER_BW2 = FL_BOUND_WIDTH-1;
  2070. FL_SLIDER_BOXTYPE = FL_DOWN_BOX;
  2071. FL_SLIDER_COL1 = FL_COL1;
  2072. FL_SLIDER_COL2 = FL_COL1;
  2073. FL_SLIDER_LCOL = FL_LCOL;
  2074. FL_SLIDER_ALIGN = FL_ALIGN_BOTTOM;
  2075. {**** Others ****}
  2076. FL_SLIDER_FINE = 0.05;
  2077. FL_SLIDER_WIDTH = 0.10;
  2078. {**** Routines ****}
  2079. Function fl_create_slider(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6: pchar) : PFL_OBJECT; cdecl;external;
  2080. Function fl_add_slider(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6: pchar) : PFL_OBJECT; cdecl;external;
  2081. Function fl_create_valslider(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6: pchar): PFL_OBJECT; cdecl;external;
  2082. Function fl_add_valslider(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;P6: pchar) : PFL_OBJECT; cdecl;external;
  2083. Procedure fl_set_slider_value(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2084. Function fl_get_slider_value(p1 : PFL_OBJECT ) : double ; cdecl;external;
  2085. Procedure fl_set_slider_bounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  2086. Procedure fl_get_slider_bounds(p1 : PFL_OBJECT; p2,p3 : pdouble); cdecl;external;
  2087. Procedure fl_set_slider_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2088. Procedure fl_set_slider_step(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2089. Procedure fl_set_slider_increment(p1 : PFL_OBJECT; p2,p3 : double); cdecl;external;
  2090. Procedure fl_set_slider_size(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2091. Procedure fl_set_slider_precision(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2092. Type
  2093. TFL_SLIDER_FILTER = Procedure (p1 : PFL_OBJECT; p2 : double; p3 :Longint ); cdecl;
  2094. PTFL_SLIDER_FILTER= ^TFL_SLIDER_FILTER ;
  2095. Procedure fl_set_slider_filter(p1 : PFL_OBJECT; p2 : PTFL_SLIDER_FILTER); cdecl;external;
  2096. const
  2097. FL_TOP_TABFOLDER = 0;
  2098. FL_BOTTOM_TABFOLDER = 1;
  2099. FL_LEFT_TABFOLDER = 2;
  2100. FL_RIGHT_TABFOLDER = 3;
  2101. FL_NORMAL_TABFOLDER = FL_TOP_TABFOLDER;
  2102. Function fl_create_tabfolder (p1 : longint;p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT ; cdecl;external;
  2103. Function fl_add_tabfolder(p1 : longint;p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT ; cdecl;external;
  2104. Function fl_addto_tabfolder(p1 : PFL_OBJECT; p2 : pchar; p3 : PFL_FORM) : PFL_OBJECT; cdecl;external;
  2105. Procedure fl_delete_folder(p1 : PFL_OBJECT; p2 : PFL_FORM); cdecl;external;
  2106. Procedure fl_delete_folder_bynumber(p1 : PFL_OBJECT; p2 : longint); cdecl;external;
  2107. Procedure fl_delete_folder_byname(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  2108. Procedure fl_set_folder(p1 : PFL_OBJECT; P2 : PFL_FORM); cdecl;external;
  2109. Procedure fl_set_folder_byname(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  2110. Procedure fl_set_folder_bynumber(p1 : PFL_OBJECT; p2 : longint); cdecl;external;
  2111. Function fl_get_folder(p1 : PFL_OBJECT) : PFL_FORM; cdecl;external;
  2112. Function fl_get_folder_number(p1 : PFL_OBJECT) : longint; cdecl;external;
  2113. Function fl_get_folder_name(p1 : PFL_OBJECT) : pchar; cdecl;external;
  2114. Function fl_get_active_folder(p1 : PFL_OBJECT) : PFL_FORM; cdecl;external;
  2115. Function fl_get_active_folder_number(P1 : PFL_OBJECT) : longint; cdecl;external;
  2116. Function fl_get_active_folder_name(p1 : PFL_OBJECT) : Pchar; cdecl;external;
  2117. Procedure fl_get_folder_area(p1 : PFL_OBJECT; p2,p3,p4,p5 : PFL_Coord); cdecl;external;
  2118. Procedure fl_replace_folder_bynumber(p1 : PFL_OBJECT;p2 : longint;p3 : PFL_FORM); cdecl;external;
  2119. Const
  2120. FL_NORMAL_TEXT = 0;
  2121. FL_TEXT_BOXTYPE = FL_FLAT_BOX;
  2122. FL_TEXT_COL1 = FL_COL1;
  2123. FL_TEXT_COL2 = FL_MCOL;
  2124. FL_TEXT_LCOL = FL_LCOL;
  2125. FL_TEXT_ALIGN = FL_ALIGN_LEFT;
  2126. Function fl_create_text(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; p6 : pchar) : PFL_OBJECT; cdecl;external;
  2127. Function fl_add_text(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; p6 : pchar): PFL_OBJECT; cdecl;external;
  2128. {
  2129. *
  2130. * Object Class: Timer
  2131. *
  2132. }
  2133. Const
  2134. FL_NORMAL_TIMER = 0;
  2135. FL_VALUE_TIMER = 1;
  2136. FL_HIDDEN_TIMER = 2;
  2137. Type TFL_TIMER_TYPE = Longint;
  2138. {**** Defaults ****}
  2139. Const
  2140. FL_TIMER_BOXTYPE = FL_DOWN_BOX;
  2141. FL_TIMER_COL1 = FL_COL1;
  2142. FL_TIMER_COL2 = FL_RED;
  2143. FL_TIMER_LCOL = FL_LCOL;
  2144. FL_TIMER_ALIGN = FL_ALIGN_CENTER;
  2145. {**** Others ****}
  2146. FL_TIMER_BLINKRATE = 0.2;
  2147. Type TFL_TIMER_FILTER = Function (P1 : PFL_OBJECT;p2 : double) : pchar; cdecl;
  2148. PFL_TIMER_FILTER = ^TFL_TIMER_FILTER;
  2149. {**** Routines ****}
  2150. Function fl_create_timer(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6 : pchar) : PFL_OBJECT; cdecl;external;
  2151. Function fl_add_timer(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord;p6: pchar) : PFL_OBJECT; cdecl;external;
  2152. Procedure fl_set_timer(p1 : PFL_OBJECT; p2 : double); cdecl;external;
  2153. Function fl_get_timer(p1 : PFL_OBJECT ) : double ; cdecl;external;
  2154. Procedure fl_set_timer_countup(p1 : PFL_OBJECT; p2 : Longint); cdecl;external;
  2155. Function fl_set_timer_filter (p1 : PFL_OBJECT; p2 : PFL_TIMER_FILTER) : PFL_TIMER_FILTER; cdecl;external;
  2156. Procedure fl_suspend_timer(p1 : PFL_OBJECT); cdecl;external;
  2157. Procedure fl_resume_timer(p1 : PFL_OBJECT); cdecl;external;
  2158. {
  2159. * Class FL_XYPLOT
  2160. }
  2161. Const
  2162. FL_NORMAL_XYPLOT = 0; { solid line }
  2163. FL_SQUARE_XYPLOT = 1; { with added square }
  2164. FL_CIRCLE_XYPLOT = 2; { with added circle }
  2165. FL_FILL_XYPLOT = 3; { fill completely }
  2166. FL_POINTS_XYPLOT = 4; { only data points }
  2167. FL_DASHED_XYPLOT = 5; { dashed line }
  2168. FL_IMPULSE_XYPLOT = 6;
  2169. FL_ACTIVE_XYPLOT = 7; { accepts Longint eractive manipulations }
  2170. FL_EMPTY_XYPLOT = 8;
  2171. Type
  2172. TFL_XYPLOT_TYPE = Longint;
  2173. Const
  2174. FL_LINEAR = 0;
  2175. FL_LOG = 1;
  2176. Const
  2177. FL_GRID_NONE = 0;
  2178. FL_GRID_MAJOR = 1;
  2179. FL_GRID_MINOR = 2;
  2180. {**** Defaults ****}
  2181. FL_XYPLOT_BOXTYPE = FL_FLAT_BOX;
  2182. FL_XYPLOT_COL1 = FL_COL1;
  2183. FL_XYPLOT_LCOL = FL_LCOL;
  2184. FL_XYPLOT_ALIGN = FL_ALIGN_BOTTOM;
  2185. FL_MAX_XYPLOTOVERLAY = 32;
  2186. {**** Others ****}
  2187. Function fl_create_xyplot(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; p6: pchar) : PFL_OBJECT; cdecl;external;
  2188. Function fl_add_xyplot(p1 : LongInt; p2,p3,p4,p5 : TFL_Coord; P6 : pchar ) : PFL_OBJECT; cdecl;external;
  2189. Procedure fl_set_xyplot_data(p1 : PFL_OBJECT; p2,p3 : pfloat; p4 : Longint ; p5,p6,p7 : pchar); cdecl;external;
  2190. Procedure fl_set_xyplot_file(p1 : PFL_OBJECT; p2,p3,p4,p5 :pchar); cdecl;external;
  2191. Procedure fl_set_xyplot_return(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2192. Procedure fl_set_xyplot_xtics(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ); cdecl;external;
  2193. Procedure fl_set_xyplot_ytics(p1 : PFL_OBJECT; p2 : Longint ; p3 :Longint ); cdecl;external;
  2194. Procedure fl_set_xyplot_xbounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  2195. Procedure fl_set_xyplot_ybounds(p1 : PFL_OBJECT; p2 : double; p3 :double); cdecl;external;
  2196. Function fl_set_xyplot_maxoverlays(p1 : PFL_OBJECT; p2 : Longint ) : Longint ; cdecl;external;
  2197. Procedure fl_set_xyplot_overlay_type(p1 : PFL_OBJECT; p2 : Longint ; p3 : Longint ); cdecl;external;
  2198. Procedure fl_set_xyplot_interpolate(p1 : PFL_OBJECT; p2 : Longint ; p3 : Longint ; p4 : double); cdecl;external;
  2199. Procedure fl_set_xyplot_fontsize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2200. Procedure fl_set_xyplot_fontstyle(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2201. Procedure fl_set_xyplot_inspect(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2202. Procedure fl_set_xyplot_symbolsize(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2203. Procedure fl_set_xyplot_xscale(p1 : PFL_OBJECT; p2 : Longint ; p3 :double); cdecl;external;
  2204. Procedure fl_set_xyplot_yscale(p1 : PFL_OBJECT; p2 : Longint ; p3 :double); cdecl;external;
  2205. Procedure fl_set_xyplot_linewidth(p1 : PFL_OBJECT; p2,p3 : Longint); cdecl;external;
  2206. Procedure fl_set_xyplot_xgrid(p1 : PFL_OBJECT; p2 : Longint); cdecl;external;
  2207. Procedure fl_set_xyplot_ygrid(p1 : PFL_OBJECT; p2 : Longint); cdecl;external;
  2208. Procedure fl_set_xyplot_alphaxtics(p1 : PFL_OBJECT; p2,p3 : pchar); cdecl;external;
  2209. Procedure fl_set_xyplot_alphaytics(p1 : PFL_OBJECT; p2,p3 : pchar); cdecl;external;
  2210. Procedure fl_set_xyplot_fixed_xaxis(p1 : PFL_OBJECT; p2,p3 : pchar); cdecl;external;
  2211. Procedure fl_set_xyplot_fixed_yaxis(p1 : PFL_OBJECT; p2,p3 : pchar); cdecl;external;
  2212. Procedure fl_get_xyplot_xbounds(p1 : PFL_OBJECT; p2,p3 : pfloat ); cdecl;external;
  2213. Procedure fl_get_xyplot_ybounds(p1 : PFL_OBJECT; p2,p3 : pfloat ); cdecl;external;
  2214. Procedure fl_get_xyplot(p1 : PFL_OBJECT; p2,p3 : pfloat; p4 : pointer); cdecl;external;
  2215. Procedure fl_get_xyplot_data(p1 : PFL_OBJECT; p2,p3 : pfloat; p4 : pointer); cdecl;external;
  2216. Procedure fl_get_xyplot_xmapping(p1 : PFL_OBJECT; p2,p3 : pfloat); cdecl;external;
  2217. Procedure fl_get_xyplot_ymapping(p1 : PFL_OBJECT; p2,p3 : pfloat); cdecl;external;
  2218. {
  2219. #define fl_set_xyplot_datafile fl_set_xyplot_file
  2220. }
  2221. Procedure fl_add_xyplot_text(p1 : PFL_OBJECT; p2,p3 : double; p4 : pchar;p5 : Longint ; p6 :TFL_COLOR); cdecl;external;
  2222. Procedure fl_add_xyplot_overlay(p1 : PFL_OBJECT; p2 : Longint ; p3,p4 : pfloat; p5 : Longint ; p6 :TFL_COLOR); cdecl;external;
  2223. Procedure fl_delete_xyplot_text(p1 : PFL_OBJECT; p2 : pchar); cdecl;external;
  2224. Procedure fl_delete_xyplot_overlay(p1 : PFL_OBJECT; p2 : Longint ); cdecl;external;
  2225. Procedure fl_replace_xyplot_point(p1 : PFL_OBJECT; p2 : Longint ; p3 : double; p4 : double); cdecl;external;
  2226. Function fl_interpolate(p1,p2 : pfloat; p3 :Longint ;p4,p5 : pfloat; p6 : double; p7 : Longint ) : Longint; cdecl;external;
  2227. Procedure fl_xyplot_s2w(p1 : PFL_OBJECT; p2 : double; p3 : double; p4,p5 : pfloat); cdecl;external;
  2228. Procedure fl_xyplot_w2s(p1 : PFL_OBJECT; p2 : double; p3 : double; p4,p5 : pfloat); cdecl;external;
  2229. implementation
  2230. { From here we implement function aliases which were #defined }
  2231. procedure fl_set_button_shortcut(p1 : PFL_OBJECT; p2 : pchar;p3 : Longint );
  2232. begin
  2233. fl_set_object_shortcut (p1,p2,p3);
  2234. end;
  2235. procedure fl_set_pixmapbutton_data(p1 : PFL_OBJECT; p2 : ppchar);
  2236. begin
  2237. fl_set_pixmap_data(p1,p2);
  2238. end;
  2239. procedure fl_set_pixmapbutton_file(p1 : PFL_OBJECT; p2 : pchar);
  2240. begin
  2241. fl_set_pixmap_file(p1,p2);
  2242. end;
  2243. procedure fl_set_pixmapbutton_align(p1 : PFL_OBJECT; p2 : Longint ; p3 : Longint ; p4 : Longint );
  2244. begin
  2245. fl_set_pixmap_align(p1,p2,p3,p4);
  2246. end;
  2247. procedure fl_set_pixmapbutton_pixmap(p1 : PFL_OBJECT; p2 : TPixmap; p3 :TPixmap);
  2248. begin
  2249. fl_set_pixmap_pixmap(p1,p2,p3);
  2250. end;
  2251. procedure fl_set_pixmapbutton_colorcloseness(p1 : Longint ; p2 : Longint ; p3 :Longint );
  2252. begin
  2253. fl_set_pixmap_colorcloseness(p1,p2,p3);
  2254. end;
  2255. procedure fl_free_pixmapbutton_pixmap(p1 : PFL_OBJECT);
  2256. begin
  2257. fl_free_pixmap_pixmap(p1);
  2258. end;
  2259. function fl_get_pixmapbutton_pixmap(p1 : PFL_OBJECT; p2 : PPixmap; p3 : PPixmap) : TPixmap ;
  2260. begin
  2261. fl_get_pixmapbutton_pixmap:=fl_get_pixmap_pixmap(p1,p2,p3);
  2262. end;
  2263. Function FL_ObjWin ( P : PFL_Object) : TWindow;
  2264. begin
  2265. if P^.objclass <> FL_CANVAS then
  2266. FL_ObjWin :=P^.form^.window
  2267. else
  2268. FL_objWin := fl_get_canvas_id (p)
  2269. end;
  2270. procedure fl_rectf(x,y,w,h : TFL_COORD;c : TFL_COLOR);
  2271. begin
  2272. fl_rectangle(1,x,y,w,h,c)
  2273. end;
  2274. procedure fl_rect(x,y,w,h : TFL_COORD;c : TFL_COLOR);
  2275. begin
  2276. fl_rectangle(0,x,y,w,h,c)
  2277. end;
  2278. procedure fl_set_canvas_decoration(p1 : PFL_OBJECT; p2 : Longint );
  2279. begin
  2280. fl_set_object_boxtype (p1,p2);
  2281. end;
  2282. function fl_setpup_default_fontsize(p1 : LongInt) : Longint;
  2283. begin
  2284. fl_setpup_default_fontsize:=fl_setpup_fontsize(p1)
  2285. end;
  2286. function fl_setpup_default_fontstyle(p1 : LongInt) : Longint;
  2287. begin
  2288. fl_setpup_default_fontstyle:=fl_setpup_fontstyle(p1);
  2289. end;
  2290. procedure fl_setpup_default_color(p1 : TFL_COLOR; p2 : TFL_COLOR);
  2291. begin
  2292. fl_setpup_color(p1,p2);
  2293. end;
  2294. procedure fl_setpup_default_checkcolor(p1 : TFL_COLOR);
  2295. begin
  2296. fl_setpup_default_checkcolor(p1);
  2297. end;
  2298. end.