forms.pp 106 KB

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