gx_api.h 328 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615
  1. /**************************************************************************/
  2. /* */
  3. /* Copyright (c) Microsoft Corporation. All rights reserved. */
  4. /* */
  5. /* This software is licensed under the Microsoft Software License */
  6. /* Terms for Microsoft Azure RTOS. Full text of the license can be */
  7. /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
  8. /* and in the root directory of this software. */
  9. /* */
  10. /**************************************************************************/
  11. /**************************************************************************/
  12. /**************************************************************************/
  13. /** */
  14. /** GUIX Component */
  15. /** */
  16. /** Application Interface (API) */
  17. /** */
  18. /**************************************************************************/
  19. /**************************************************************************/
  20. /**************************************************************************/
  21. /* */
  22. /* APPLICATION INTERFACE DEFINITION RELEASE */
  23. /* */
  24. /* gx_api.h PORTABLE C */
  25. /* 6.0.1 */
  26. /* AUTHOR */
  27. /* */
  28. /* Kenneth Maxwell, Microsoft Corporation */
  29. /* */
  30. /* DESCRIPTION */
  31. /* */
  32. /* This file defines the basic Application Interface (API) to the */
  33. /* high-performance GUIX UI framework. All service prototypes */
  34. /* and data structure definitions are defined in this file. */
  35. /* Please note that basic data type definitions and other architecture-*/
  36. /* specific information is contained in the file gx_port.h. */
  37. /* */
  38. /* RELEASE HISTORY */
  39. /* */
  40. /* DATE NAME DESCRIPTION */
  41. /* */
  42. /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
  43. /* 06-30-2020 Kenneth Maxwell Modified comment(s), */
  44. /* added line break status, */
  45. /* updated product constants, */
  46. /* resulting in version 6.0.1 */
  47. /* */
  48. /**************************************************************************/
  49. #ifndef GX_API_H
  50. #define GX_API_H
  51. /* Determine if a C++ compiler is being used. If so, ensure that standard
  52. C is used to process the API information. */
  53. #ifdef __cplusplus
  54. /* Yes, C++ compiler is present. Use standard C. */
  55. extern "C" {
  56. #endif
  57. /* Define the major/minor version information that can be used by the application
  58. and the GUIX source as well. */
  59. #define AZURE_RTOS_GUIX
  60. #define GUIX_MAJOR_VERSION 6
  61. #define GUIX_MINOR_VERSION 0
  62. #define GUIX_PATCH_VERSION 1
  63. /* The following symbols are defined for backward compatibility reasons.*/
  64. #define __PRODUCT_GUIX__
  65. #define __GUIX_MAJOR_VERSION GUIX_MAJOR_VERSION
  66. #define __GUIX_MINOR_VERSION GUIX_MINOR_VERSION
  67. /* Ensure that ThreadX error checking is disabled for GUIX source code. */
  68. #ifdef GX_SOURCE_CODE
  69. #ifndef TX_DISABLE_ERROR_CHECKING
  70. #define TX_DISABLE_ERROR_CHECKING
  71. #endif
  72. #endif
  73. /* Include ThreadX API and GUIX port-specific include file. */
  74. #ifndef GX_DISABLE_THREADX_BINDING
  75. #include "tx_api.h"
  76. #define GX_THREADX_BINDING
  77. #else
  78. /* Define data types used by GUIX that are normally defined within ThreadX headers */
  79. #define VOID void
  80. typedef char CHAR;
  81. typedef unsigned char UCHAR;
  82. typedef int INT;
  83. typedef unsigned int UINT;
  84. typedef long LONG;
  85. typedef unsigned long ULONG;
  86. typedef short SHORT;
  87. typedef unsigned short USHORT;
  88. #endif
  89. #include "gx_port.h"
  90. /* Define signed 8-bit value */
  91. typedef signed char GX_BYTE;
  92. /* Define unsigned 8-bit value */
  93. typedef unsigned char GX_UBYTE;
  94. /* Define Resource ID. */
  95. typedef ULONG GX_RESOURCE_ID;
  96. /* Define Color type. */
  97. typedef ULONG GX_COLOR;
  98. /* Fixed point math data type */
  99. typedef signed long GX_FIXED_VAL;
  100. typedef char GX_CHAR;
  101. /* Define the String type. */
  102. typedef struct GX_STRING_STRUCT
  103. {
  104. GX_CONST GX_CHAR *gx_string_ptr; /* Pointer to string. */
  105. UINT gx_string_length; /* String length in bytes. */
  106. } GX_STRING;
  107. /* Define constants for GUIX. */
  108. /* Define configuration-specific constants. These constants can be redefined externally. */
  109. /* Default 20ms GUIX system timer. */
  110. #ifndef GX_SYSTEM_TIMER_MS
  111. #define GX_SYSTEM_TIMER_MS 20
  112. #endif
  113. #ifndef GX_DISABLE_DEPRECATED_STRING_API
  114. #define GX_ENABLE_DEPRECATED_STRING_API
  115. #endif
  116. #if defined(GX_THREADX_BINDING)
  117. /* Set default ThreadX timer tick frequency 100Hz (10ms timer). */
  118. #ifndef TX_TIMER_TICKS_PER_SECOND
  119. #define TX_TIMER_TICKS_PER_SECOND ((ULONG)100)
  120. #endif
  121. /* Derive GX_SYSTEM_TIMER_TICKS based on GX_SYSTEM_TIMER_MS value. */
  122. #ifndef GX_SYSTEM_TIMER_TICKS
  123. #define GX_SYSTEM_TIMER_TICKS ((GX_SYSTEM_TIMER_MS * TX_TIMER_TICKS_PER_SECOND) / 1000)
  124. #endif
  125. #endif /* GX_THREADX_BINDING */
  126. #ifndef GX_DISABLE_MULTITHREAD_SUPPORT
  127. #define GX_MULTITHREAD_SUPPORT
  128. #endif
  129. #ifndef GX_DISABLE_UTF8_SUPPORT
  130. #define GX_UTF8_SUPPORT
  131. #endif
  132. #ifndef GX_DISABLE_ARC_DRAWING_SUPPORT
  133. #define GX_ARC_DRAWING_SUPPORT
  134. #endif
  135. #ifndef GX_DISABLE_SOFTWARE_DECODER_SUPPORT
  136. #define GX_SOFTWARE_DECODER_SUPPORT
  137. #endif
  138. #ifndef GX_DISABLE_BINARY_RESOURCE_SUPPORT
  139. #define GX_BINARY_RESOURCE_SUPPORT
  140. #endif
  141. #ifndef GX_DISABLE_BRUSH_ALPHA_SUPPORT
  142. #define GX_BRUSH_ALPHA_SUPPORT
  143. #endif
  144. #ifndef GX_DISABLE_EXPO_ELASTIC_EASING_SUPPORT
  145. #define GX_EXPO_ELASTIC_EASING_SUPPORT
  146. #endif
  147. #ifndef GX_REPEAT_BUTTON_INITIAL_TICS
  148. #define GX_REPEAT_BUTTON_INITIAL_TICS 10
  149. #endif
  150. #ifndef GX_REPEAT_BUTTON_REPEAT_TICS
  151. #define GX_REPEAT_BUTTON_REPEAT_TICS 3
  152. #endif
  153. /* define size of the GUIX event queue */
  154. #ifndef GX_MAX_QUEUE_EVENTS
  155. #define GX_MAX_QUEUE_EVENTS 48
  156. #endif
  157. #ifndef GX_MAX_DIRTY_AREAS
  158. #define GX_MAX_DIRTY_AREAS 64
  159. #endif
  160. /* define depth of drawing context stack */
  161. #ifndef GX_MAX_CONTEXT_NESTING
  162. #define GX_MAX_CONTEXT_NESTING 8
  163. #endif
  164. /* define depth of input capture stack */
  165. #ifndef GX_MAX_INPUT_CAPTURE_NESTING
  166. #define GX_MAX_INPUT_CAPTURE_NESTING 4
  167. #endif
  168. #ifndef GX_SYSTEM_THREAD_PRIORITY
  169. #define GX_SYSTEM_THREAD_PRIORITY 16
  170. #endif
  171. #ifndef GX_SYSTEM_THREAD_TIMESLICE
  172. #define GX_SYSTEM_THREAD_TIMESLICE 10
  173. #endif
  174. #ifndef GX_CURSOR_BLINK_INTERVAL
  175. #define GX_CURSOR_BLINK_INTERVAL 20
  176. #endif
  177. #ifndef GX_MULTI_LINE_INDEX_CACHE_SIZE
  178. #define GX_MULTI_LINE_INDEX_CACHE_SIZE 32
  179. #endif
  180. #ifndef GX_MULTI_LINE_TEXT_BUTTON_MAX_LINES
  181. #define GX_MULTI_LINE_TEXT_BUTTON_MAX_LINES 4
  182. #endif
  183. /* maximum number of polygon edges */
  184. #ifndef GX_POLYGON_MAX_EDGE_NUM
  185. #define GX_POLYGON_MAX_EDGE_NUM 10
  186. #endif
  187. #ifndef GX_NUMERIC_SCROLL_WHEEL_STRING_BUFFER_SIZE
  188. #define GX_NUMERIC_SCROLL_WHEEL_STRING_BUFFER_SIZE 16
  189. #endif
  190. #ifndef GX_DEFAULT_CIRCULAR_GAUGE_ANIMATION_DELAY
  191. #define GX_DEFAULT_CIRCULAR_GAUGE_ANIMATION_DELAY 5
  192. #endif
  193. /* define the largest string needed by a NUMERIC prompt widget */
  194. #ifndef GX_NUMERIC_PROMPT_BUFFER_SIZE
  195. #define GX_NUMERIC_PROMPT_BUFFER_SIZE 16
  196. #endif
  197. /* define size of the GX_ANIMATION pool, i.e. max sumultaneous animations */
  198. #ifndef GX_ANIMATION_POOL_SIZE
  199. #define GX_ANIMATION_POOL_SIZE 6
  200. #endif
  201. /* define maximum string length. */
  202. #ifndef GX_MAX_STRING_LENGTH
  203. #define GX_MAX_STRING_LENGTH 102400
  204. #endif
  205. #ifndef GX_PALETTE_MODE_AA_TEXT_COLORS
  206. #define GX_PALETTE_MODE_AA_TEXT_COLORS 8
  207. #endif
  208. #ifndef GX_PARAMETER_NOT_USED
  209. #define GX_PARAMETER_NOT_USED(p) ((void) (p))
  210. #endif /* GX_PARAMETER_NOT_USED */
  211. #define GX_MAX_PIXELMAP_RESOLUTION 0x3FFF
  212. /* API input parameters and general constants. */
  213. #define GX_TRUE 1
  214. #define GX_FALSE 0
  215. #define GX_NULL 0
  216. #define GX_ID_NONE 0
  217. #define GX_MAGIC_NUMBER 0x4758U
  218. /* API return values. */
  219. #define GX_SUCCESS 0x00
  220. #define GX_DELETED 0x01
  221. #define GX_INVALID_ID 0x02
  222. #define GX_NO_VIEWS 0x03
  223. #define GX_OUT_OF_TIMERS 0x04
  224. #define GX_DRAW_NESTING_EXCEEDED 0x05
  225. #define GX_INVALID_CONTEXT 0x06
  226. #define GX_PTR_ERROR 0x07
  227. #define GX_NO_CHANGE 0x08
  228. #define GX_NOT_FOUND 0x09
  229. #define GX_FAILURE 0x10
  230. #define GX_CALLER_ERROR 0x11
  231. #define GX_INVALID_WIDGET 0x12
  232. #define GX_ALREADY_CREATED 0x13
  233. #define GX_INVALID_WIDGET_SIZE 0x14
  234. #define GX_INVALID_COLOR 0x15
  235. #define GX_INVALID_FONT 0x16
  236. #define GX_INVALID_STRING 0x17
  237. #define GX_INVALID_STYLE 0x18
  238. #define GX_INVALID_SIZE 0x19
  239. #define GX_INVALID_ALPHA 0x1A
  240. #define GX_INVALID_TYPE 0x1B
  241. #define GX_INVALID_CANVAS_SIZE 0x1C
  242. #define GX_INVALID_DISPLAY 0x1D
  243. #define GX_INVALID_WIDTH 0x1E
  244. #define GX_INVALID_HEIGHT 0x1F
  245. #define GX_INVALID_CANVAS 0x20
  246. #define GX_INVALID_COORDINATE 0x21
  247. #define GX_INVALID_VALUE 0x22
  248. #define GX_INVALID_DISPLAY_SIZE 0x23
  249. #define GX_INVALID_FORMAT 0x24
  250. #define GX_INVALID_APPEARANCE 0x25
  251. #define GX_INVALID_STATUS 0x26
  252. #define GX_INPUT_CAPTURE_NESTING_EXCEEDED 0x27
  253. #define GX_NOT_SUPPORTED 0x28
  254. #define GX_INVALID_MEMORY_SIZE 0x29
  255. #define GX_SYSTEM_MEMORY_ERROR 0x30
  256. #define GX_OUT_OF_ANIMATIONS 0x31
  257. #define GX_INVALID_ANIMATION 0x32
  258. #define GX_INVALID_RESOURCE_ID 0x33
  259. #define GX_INVALID_STRING_LENGTH 0x34
  260. #define GX_MATH_OVERFLOW 0x35
  261. #define GX_SYSTEM_ERROR 0xFE
  262. /* Define system error constants. */
  263. #define GX_SYSTEM_THREAD_CREATE_FAILED 1
  264. #define GX_SYSTEM_QUEUE_CREATE_FAILED 2
  265. #define GX_SYSTEM_MUTEX_CREATE_FAILED 3
  266. #define GX_SYSTEM_EVENT_SIZE_MISMATCH 4
  267. #define GX_SYSTEM_EVENT_RECEIVE_ERROR 5
  268. #define GX_SYSTEM_PROTECTION_ERROR 6
  269. #define GX_SYSTEM_DRIVER_SETUP_ERROR 7
  270. #define GX_SYSTEM_OUT_OF_VIEWS 8
  271. /* Define supported frame buffer color formats. */
  272. #define GX_COLOR_FORMAT_MONOCHROME 1 /* 0 = black, 1 = white */
  273. #define GX_COLOR_FORMAT_MONOCHROME_INVERTED 2 /* 1 = black, 0 = white */
  274. #define GX_COLOR_FORMAT_2BIT_GRAY 3 /* 2 bit-per-pixel grayscale */
  275. #define GX_COLOR_FORMAT_2BIT_GRAY_INVERTED 4 /* 2 bit-per-pixel grayscale inverted */
  276. #define GX_COLOR_FORMAT_4BIT_GRAY 5 /* 4 bit-per-pixel grayscale */
  277. #define GX_COLOR_FORMAT_4BIT_GRAY_INVERTED 6
  278. #define GX_COLOR_FORMAT_4BIT_VGA 7 /* Obsolete VGA planar format, 16 colors */
  279. #define GX_COLOR_FORMAT_8BIT_GRAY 8 /* 256 shades of gray */
  280. #define GX_COLOR_FORMAT_8BIT_GRAY_INVERTED 9 /* 256 shades of gray, 0 = white */
  281. #define GX_COLOR_FORMAT_8BIT_PALETTE 10 /* 256 color palette mode */
  282. #define GX_COLOR_FORMAT_8BIT_PACKED_PIXEL 11 /* 3:3:2 color mode */
  283. #define GX_COLOR_FORMAT_5551BGRX 12 /* 15 bpp, b:g:r order */
  284. #define GX_COLOR_FORMAT_1555XRGB 13 /* 15 bpp, r:g:b order */
  285. #define GX_COLOR_FORMAT_565RGB 14 /* 16 bpp, r:g:b order */
  286. #define GX_COLOR_FORMAT_4444ARGB 15 /* 16 bpp, 4:4:4:4 argb order */
  287. #define GX_COLOR_FORMAT_4444BGRA 16 /* 16 bpp, 4:4:4:4 bgra order */
  288. #define GX_COLOR_FORMAT_565BGR 17 /* 16 bpp, b:g:r order */
  289. #define GX_COLOR_FORMAT_24RGB 18 /* 24 bpp, r:g:b order, packed */
  290. #define GX_COLOR_FORMAT_24BGR 19 /* 24 bpp, b:g:r order, packed */
  291. #define GX_COLOR_FORMAT_24XRGB 20 /* 24 bpp, r:g:b order, unpacked */
  292. #define GX_COLOR_FORMAT_24BGRX 21 /* 24 bpp, b:g:r order, unpacked */
  293. #define GX_COLOR_FORMAT_32ARGB 22 /* 32 bpp, a:r:g:b order */
  294. #define GX_COLOR_FORMAT_32RGBA 23 /* 32 bpp, r:g:b:a order */
  295. #define GX_COLOR_FORMAT_32ABGR 24 /* 32 BPP, a:b:g:r order */
  296. #define GX_COLOR_FORMAT_32BGRA 25 /* 32 BPP, b:g:r:a order */
  297. #define GX_COLOR_FORMAT_8BIT_ALPHAMAP 26 /* 8 bit alpha only */
  298. /* Predefined color Resource IDs. */
  299. #define GX_COLOR_ID_CANVAS 0
  300. #define GX_COLOR_ID_WIDGET_FILL 1
  301. #define GX_COLOR_ID_WINDOW_FILL 2
  302. #define GX_COLOR_ID_DEFAULT_BORDER 3
  303. #define GX_COLOR_ID_WINDOW_BORDER 4
  304. #define GX_COLOR_ID_TEXT 5
  305. #define GX_COLOR_ID_SELECTED_TEXT 6
  306. #define GX_COLOR_ID_SELECTED_FILL 7
  307. #define GX_COLOR_ID_SHADOW 8
  308. #define GX_COLOR_ID_SHINE 9
  309. /* Button color Resource IDs. */
  310. #define GX_COLOR_ID_BTN_BORDER 10
  311. #define GX_COLOR_ID_BUTTON_BORDER GX_COLOR_ID_BTN_BORDER
  312. #define GX_COLOR_ID_BTN_UPPER 11
  313. #define GX_COLOR_ID_BUTTON_UPPER GX_COLOR_ID_BTN_UPPER
  314. #define GX_COLOR_ID_BTN_LOWER 12
  315. #define GX_COLOR_ID_BUTTON_LOWER GX_COLOR_ID_BTN_LOWER
  316. #define GX_COLOR_ID_BTN_TEXT 13
  317. #define GX_COLOR_ID_BUTTON_TEXT GX_COLOR_ID_BTN_TEXT
  318. /* Scrollbar color Resource IDs. */
  319. #define GX_COLOR_ID_SCROLL_FILL 14
  320. #define GX_COLOR_ID_SCROLL_BUTTON 15
  321. /* Text input color Resource IDs. */
  322. #define GX_COLOR_ID_TEXT_INPUT_TEXT 16
  323. #define GX_COLOR_ID_TEXT_INPUT_FILL 17
  324. /* slider color resource ids */
  325. #define GX_COLOR_ID_SLIDER_TICK 18
  326. #define GX_COLOR_ID_SLIDER_GROOVE_TOP 19 /* LIGHTGRAY */
  327. #define GX_COLOR_ID_SLIDER_GROOVE_BOTTOM 20 /* WHITE */
  328. #define GX_COLOR_ID_SLIDER_NEEDLE_OUTLINE 21 /* BLACK */
  329. #define GX_COLOR_ID_SLIDER_NEEDLE_FILL 22 /* DARKGRAY */
  330. #define GX_COLOR_ID_SLIDER_NEEDLE_LINE1 23 /* LIGHTGRAY */
  331. #define GX_COLOR_ID_SLIDER_NEEDLE_LINE2 24 /* BTN_BORDER */
  332. /* Text widget color resource ids */
  333. #define GX_COLOR_ID_DISABLED_TEXT 25
  334. #define GX_COLOR_ID_DISABLED_FILL 26
  335. #define GX_COLOR_ID_READONLY_TEXT 27
  336. #define GX_COLOR_ID_READONLY_FILL 28
  337. #define GX_MAX_DEFAULT_COLORS 29
  338. #define GX_FIRST_USER_COLOR GX_MAX_DEFAULT_COLORS
  339. /* Default font Resource IDs. */
  340. #define GX_FONT_ID_DEFAULT 0
  341. #define GX_FONT_ID_SYSTEM GX_FONT_ID_DEFAULT
  342. #define GX_FONT_ID_BUTTON 1
  343. #define GX_FONT_ID_PROMPT 2
  344. #define GX_FONT_ID_TEXT_INPUT 3
  345. #define GX_DEFAULT_FONT_COUNT 4
  346. #define GX_FIRST_USER_FONT GX_DEFAULT_FONT_COUNT
  347. /* Default PIXELMAP Resource IDs. */
  348. #define GX_PIXELMAP_NULL 0
  349. #define GX_PIXELMAP_RADIO_ON_ID 1
  350. #define GX_PIXELMAP_ID_RADIO_ON GX_PIXELMAP_RADIO_ON_ID
  351. #define GX_PIXELMAP_RADIO_OFF_ID 2
  352. #define GX_PIXELMAP_ID_RADIO_OFF GX_PIXELMAP_RADIO_OFF_ID
  353. #define GX_PIXELMAP_CHECKBOX_ON_ID 3
  354. #define GX_PIXELMAP_ID_CHECKBOX_ON GX_PIXELMAP_CHECKBOX_ON_ID
  355. #define GX_PIXELMAP_CHECKBOX_OFF_ID 4
  356. #define GX_PIXELMAP_ID_CHECKBOX_OFF GX_PIXELMAP_CHECKBOX_OFF_ID
  357. #define GX_DEFAULT_PIXELMAP_COUNT 5
  358. #define GX_FIRST_USER_PIXELMAP GX_DEFAULT_PIXELMAP_COUNT
  359. /* Predefined a:r:g:b color values, these follow the standard 16 VGA color names. */
  360. #define GX_COLOR_BLACK 0xff000000UL
  361. #define GX_COLOR_RED 0xffb80000UL
  362. #define GX_COLOR_GREEN 0xff00bc00UL
  363. #define GX_COLOR_BROWN 0xffb8bc00UL
  364. #define GX_COLOR_BLUE 0xff0000b8UL
  365. #define GX_COLOR_MAGENTA 0xffb800b8UL
  366. #define GX_COLOR_CYAN 0xff00bcb8UL
  367. #define GX_COLOR_LIGHTGRAY 0xffc0c0c0UL
  368. #define GX_COLOR_DARKGRAY 0xff808080UL
  369. #define GX_COLOR_LIGHTRED 0xffff0000UL
  370. #define GX_COLOR_LIGHTGREEN 0xff00ff00UL
  371. #define GX_COLOR_YELLOW 0xffffff00UL
  372. #define GX_COLOR_LIGHTBLUE 0xff0000ffUL
  373. #define GX_COLOR_LIGHTMAGENTA 0xffff00ffUL
  374. #define GX_COLOR_LIGHTCYAN 0xff00ffffUL
  375. #define GX_COLOR_WHITE 0xffffffffUL
  376. /* Define events. The the event ranges are:
  377. 0x00000000 to 0x000000ff 256 pre-defined system event types
  378. 0x00000100 to 0x00ffffff Signals from child widgets
  379. 0x01000000 to 0x3fffffff Unused
  380. 0x40000000 to 0xffffffff Application defined
  381. */
  382. #define GX_FIRST_SIGNAL 0x100
  383. #define GX_LAST_SIGNAL 0x00ffffffUL
  384. #define GX_SIGNAL_EVENT_MASK 0xff
  385. /* Define the pre-defined Widget event types. */
  386. #define GX_EVENT_TERMINATE 1
  387. #define GX_EVENT_REDRAW 2
  388. #define GX_EVENT_SHOW 3
  389. #define GX_EVENT_HIDE 4
  390. #define GX_EVENT_RESIZED 5
  391. #define GX_EVENT_SLIDE 6
  392. #define GX_EVENT_FOCUS_GAINED 7
  393. #define GX_EVENT_FOCUS_LOST 8
  394. #define GX_EVENT_HORIZONTAL_SCROLL 9
  395. #define GX_EVENT_VERTICAL_SCROLL 10
  396. #define GX_EVENT_TIMER 11
  397. #define GX_EVENT_PEN_DOWN 12
  398. #define GX_EVENT_PEN_UP 13
  399. #define GX_EVENT_PEN_MOVE 14
  400. #define GX_EVENT_PEN_DRAG 15
  401. #define GX_EVENT_KEY_DOWN 16
  402. #define GX_EVENT_KEY_UP 17
  403. #define GX_EVENT_CLOSE 18
  404. #define GX_EVENT_DELETE 19
  405. #define GX_EVENT_SLIDER_VALUE 20
  406. #define GX_EVENT_TOGGLE_ON 21
  407. #define GX_EVENT_TOGGLE_OFF 22
  408. #define GX_EVENT_RADIO_SELECT 23
  409. #define GX_EVENT_RADIO_DESELECT 24
  410. #define GX_EVENT_CLICKED 25
  411. #define GX_EVENT_LIST_SELECT 26
  412. #define GX_EVENT_VERTICAL_FLICK 27
  413. #define GX_EVENT_HORIZONTAL_FLICK 28
  414. #define GX_EVENT_PARENT_SIZED 30
  415. #define GX_EVENT_CLOSE_POPUP 31
  416. #define GX_EVENT_ZOOM_IN 32
  417. #define GX_EVENT_ZOOM_OUT 33
  418. #define GX_EVENT_LANGUAGE_CHANGE 34
  419. #define GX_EVENT_RESOURCE_CHANGE 35
  420. #define GX_EVENT_ANIMATION_COMPLETE 36
  421. #define GX_EVENT_SPRITE_COMPLETE 37
  422. #define GX_EVENT_TEXT_EDITED 40
  423. #define GX_EVENT_ANIMATION_START 41
  424. #define GX_EVENT_FOCUS_NEXT 42
  425. #define GX_EVENT_FOCUS_PREVIOUS 43
  426. #define GX_EVENT_FOCUS_GAIN_NOTIFY 44
  427. #define GX_EVENT_SELECT 45
  428. #define GX_EVENT_DESELECT 46
  429. #define GX_EVENT_PROGRESS_VALUE 47
  430. #define GX_EVENT_TOUCH_CALIBRATION_COMPLETE 48
  431. #define GX_EVENT_INPUT_RELEASE 49
  432. #define GX_EVENT_TREE_SELECT 50
  433. #define GX_EVENT_STYLE_CHANGED 51
  434. #define GX_EVENT_CLIENT_UPDATED 52
  435. #define GX_EVENT_CUT 53
  436. #define GX_EVENT_COPY 54
  437. #define GX_EVENT_PASTE 55
  438. #define GX_EVENT_MARK_NEXT 56
  439. #define GX_EVENT_MARK_PREVIOUS 57
  440. #define GX_EVENT_MARK_UP 58
  441. #define GX_EVENT_MARK_DOWN 59
  442. #define GX_EVENT_MARK_END 60
  443. #define GX_EVENT_MARK_HOME 61
  444. /* Define the pre-defined Widgets ID. */
  445. #define ID_DROP_LIST_BUTTON 65535
  446. /* Define the value of the first application defined event type. */
  447. #define GX_FIRST_USER_EVENT 0x40000000UL
  448. /* The following name has been deprecated, please use GX_FIRST_USER_EVENT */
  449. #define GX_FIRST_APP_EVENT GX_FIRST_USER_EVENT
  450. /* Define logical key values. */
  451. #define GX_KEY_PAGE_UP 0x1b01U
  452. #define GX_KEY_PAGE_DOWN 0x1b02U
  453. #define GX_KEY_END 0x1b03U
  454. #define GX_KEY_HOME 0x1b04U
  455. #define GX_KEY_LEFT_ARROW 0x1b05U
  456. #define GX_KEY_UP_ARROW 0x1b06U
  457. #define GX_KEY_RIGHT_ARROW 0x1b07U
  458. #define GX_KEY_DOWN_ARROW 0x1b08U
  459. #define GX_KEY_NEXT 0x1b09U
  460. #define GX_KEY_PREVIOUS 0x1b0aU
  461. #define GX_KEY_CAPS_LOCK 0x1b10U
  462. #define GX_KEY_SHIFT 0x1b11U
  463. #define GX_KEY_CONTROL 0x1b12U
  464. #define GX_KEY_NUMLOCK 0x1b13U
  465. #define GX_KEY_SEPARATOR 0x1b14U
  466. #define GX_KEY_BACKSPACE 0x08
  467. #define GX_KEY_SPACE 0x20
  468. #define GX_KEY_DELETE 0x7f
  469. #define GX_KEY_CARRIAGE_RETURN 0x0d
  470. #define GX_KEY_LINE_FEED 0x0a
  471. #define GX_KEY_SELECT GX_KEY_CARRIAGE_RETURN
  472. /* Define the Widget types. */
  473. #define GX_TYPE_WIDGET 1
  474. #define GX_TYPE_BUTTON 2
  475. #define GX_TYPE_TEXT_BUTTON 3
  476. #define GX_TYPE_MULTI_LINE_TEXT_BUTTON 4
  477. #define GX_TYPE_RADIO_BUTTON 5
  478. #define GX_TYPE_CHECKBOX 6
  479. #define GX_TYPE_PIXELMAP_BUTTON 7
  480. #define GX_TYPE_SHADOW_BUTTON 8
  481. #define GX_TYPE_ICON_BUTTON 9
  482. #define GX_TYPE_SPIN_BUTTON 10
  483. #define GX_TYPE_ICON 11
  484. #define GX_TYPE_SPRITE 12
  485. #define GX_TYPE_CIRCULAR_GAUGE 13
  486. #define GX_TYPE_SLIDER 20
  487. #define GX_TYPE_PIXELMAP_SLIDER 21
  488. #define GX_TYPE_VERTICAL_SCROLL 22
  489. #define GX_TYPE_HORIZONTAL_SCROLL 23
  490. #define GX_TYPE_PROGRESS_BAR 24
  491. #define GX_TYPE_RADIAL_PROGRESS_BAR 25
  492. #define GX_TYPE_RADIAL_SLIDER 26
  493. #define GX_TYPE_PROMPT 30
  494. #define GX_TYPE_NUMERIC_PROMPT 31
  495. #define GX_TYPE_PIXELMAP_PROMPT 32
  496. #define GX_TYPE_NUMERIC_PIXELMAP_PROMPT 33
  497. #define GX_TYPE_SINGLE_LINE_TEXT_INPUT 64
  498. #define GX_TYPE_PIXELMAP_TEXT_INPUT 65
  499. #define GX_TYPE_DROP_LIST 70
  500. #define GX_TYPE_MENU_LIST 75
  501. #define GX_TYPE_MENU 76
  502. #define GX_TYPE_ACCORDION_MENU 77
  503. /* Define the Window derived types. These types must always be >= GX_TYPE_WINDOW
  504. to insure type-safe casting in the GUIX internal code. */
  505. #define GX_TYPE_WINDOW 128
  506. #define GX_TYPE_ROOT_WINDOW 129
  507. #define GX_TYPE_VERTICAL_LIST 131
  508. #define GX_TYPE_HORIZONTAL_LIST 132
  509. #define GX_TYPE_POPUP_LIST 133
  510. #define GX_TYPE_MULTI_LINE_TEXT_VIEW 134
  511. #define GX_TYPE_MULTI_LINE_TEXT_INPUT 135
  512. #define GX_TYPE_LINE_CHART 136
  513. #define GX_TYPE_DIALOG 137
  514. #define GX_TYPE_KEYBOARD 138
  515. #define GX_TYPE_SCROLL_WHEEL 139
  516. #define GX_TYPE_TEXT_SCROLL_WHEEL 140
  517. #define GX_TYPE_STRING_SCROLL_WHEEL 141
  518. #define GX_TYPE_NUMERIC_SCROLL_WHEEL 142
  519. #define GX_TYPE_TREE_VIEW 143
  520. /* A pseudo-type, used by Studio code generator */
  521. #define GX_TYPE_TEMPLATE 200
  522. /* Applications can define their own window types */
  523. #define GX_FIRST_USER_WINDOW_TYPE 256
  524. /* Define Widget status flags. */
  525. #define GX_STATUS_VISIBLE 0x00000001UL
  526. #define GX_STATUS_SELECTABLE 0x00000002UL
  527. #define GX_STATUS_ACCEPTS_INPUT 0x00000004UL
  528. #define GX_STATUS_HIDDEN 0x00000008UL
  529. #define GX_STATUS_DEFAULT_FOCUS 0x00000010UL
  530. #define GX_STATUS_ACCEPTS_FOCUS 0x00000020UL
  531. #define GX_STATUS_HAS_FOCUS 0x00000040UL
  532. #define GX_STATUS_NOTIFY_ON_GAIN_FOCUS 0x00000080UL
  533. #define GX_STATUS_NAV_STOP 0x00000100UL
  534. #define GX_STATUS_NAV_PARENT 0x00000200UL
  535. #define GX_STATUS_MOVABLE 0x00001000UL
  536. #define GX_STATUS_BUTTON_DERIVED 0x00002000UL
  537. #define GX_STATUS_TOGGLE_UNLOCK 0x00004000UL
  538. #define GX_STATUS_DIRTY 0x00008000UL
  539. /* define cursor status flags */
  540. #define GX_STATUS_CURSOR_SHOW 0x00010000UL
  541. #define GX_STATUS_CURSOR_DRAW 0x00020000UL
  542. #define GX_STATUS_MARK_PREVIOUS 0x00040000UL
  543. #define GX_STATUS_MARK_NEXT 0x00080000UL
  544. /* Define radial slider status flags */
  545. #define GX_STATUS_ANIMATION_NONE 0x00010000UL
  546. #define GX_STATUS_TRACKING_START 0x00020000UL
  547. #define GX_STATUS_MODAL 0x00100000UL
  548. #define GX_STATUS_LINE_BREAK_PROCESSED 0x02000000UL
  549. #define GX_STATUS_RESIZE_NOTIFY 0x04000000UL
  550. #define GX_STATUS_STUDIO_CREATED 0x08000000UL
  551. #define GX_STATUS_TRANSPARENT 0x10000000UL
  552. #define GX_STATUS_NONCLIENT 0x20000000UL
  553. #define GX_STATUS_OWNS_INPUT 0x40000000UL
  554. #define GX_STATUS_DYNAMICALLY_ALLOCATED 0x80000000UL
  555. /* Define Widget style flags. */
  556. #define GX_STYLE_NONE 0x00000000UL
  557. #define GX_STYLE_BORDER_NONE 0x00000000UL
  558. #define GX_STYLE_BORDER_RAISED 0x00000001UL
  559. #define GX_STYLE_BORDER_RECESSED 0x00000002UL
  560. #define GX_STYLE_BORDER_THIN 0x00000004UL
  561. #define GX_STYLE_BORDER_THICK 0x00000008UL
  562. #define GX_STYLE_BORDER_MASK 0x0000000fUL
  563. /* Define global style flags. */
  564. #define GX_STYLE_TRANSPARENT 0x10000000UL
  565. #define GX_STYLE_DRAW_SELECTED 0x20000000UL
  566. #define GX_STYLE_ENABLED 0x40000000UL
  567. #define GX_STYLE_DYNAMICALLY_ALLOCATED 0x80000000UL
  568. #define GX_STYLE_USE_LOCAL_ALPHA 0x01000000UL
  569. /* Define Button style flags. */
  570. #define GX_STYLE_BUTTON_PUSHED 0x00000010UL
  571. #define GX_STYLE_BUTTON_TOGGLE 0x00000020UL
  572. #define GX_STYLE_BUTTON_RADIO 0x00000040UL
  573. #define GX_STYLE_BUTTON_EVENT_ON_PUSH 0x00000080UL
  574. #define GX_STYLE_BUTTON_REPEAT 0x00000100UL
  575. /* Define Sprite style flags */
  576. #define GX_STYLE_SPRITE_AUTO 0x00000010UL
  577. #define GX_STYLE_SPRITE_LOOP 0x00000020UL
  578. /* Define List style flags. */
  579. #define GX_STYLE_CENTER_SELECTED 0x00000010UL
  580. #define GX_STYLE_WRAP 0x00000020UL
  581. #define GX_STYLE_FLICKABLE 0x00000040UL
  582. /* Define Icon, Pixelmap button and Icon button alignment flags. */
  583. #define GX_STYLE_HALIGN_CENTER 0x00010000UL
  584. #define GX_STYLE_HALIGN_LEFT 0x00020000UL
  585. #define GX_STYLE_HALIGN_RIGHT 0x00040000UL
  586. #define GX_STYLE_VALIGN_CENTER 0x00080000UL
  587. #define GX_STYLE_VALIGN_TOP 0x00100000UL
  588. #define GX_STYLE_VALIGN_BOTTOM 0x00200000UL
  589. #define GX_PIXELMAP_HALIGN_MASK 0x00070000UL
  590. #define GX_PIXELMAP_VALIGN_MASK 0x00380000UL
  591. /* Define Slider style flags. */
  592. #define GX_STYLE_SHOW_NEEDLE 0x00000200UL
  593. #define GX_STYLE_SHOW_TICKMARKS 0x00000400UL
  594. #define GX_STYLE_SLIDER_VERTICAL 0x00000800UL
  595. /* Define Pixelmap Slider flags. */
  596. #define GX_STYLE_TILE_BACKGROUND 0x00001000UL
  597. /* Define Progress Bar style flags. */
  598. #define GX_STYLE_PROGRESS_PERCENT 0x00000010UL
  599. #define GX_STYLE_PROGRESS_TEXT_DRAW 0x00000020UL
  600. #define GX_STYLE_PROGRESS_VERTICAL 0x00000040UL
  601. #define GX_STYLE_PROGRESS_SEGMENTED_FILL 0x00000100UL
  602. /* Define Radial Progress Bar style flags. */
  603. #define GX_STYLE_RADIAL_PROGRESS_ALIAS 0x00000200UL
  604. #define GX_STYLE_RADIAL_PROGRESS_ROUND 0x00000400UL
  605. /* Define Text alignment styles. */
  606. #define GX_STYLE_TEXT_LEFT 0x00001000UL
  607. #define GX_STYLE_TEXT_RIGHT 0x00002000UL
  608. #define GX_STYLE_TEXT_CENTER 0x00004000UL
  609. #define GX_STYLE_TEXT_ALIGNMENT_MASK 0x00007000UL
  610. #define GX_STYLE_TEXT_COPY 0x00008000UL
  611. /* define cursor style flags */
  612. #define GX_STYLE_CURSOR_BLINK 0x00000040UL
  613. #define GX_STYLE_CURSOR_ALWAYS 0x00000080UL
  614. /* text input style */
  615. #define GX_STYLE_TEXT_INPUT_NOTIFY_ALL 0x00000100UL
  616. #define GX_STYLE_TEXT_INPUT_READONLY 0x00000200UL
  617. /* Define Window styles. */
  618. #define GX_STYLE_TILE_WALLPAPER 0x00040000UL
  619. /* Define circular gauge styles. */
  620. #define GX_STYLE_CIRCULAR_GAUGE_CCW 0x00000010UL
  621. /* Define menu styles. */
  622. #define GX_STYLE_MENU_EXPANDED 0x00000010UL
  623. /* Define tree view styles. */
  624. #define GX_STYLE_TREE_VIEW_SHOW_ROOT_LINES 0x00000010UL
  625. /* Define Scroll Bar styles. */
  626. #define GX_SCROLLBAR_BACKGROUND_TILE 0x00010000UL
  627. #define GX_SCROLLBAR_RELATIVE_THUMB 0x00020000UL
  628. #define GX_SCROLLBAR_END_BUTTONS 0x00040000UL
  629. #define GX_SCROLLBAR_VERTICAL 0x01000000UL
  630. #define GX_SCROLLBAR_HORIZONTAL 0x02000000UL
  631. /* Define Animation Styles. */
  632. /* Define generic scroll wheel styles*/
  633. #define GX_STYLE_SCROLL_WHEEL_DRAG 0x00000200UL
  634. /* Define text scroll wheel styles*/
  635. #define GX_STYLE_TEXT_SCROLL_WHEEL_ROUND 0x00000100UL
  636. /* Define animation status. */
  637. #define GX_ANIMATION_IDLE 0x01U
  638. #define GX_ANIMATION_ACTIVE 0x02U
  639. #define GX_ANIMATION_SLIDE_TRACKING 0x03U
  640. #define GX_ANIMATION_SLIDE_LANDING 0x04U
  641. /* Define pre-defined animation type flags. */
  642. #define GX_ANIMATION_NONE 0x0000U
  643. #define GX_ANIMATION_TRANSLATE 0x0001U
  644. #define GX_ANIMATION_SCREEN_DRAG 0x0002U
  645. /* flags that can be used in combination with screen drag animation */
  646. #define GX_ANIMATION_WRAP 0x0100U
  647. #define GX_ANIMATION_HORIZONTAL 0x0200U
  648. #define GX_ANIMATION_VERTICAL 0x0400U
  649. /* flag that can be used in combination with translate animation */
  650. #define GX_ANIMATION_PUSH_STACK 0x4000U
  651. #define GX_ANIMATION_DETACH 0x8000U
  652. #define GX_ANIMATION_EASING_FUNC_MASK 0x10f0U
  653. #define GX_ANIMATION_BACK_EASE_IN 0x0010U
  654. #define GX_ANIMATION_BACK_EASE_OUT 0x0020U
  655. #define GX_ANIMATION_BACK_EASE_IN_OUT 0x0030U
  656. #define GX_ANIMATION_BOUNCE_EASE_IN 0x0040U
  657. #define GX_ANIMATION_BOUNCE_EASE_OUT 0x0050U
  658. #define GX_ANIMATION_BOUNCE_EASE_IN_OUT 0x0060U
  659. #define GX_ANIMATION_CIRC_EASE_IN 0x0070U
  660. #define GX_ANIMATION_CIRC_EASE_OUT 0x0080U
  661. #define GX_ANIMATION_CIRC_EASE_IN_OUT 0x0090U
  662. #define GX_ANIMATION_CUBIC_EASE_IN 0x00a0U
  663. #define GX_ANIMATION_CUBIC_EASE_OUT 0x00b0U
  664. #define GX_ANIMATION_CUBIC_EASE_IN_OUT 0x00c0U
  665. #define GX_ANIMATION_ELASTIC_EASE_IN 0x00d0U
  666. #define GX_ANIMATION_ELASTIC_EASE_OUT 0x00e0U
  667. #define GX_ANIMATION_ELASTIC_EASE_IN_OUT 0x00f0U
  668. #define GX_ANIMATION_EXPO_EASE_IN 0x1000U
  669. #define GX_ANIMATION_EXPO_EASE_OUT 0x1010U
  670. #define GX_ANIMATION_EXPO_EASE_IN_OUT 0x1020U
  671. #define GX_ANIMATION_QUAD_EASE_IN 0x1030U
  672. #define GX_ANIMATION_QUAD_EASE_OUT 0x1040U
  673. #define GX_ANIMATION_QUAD_EASE_IN_OUT 0x1050U
  674. #define GX_ANIMATION_QUART_EASE_IN 0x1060U
  675. #define GX_ANIMATION_QUART_EASE_OUT 0x1070U
  676. #define GX_ANIMATION_QUART_EASE_IN_OUT 0x1080U
  677. #define GX_ANIMATION_QUINT_EASE_IN 0x1090U
  678. #define GX_ANIMATION_QUINT_EASE_OUT 0x10a0U
  679. #define GX_ANIMATION_QUINT_EASE_IN_OUT 0x10b0U
  680. #define GX_ANIMATION_SINE_EASE_IN 0x10c0U
  681. #define GX_ANIMATION_SINE_EASE_OUT 0x10d0U
  682. #define GX_ANIMATION_SINE_EASE_IN_OUT 0x10e0U
  683. /* Sprite background operations */
  684. #define GX_SPRITE_BACKGROUND_NO_ACTION 0x00 /* do nothing between frames */
  685. #define GX_SPRITE_BACKGROUND_SOLID_FILL 0x01 /* draw background with solid color */
  686. #define GX_SPRITE_BACKGROUND_RESTORE 0x02 /* draw background with first image */
  687. /* Define Font information. */
  688. #define GX_FONT_ALIASED 0x01
  689. /* Define Brush attributes. */
  690. #define GX_BRUSH_OUTLINE 0x0000U /* for rectangle, text, polygon */
  691. #define GX_BRUSH_SOLID_FILL 0x0001U /* For rectangle, text, polygon */
  692. #define GX_BRUSH_PIXELMAP_FILL 0x0002U /* For rectangle, polygon */
  693. #define GX_BRUSH_ALIAS 0x0004U /* For lines */
  694. #define GX_BRUSH_UNDERLINE 0x0008U /* Underlined text */
  695. #define GX_BRUSH_ROUND 0x0010U /* For lines */
  696. /* Define Canvas information. */
  697. #define GX_CANVAS_SIMPLE 0x01 /* Canvas is memory-only canvas (no display) */
  698. #define GX_CANVAS_MANAGED 0x02 /* canvas is composited to frame buffer */
  699. #define GX_CANVAS_VISIBLE 0x04 /* Canvas is visible */
  700. #define GX_CANVAS_MODIFIED 0x08
  701. #define GX_CANVAS_COMPOSITE 0x20 /* Canvas is a buffer for creating composite*/
  702. /* Define common combinations. */
  703. #define GX_CANVAS_MANAGED_VISIBLE (GX_CANVAS_MANAGED | GX_CANVAS_VISIBLE)
  704. #define GX_ALPHA_VALUE_OPAQUE 255
  705. /* Define pre-defined Widget Resource IDs. */
  706. #define GX_ID_VERTICAL_SCROLL 0xff00U
  707. #define GX_ID_HORIZONTAL_SCROLL 0xff01U
  708. #define GX_ID_SCROLL_UP_LEFT 0xff02U
  709. #define GX_ID_SCROLL_DOWN_RIGHT 0xff03U
  710. #define GX_ID_SCROLL_THUMB 0xff04U
  711. #define GX_ID_DROP_BUTTON 0xff05U
  712. /* pre-defined timer IDs */
  713. #define GX_BUTTON_TIMER 0xff00U
  714. #define GX_CIRCULAR_GAUGE_TIMER 0xff01U
  715. #define GX_RADIAL_SLIDER_TIMER 0xff02U
  716. /* Define the echo mode of Single-line Text input. */
  717. #define GX_STAR_ECHO 0x01
  718. #define GX_ECHO 0x02
  719. /* Define image type. */
  720. #define GX_IMAGE_TYPE_BMP 0x01
  721. #define GX_IMAGE_TYPE_GIF 0x02
  722. #define GX_IMAGE_TYPE_PNG 0x03
  723. #define GX_IMAGE_TYPE_JPG 0x04
  724. /* Define action types for Studio generated screen flow */
  725. #define GX_ACTION_TYPE_ATTACH 1
  726. #define GX_ACTION_TYPE_DETACH 2
  727. #define GX_ACTION_TYPE_TOGGLE 3
  728. #define GX_ACTION_TYPE_SHOW 4
  729. #define GX_ACTION_TYPE_HIDE 5
  730. #define GX_ACTION_TYPE_ANIMATION 6
  731. #define GX_ACTION_TYPE_WINDOW_EXECUTE 7
  732. #define GX_ACTION_TYPE_WINDOW_EXECUTE_STOP 8
  733. #define GX_ACTION_TYPE_SCREEN_STACK_PUSH 9
  734. #define GX_ACTION_TYPE_SCREEN_STACK_POP 10
  735. #define GX_ACTION_TYPE_SCREEN_STACK_RESET 11
  736. /* Gradient Styles */
  737. #define GX_GRADIENT_TYPE_VERTICAL 0x01
  738. #define GX_GRADIENT_TYPE_ALPHA 0x02
  739. #define GX_GRADIENT_TYPE_MIRROR 0x04
  740. /* Mouse status flags */
  741. #define GX_MOUSE_ENABLED 0x01
  742. #define GX_MOUSE_VISIBLE 0x02
  743. /* Text input cursor flags */
  744. #define GX_CURSOR_USE_CUSTOM_HEIGHT 0x01
  745. /* Text render stlyles */
  746. #if defined(GX_THAI_GLYPH_SHAPING_SUPPORT)
  747. #define GX_TEXT_RENDER_THAI_GLYPH_SHAPING 0x01
  748. #endif
  749. /* Define macros used in GUIX. */
  750. #ifndef GX_MIN
  751. #define GX_MIN(_a, _b) (((_a) < (_b)) ? (_a) : (_b))
  752. #endif
  753. #ifndef GX_ABS
  754. #define GX_ABS(_a) (((_a) < 0) ? (-(_a)) : (_a))
  755. #endif
  756. #ifndef GX_MEMCPY
  757. #define GX_MEMCPY(a, b, c) memcpy(a, b, c)
  758. #endif
  759. #if defined(GX_UTF8_SUPPORT)
  760. #if defined(GX_EXTENDED_UNICODE_SUPPORT)
  761. /* support 32 bit character codes */
  762. typedef ULONG GX_CHAR_CODE;
  763. #define GX_MAX_GLYPH_CODE 0x10ffff
  764. #else
  765. /* support 16 bit character codes */
  766. typedef USHORT GX_CHAR_CODE;
  767. #define GX_MAX_GLYPH_CODE 0xffff
  768. #endif
  769. #else
  770. /* support 8 bit character codes */
  771. typedef GX_UBYTE GX_CHAR_CODE;
  772. #define GX_MAX_GLYPH_CODE 0xff
  773. #endif
  774. #ifndef GX_STRLEN
  775. #define GX_STRLEN(a) strlen((char *)a)
  776. #endif
  777. #ifndef GX_STRCPY
  778. #define GX_STRCPY(a, b) strcpy(a, b)
  779. #endif
  780. #ifndef GX_STRCAT
  781. #define GX_STRCAT(a, b) strcat(a, b)
  782. #endif
  783. #define GX_SIGNAL(_a, _b) (((_a) << 8) | (_b))
  784. #define IS_SIGNAL(_a) (_a >= GX_FIRST_SIGNAL && _a <= GX_LAST_SIGNAL)
  785. #define GX_SWAP_VALS(_a, _b) {_a ^= _b; _b ^= _a; _a ^= _b; }
  786. #define GX_SEARCH_DEPTH_INFINITE 65535
  787. #if defined(GX_MOUSE_SUPPORT)
  788. #if !defined(GX_MOUSE_MAX_RESOLUTION)
  789. #define GX_MOUSE_MAX_RESOLUTION 32
  790. #endif
  791. #endif
  792. /* Define the Point type. */
  793. typedef struct GX_POINT_STRUCT
  794. {
  795. GX_VALUE gx_point_x;
  796. GX_VALUE gx_point_y;
  797. } GX_POINT;
  798. /* Define the edge type. */
  799. typedef struct GX_POLYGON_EDGE_STRUCT
  800. {
  801. INT gx_polygon_edge_xi;
  802. INT gx_polygon_edge_dx;
  803. INT gx_polygon_edge_dy;
  804. INT gx_polygon_edge_sign;
  805. INT gx_polygon_edge_x_decision;
  806. INT gx_polygon_edge_ymax;
  807. INT gx_polygon_edge_ymin;
  808. } GX_POLYGON_EDGE;
  809. /* Define the Rectangle type. */
  810. typedef struct GX_RECTANGLE_STRUCT
  811. {
  812. GX_VALUE gx_rectangle_left;
  813. GX_VALUE gx_rectangle_top;
  814. GX_VALUE gx_rectangle_right;
  815. GX_VALUE gx_rectangle_bottom;
  816. } GX_RECTANGLE;
  817. /* Define the View type. */
  818. typedef struct GX_VIEW_STRUCT
  819. {
  820. GX_RECTANGLE gx_view_rectangle;
  821. struct GX_VIEW_STRUCT *gx_view_next;
  822. } GX_VIEW;
  823. /* Define the Glyph type. */
  824. /* Define macro for GX_GLYPH_STRUCT members. */
  825. #define GX_GLYPH_MEMBERS_DECLARE \
  826. GX_CONST GX_UBYTE *gx_glyph_map; /* Pointer to glyph data */ \
  827. SHORT gx_glyph_ascent; /* Glyph ascent above baseline */ \
  828. SHORT gx_glyph_descent; /* Glyph descent below baseline */ \
  829. GX_UBYTE gx_glyph_advance; /* Glyph advance */ \
  830. GX_BYTE gx_glyph_leading; /* Pen x-pre-advance */ \
  831. GX_UBYTE gx_glyph_width; \
  832. GX_UBYTE gx_glyph_height;
  833. /* Define the Glyph type. */
  834. typedef struct GX_GLYPH_STRUCT
  835. {
  836. GX_GLYPH_MEMBERS_DECLARE
  837. } GX_GLYPH;
  838. #if defined (GX_FONT_KERNING_SUPPORT)
  839. /* Define the Kerning Glyph type. */
  840. typedef struct GX_KERNING_GLYPH_STRUCT
  841. {
  842. GX_GLYPH_MEMBERS_DECLARE
  843. GX_CONST GX_UBYTE *gx_kerning_table; /* Kerning table */
  844. } GX_KERNING_GLYPH;
  845. #endif
  846. /* Define the Compressed Glyph type. */
  847. typedef struct GX_COMPRESSED_GLYPH_STRUCT
  848. {
  849. GX_GLYPH_MEMBERS_DECLARE
  850. USHORT gx_glyph_map_size; /* Glyph size */
  851. } GX_COMPRESSED_GLYPH;
  852. /* Define the Font type. */
  853. typedef struct GX_FONT_STRUCT
  854. {
  855. GX_UBYTE gx_font_format; /* Format flags, defined below */
  856. GX_UBYTE gx_font_prespace; /* Line spacing above, pixels */
  857. GX_UBYTE gx_font_postspace; /* Line spacing below, pixels */
  858. GX_UBYTE gx_font_line_height; /* Font height, excluding spacing */
  859. GX_UBYTE gx_font_baseline; /* Font baseline */
  860. GX_CHAR_CODE gx_font_first_glyph; /* First glyph on this page */
  861. GX_CHAR_CODE gx_font_last_glyph; /* Last glyph on this page */
  862. union {
  863. GX_CONST GX_GLYPH *gx_font_normal_glyphs; /* Array of GX_GLYPH structures */
  864. GX_CONST GX_COMPRESSED_GLYPH *gx_font_compressed_glyphs; /* Array of GX_COMPRESSED_GLYPH structures */
  865. #if defined (GX_FONT_KERNING_SUPPORT)
  866. GX_CONST GX_KERNING_GLYPH *gx_font_kerning_glyphs; /* Array of GX_KERNING_GLYPH structures */
  867. #endif
  868. } gx_font_glyphs;
  869. GX_CONST struct GX_FONT_STRUCT *gx_font_next_page; /* For multiple page fonts (Unicode) */
  870. } GX_FONT;
  871. #define GX_FONT_FORMAT_BPP_MASK 0x0F
  872. #define GX_FONT_FORMAT_1BPP 0x01
  873. #define GX_FONT_FORMAT_2BPP 0x02
  874. #define GX_FONT_FORMAT_4BPP 0x04
  875. #define GX_FONT_FORMAT_8BPP 0x08
  876. #define GX_FONT_FORMAT_COMPRESSED 0x10
  877. #define GX_FONT_FORMAT_FREETYPE 0x20
  878. #define GX_FONT_FORMAT_KERNING 0x40
  879. #define GX_FONT_FORMAT_REVERSED_ORDER 0x80 /* For 4bpp font, half bytes order reversed. For 1bpp font, bits order reversed with least signigicant bit in left. */
  880. /* Define Pixelmap type. */
  881. typedef struct GX_PIXELMAP_STRUCT
  882. {
  883. GX_UBYTE gx_pixelmap_version_major; /* Pixelmap major version number */
  884. GX_UBYTE gx_pixelmap_version_minor; /* Pixelmap minor version number */
  885. GX_UBYTE gx_pixelmap_flags; /* Flags defined below */
  886. GX_UBYTE gx_pixelmap_format; /* Color format, defined below */
  887. GX_CONST GX_UBYTE *gx_pixelmap_data; /* Pointer to pixelmap data */
  888. ULONG gx_pixelmap_data_size; /* Size of the pixelmap data array */
  889. GX_CONST GX_UBYTE *gx_pixelmap_aux_data; /* Auxiliary data array. */
  890. ULONG gx_pixelmap_aux_data_size; /* Size of the auxiliary data array */
  891. ULONG gx_pixelmap_transparent_color; /* Used for translated GIF images */
  892. GX_VALUE gx_pixelmap_width; /* Width - in pixels */
  893. GX_VALUE gx_pixelmap_height; /* Height - in pixels */
  894. } GX_PIXELMAP;
  895. /* Pixelmap flags that can be in GX_PIXELMAP.gx_pixelmap_flags above. */
  896. #define GX_PIXELMAP_TRANSPARENT 0x01 /* Pixelmap has transparent pixels */
  897. #define GX_PIXELMAP_COMPRESSED 0x02 /* Pixelmap is compressed format */
  898. #define GX_PIXELMAP_ALPHA 0x04 /* Pixelmap has alpha channel */
  899. #define GX_PIXELMAP_TARGA 0x08 /* Pixelmap uses Targa format compresssion */
  900. #define GX_PIXELMAP_RAW_FORMAT 0x10 /* RAW JPG/PNG format */
  901. #if defined(GX_USE_SYNERGY_DRW)
  902. #define GX_PIXELMAP_DYNAMICALLY_ALLOCATED 0x20 /* Pixelmap is dynamically allocated */
  903. #endif
  904. #define PIXELMAP_IS_TRANSPARENT(a) (a -> gx_pixelmap_flags & (GX_PIXELMAP_TRANSPARENT | GX_PIXELMAP_ALPHA))
  905. /* Define Brush type. */
  906. typedef struct GX_BRUSH_STRUCT
  907. {
  908. GX_PIXELMAP *gx_brush_pixelmap; /* Used for fills and line ends */
  909. GX_FONT *gx_brush_font; /* Used for drawing text */
  910. ULONG gx_brush_line_pattern; /* Used for drawing dashed lines */
  911. ULONG gx_brush_pattern_mask; /* Used for drawing dashed lines */
  912. GX_COLOR gx_brush_fill_color; /* For solid color fills */
  913. GX_COLOR gx_brush_line_color; /* For lines and outlines */
  914. UINT gx_brush_style; /* Flags defined below */
  915. GX_VALUE gx_brush_width; /* Line width */
  916. UCHAR gx_brush_alpha; /* for blending */
  917. } GX_BRUSH;
  918. /* forward reference */
  919. struct GX_WIDGET_STRUCT;
  920. struct GX_TEXT_SCROLL_WHEEL_STRUCT;
  921. /* Define Dirty Area type. */
  922. typedef struct GX_DIRTY_AREA_STRUCT
  923. {
  924. GX_RECTANGLE gx_dirty_area_rectangle;
  925. struct GX_WIDGET_STRUCT *gx_dirty_area_widget;
  926. } GX_DIRTY_AREA;
  927. /* Define Event type. Note: the size of this structure must be less than or equal to the constant
  928. GX_EVENT_SIZE defined previously. */
  929. typedef struct GX_EVENT_STRUCT
  930. {
  931. ULONG gx_event_type; /* Global event type */
  932. ULONG gx_event_display_handle;
  933. struct GX_WIDGET_STRUCT *gx_event_target; /* receiver of event */
  934. USHORT gx_event_sender; /* ID of the event sender */
  935. union
  936. {
  937. UINT gx_event_timer_id;
  938. GX_POINT gx_event_pointdata;
  939. GX_UBYTE gx_event_uchardata[4];
  940. USHORT gx_event_ushortdata[2];
  941. ULONG gx_event_ulongdata;
  942. GX_BYTE gx_event_chardata[4];
  943. SHORT gx_event_shortdata[2];
  944. INT gx_event_intdata[2];
  945. LONG gx_event_longdata;
  946. } gx_event_payload;
  947. } GX_EVENT;
  948. #define GX_EVENT_SIZE sizeof(GX_EVENT)
  949. #define GX_EVENT_ULONGS ((GX_EVENT_SIZE + 3) / sizeof(ULONG))
  950. /* Define Scroll information structure. This structure is used to define the position
  951. and scaling of the scroll bar thumb button. */
  952. typedef struct GX_SCROLL_INFO_STRUCT
  953. {
  954. INT gx_scroll_value;
  955. INT gx_scroll_minimum;
  956. INT gx_scroll_maximum;
  957. GX_VALUE gx_scroll_visible;
  958. GX_VALUE gx_scroll_increment;
  959. } GX_SCROLL_INFO;
  960. /* Define Slider information structure. This structure is used to define the
  961. appearance of a Pixelmap Slider. */
  962. typedef struct GX_SLIDER_INFO_STRUCT
  963. {
  964. INT gx_slider_info_min_val;
  965. INT gx_slider_info_max_val;
  966. INT gx_slider_info_current_val;
  967. INT gx_slider_info_increment;
  968. GX_VALUE gx_slider_info_min_travel;
  969. GX_VALUE gx_slider_info_max_travel;
  970. GX_VALUE gx_slider_info_needle_width;
  971. GX_VALUE gx_slider_info_needle_height;
  972. GX_VALUE gx_slider_info_needle_inset;
  973. GX_VALUE gx_slider_info_needle_hotspot_offset;
  974. } GX_SLIDER_INFO;
  975. typedef struct GX_PIXELMAP_SLIDER_INFO_STRUCT
  976. {
  977. GX_RESOURCE_ID gx_pixelmap_slider_info_lower_background_pixelmap;
  978. GX_RESOURCE_ID gx_pixelmap_slider_info_upper_background_pixelmap;
  979. GX_RESOURCE_ID gx_pixelmap_slider_info_needle_pixelmap;
  980. } GX_PIXELMAP_SLIDER_INFO;
  981. /* Define Progress bar information structure. This structure is used to define the
  982. appearance of a Progress bar. */
  983. typedef struct GX_PROGRESS_BAR_INFO_STRUCT
  984. {
  985. INT gx_progress_bar_info_min_val;
  986. INT gx_progress_bar_info_max_val;
  987. INT gx_progress_bar_info_current_val;
  988. GX_RESOURCE_ID gx_progress_bar_font_id;
  989. GX_RESOURCE_ID gx_progress_bar_normal_text_color;
  990. GX_RESOURCE_ID gx_progress_bar_selected_text_color;
  991. GX_RESOURCE_ID gx_progress_bar_disabled_text_color;
  992. GX_RESOURCE_ID gx_progress_bar_fill_pixelmap;
  993. } GX_PROGRESS_BAR_INFO;
  994. /* Define circular gauge information structure, this structure is used to
  995. define the appearance of the circular gauge widget. */
  996. typedef struct GX_CIRCULAR_GAUGE_INFO_STRUCT
  997. {
  998. /* Rotating steps. */
  999. INT gx_circular_gauge_info_animation_steps;
  1000. /* Delay time between each step. */
  1001. INT gx_circular_gauge_info_animation_delay;
  1002. /* Offset of needle cor relative to parent. */
  1003. GX_VALUE gx_circular_gauge_info_needle_xpos;
  1004. GX_VALUE gx_circular_gauge_info_needle_ypos;
  1005. /* Rotation center. */
  1006. GX_VALUE gx_circular_gauge_info_needle_xcor;
  1007. GX_VALUE gx_circular_gauge_info_needle_ycor;
  1008. GX_RESOURCE_ID gx_circular_gauge_info_needle_pixelmap;
  1009. } GX_CIRCULAR_GAUGE_INFO;
  1010. /* Define radial progress bar information structure, this structure is used to
  1011. define the appearance of the radial progress bar widget. */
  1012. typedef struct GX_RADIAL_PROGRESS_BAR_INFO_STRUCT
  1013. {
  1014. GX_VALUE gx_radial_progress_bar_info_xcenter;
  1015. GX_VALUE gx_radial_progress_bar_info_ycenter;
  1016. GX_VALUE gx_radial_progress_bar_info_radius; /* radius of circular track. */
  1017. GX_VALUE gx_radial_progress_bar_info_current_val; /* current value. */
  1018. GX_VALUE gx_radial_progress_bar_info_anchor_val; /* starting angle for the circular arc. */
  1019. GX_RESOURCE_ID gx_radial_progress_bar_info_font_id;
  1020. GX_RESOURCE_ID gx_radial_progress_bar_info_normal_text_color; /* resource ID of color for normal text. */
  1021. GX_RESOURCE_ID gx_radial_progress_bar_info_selected_text_color; /* resource ID of color for selected text. */
  1022. GX_RESOURCE_ID gx_radial_progress_bar_info_disabled_text_color;
  1023. GX_VALUE gx_radial_progress_bar_info_normal_brush_width; /* width of lower track. */
  1024. GX_VALUE gx_radial_progress_bar_info_selected_brush_width; /* width of upper track. */
  1025. GX_RESOURCE_ID gx_radial_progress_bar_info_normal_brush_color; /* resource ID of color for lower track. */
  1026. GX_RESOURCE_ID gx_radial_progress_bar_info_selected_brush_color; /* resource ID of color for upper track. */
  1027. } GX_RADIAL_PROGRESS_BAR_INFO;
  1028. /* Define radial slider information structure, this structure is used to
  1029. define the appearance of the radial slider widget. */
  1030. typedef struct GX_RADIAL_SLIDER_INFO_STRUCT
  1031. {
  1032. GX_VALUE gx_radial_slider_info_xcenter;
  1033. GX_VALUE gx_radial_slider_info_ycenter;
  1034. USHORT gx_radial_slider_info_radius;
  1035. USHORT gx_radial_slider_info_track_width;
  1036. GX_VALUE gx_radial_slider_info_current_angle;
  1037. GX_VALUE gx_radial_slider_info_min_angle;
  1038. GX_VALUE gx_radial_slider_info_max_angle;
  1039. GX_VALUE *gx_radial_slider_info_angle_list;
  1040. USHORT gx_radial_slider_info_list_count;
  1041. GX_RESOURCE_ID gx_radial_slider_info_background_pixelmap;
  1042. GX_RESOURCE_ID gx_radial_slider_info_needle_pixelmap;
  1043. }GX_RADIAL_SLIDER_INFO;
  1044. /* Define GX_LINE_CHART information structure, this structure is used to
  1045. define the appearance of the line chart widget. */
  1046. typedef struct GX_LINE_CHART_INFO_STRUCT
  1047. {
  1048. INT gx_line_chart_min_val;
  1049. INT gx_line_chart_max_val;
  1050. INT *gx_line_chart_data;
  1051. GX_VALUE gx_line_chart_left_margin;
  1052. GX_VALUE gx_line_chart_top_margin;
  1053. GX_VALUE gx_line_chart_right_margin;
  1054. GX_VALUE gx_line_chart_bottom_margin;
  1055. GX_VALUE gx_line_chart_max_data_count;
  1056. GX_VALUE gx_line_chart_active_data_count;
  1057. GX_VALUE gx_line_chart_axis_line_width;
  1058. GX_VALUE gx_line_chart_data_line_width;
  1059. GX_RESOURCE_ID gx_line_chart_axis_color;
  1060. GX_RESOURCE_ID gx_line_chart_line_color;
  1061. } GX_LINE_CHART_INFO;
  1062. /* Define Scroll Appearance structure. This structure is used to define the
  1063. appearance of a scroll bar. */
  1064. typedef struct GX_SCROLLBAR_APPEARANCE_STRUCT
  1065. {
  1066. GX_VALUE gx_scroll_width;
  1067. GX_VALUE gx_scroll_thumb_width;
  1068. GX_VALUE gx_scroll_thumb_travel_min;
  1069. GX_VALUE gx_scroll_thumb_travel_max;
  1070. GX_UBYTE gx_scroll_thumb_border_style;
  1071. GX_RESOURCE_ID gx_scroll_fill_pixelmap;
  1072. GX_RESOURCE_ID gx_scroll_thumb_pixelmap;
  1073. GX_RESOURCE_ID gx_scroll_up_pixelmap;
  1074. GX_RESOURCE_ID gx_scroll_down_pixelmap;
  1075. GX_RESOURCE_ID gx_scroll_thumb_color;
  1076. GX_RESOURCE_ID gx_scroll_thumb_border_color;
  1077. GX_RESOURCE_ID gx_scroll_button_color;
  1078. } GX_SCROLLBAR_APPEARANCE;
  1079. /* Sprite frame structure. This structure is used to define the
  1080. parameters of a GX_SPRITE animation sequence. */
  1081. typedef struct GX_SPRITE_FRAME_STRUCT
  1082. {
  1083. GX_RESOURCE_ID gx_sprite_frame_pixelmap;
  1084. GX_VALUE gx_sprite_frame_x_offset;
  1085. GX_VALUE gx_sprite_frame_y_offset;
  1086. UINT gx_sprite_frame_delay;
  1087. UINT gx_sprite_frame_background_operation;
  1088. UCHAR gx_sprite_frame_alpha;
  1089. } GX_SPRITE_FRAME;
  1090. /* GX_GRADIENT structure. This structure is used to support
  1091. runtime gradient pixelmap creation */
  1092. typedef struct GX_GRADIENT_STRUCT {
  1093. struct GX_GRADIENT_STRUCT *gx_gradient_next;
  1094. struct GX_GRADIENT_STRUCT *gx_gradient_previous;
  1095. UCHAR gx_gradient_type;
  1096. UCHAR gx_gradient_alpha_start;
  1097. UCHAR gx_gradient_alpha_end;
  1098. GX_FIXED_VAL gx_gradient_alpha_step;
  1099. GX_FIXED_VAL gx_gradient_alpha_current;
  1100. GX_PIXELMAP gx_gradient_pixelmap;
  1101. } GX_GRADIENT;
  1102. /* Define Drawing Context type. */
  1103. typedef struct GX_DRAW_CONTEXT_STRUCT
  1104. {
  1105. GX_BRUSH gx_draw_context_brush;
  1106. struct GX_CANVAS_STRUCT *gx_draw_context_canvas;
  1107. struct GX_DISPLAY_STRUCT *gx_draw_context_display;
  1108. GX_VIEW *gx_draw_context_view_head;
  1109. GX_VIEW gx_draw_context_simple_view;
  1110. GX_COLOR *gx_draw_context_memory;
  1111. GX_RECTANGLE gx_draw_context_dirty;
  1112. GX_RECTANGLE *gx_draw_context_clip;
  1113. GX_VALUE gx_draw_context_pitch;
  1114. } GX_DRAW_CONTEXT;
  1115. /* Define fill map info type. */
  1116. typedef struct GX_FILL_PIXELMAP_INFO_STRUCT
  1117. {
  1118. GX_PIXELMAP *pixelmap;
  1119. GX_BOOL draw;
  1120. GX_UBYTE *current_pixel_ptr;
  1121. GX_UBYTE *current_aux_ptr;
  1122. GX_UBYTE mask;
  1123. INT x_offset;
  1124. INT y_offset;
  1125. }GX_FILL_PIXELMAP_INFO;
  1126. /* Display layer services structure type. These services may be provided by display drivers
  1127. support multiple hardware graphics layers. */
  1128. typedef struct GX_DISPLAY_LAYER_SERVICES_STRUCT
  1129. {
  1130. UINT (*gx_display_layer_initialize)(INT layer, struct GX_CANVAS_STRUCT *canvas);
  1131. VOID (*gx_display_layer_show)(INT layer);
  1132. VOID (*gx_display_layer_hide)(INT layer);
  1133. VOID (*gx_display_layer_alpha_set)(INT layer, GX_UBYTE alpha);
  1134. VOID (*gx_display_layer_offset_set)(INT layer, GX_VALUE xoffset, GX_VALUE yoffset);
  1135. } GX_DISPLAY_LAYER_SERVICES;
  1136. #if defined(GX_MOUSE_SUPPORT)
  1137. typedef struct GX_MOUSE_CURSOR_INFO_STRUCT
  1138. {
  1139. GX_RESOURCE_ID gx_mouse_cursor_image_id;
  1140. GX_VALUE gx_mouse_cursor_hotspot_x;
  1141. GX_VALUE gx_mouse_cursor_hotspot_y;
  1142. } GX_MOUSE_CURSOR_INFO;
  1143. typedef struct GX_DISPLAY_MOUSE_STRUCT
  1144. {
  1145. GX_MOUSE_CURSOR_INFO *gx_mouse_cursor_info;
  1146. struct GX_CANVAS_STRUCT *gx_mouse_canvas;
  1147. GX_POINT gx_mouse_position;
  1148. GX_UBYTE gx_mouse_status;
  1149. #if !defined(GX_HARDWARE_MOUSE_SUPPORT)
  1150. GX_RECTANGLE gx_mouse_rect;
  1151. GX_UBYTE *gx_mouse_capture_memory;
  1152. #endif
  1153. } GX_DISPLAY_MOUSE;
  1154. #endif
  1155. /* Define the display control block structure. */
  1156. typedef struct GX_DISPLAY_STRUCT
  1157. {
  1158. /* Define the display ID and name. The display ID is used simply to see if the
  1159. control block is valid. */
  1160. ULONG gx_display_id; /* Control block ID GX_DISPLAY_ID */
  1161. ULONG gx_display_handle; /* used to identify unique display instance */
  1162. GX_CONST GX_CHAR *gx_display_name; /* Pointer to display's name */
  1163. struct GX_DISPLAY_STRUCT *gx_display_created_next; /* Pointer to next control block */
  1164. struct GX_DISPLAY_STRUCT *gx_display_created_previous; /* Pointer to previous control block */
  1165. GX_COLOR *gx_display_color_table; /* color ID to native value mapping table */
  1166. GX_PIXELMAP **gx_display_pixelmap_table; /* pixelmap ID to GX_PIXELMAP mapping table */
  1167. GX_FONT **gx_display_font_table; /* font ID to GX_FONT mapping table */
  1168. GX_COLOR *gx_display_palette; /* only used for 8-bpp palette mode driver */
  1169. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  1170. GX_CONST GX_CHAR ***gx_display_language_table_deprecated;
  1171. #endif
  1172. GX_CONST GX_STRING **gx_display_language_table; /* Define the language table. */
  1173. UINT gx_display_color_table_size;
  1174. UINT gx_display_pixelmap_table_size;
  1175. UINT gx_display_font_table_size;
  1176. UINT gx_display_string_table_size;
  1177. UINT gx_display_palette_size; /* only used for 8-bpp palette mode driver */
  1178. GX_UBYTE gx_display_color_format;
  1179. GX_UBYTE gx_display_active_language; /* Define the active language. */
  1180. GX_UBYTE gx_display_language_table_size;
  1181. GX_UBYTE gx_display_driver_ready;
  1182. GX_VALUE gx_display_width;
  1183. GX_VALUE gx_display_height;
  1184. VOID *gx_display_driver_data;
  1185. VOID *gx_display_accelerator; /* graphics accelerator handle/instance */
  1186. GX_DISPLAY_LAYER_SERVICES *gx_display_layer_services; /* optional additional hardware graphics layer services */
  1187. /* function to initiate drawing sequence */
  1188. VOID (*gx_display_driver_drawing_initiate)(struct GX_DISPLAY_STRUCT *display, struct GX_CANVAS_STRUCT *canvas);
  1189. /* function to terminate drawing sequence */
  1190. VOID (*gx_display_driver_drawing_complete)(struct GX_DISPLAY_STRUCT *display, struct GX_CANVAS_STRUCT *canvas);
  1191. /* function for installing palette (only used for certain palette mode drivers) */
  1192. VOID (*gx_display_driver_palette_set)(struct GX_DISPLAY_STRUCT *display, GX_COLOR *palette, INT count);
  1193. /* Function for drawing non-aliased, single pixel line */
  1194. VOID (*gx_display_driver_simple_line_draw)(GX_DRAW_CONTEXT *context,
  1195. INT x1, INT y1, INT x2, INT y2);
  1196. /* Function for drawing non-aliased, wide line */
  1197. VOID (*gx_display_driver_simple_wide_line_draw)(GX_DRAW_CONTEXT *context,
  1198. INT x1, INT y1, INT x2, INT y2);
  1199. /* Function for drawing anti-aliased aliased, single-pixel line */
  1200. VOID (*gx_display_driver_anti_aliased_line_draw)(GX_DRAW_CONTEXT *context,
  1201. INT x1, INT y1, INT x2, INT y2);
  1202. /* Function for drawing anti-aliased aliased, wide line */
  1203. VOID (*gx_display_driver_anti_aliased_wide_line_draw)(GX_DRAW_CONTEXT *context,
  1204. INT x1, INT y1, INT x2, INT y2);
  1205. VOID (*gx_display_driver_horizontal_line_draw)(GX_DRAW_CONTEXT *context,
  1206. INT x1, INT x2, INT ypos, INT width, GX_COLOR color);
  1207. VOID (*gx_display_driver_horizontal_pixelmap_line_draw)(GX_DRAW_CONTEXT *context, INT xstart, INT xend, INT y, GX_FILL_PIXELMAP_INFO *info);
  1208. VOID (*gx_display_driver_vertical_line_draw)(GX_DRAW_CONTEXT *context,
  1209. INT y1, INT y2, INT xpos, INT width, GX_COLOR color);
  1210. VOID (*gx_display_driver_horizontal_pattern_line_draw)(GX_DRAW_CONTEXT *context,
  1211. INT x1, INT x2, INT ypos);
  1212. VOID (*gx_display_driver_vertical_pattern_line_draw)(GX_DRAW_CONTEXT *context,
  1213. INT y1, INT y2, INT xpos);
  1214. /* Define driver function pointers for canvas composite */
  1215. VOID (*gx_display_driver_canvas_copy)(struct GX_CANVAS_STRUCT *source,
  1216. struct GX_CANVAS_STRUCT *dest);
  1217. /* Define driver function pointers for canvas composite */
  1218. VOID (*gx_display_driver_canvas_blend)(struct GX_CANVAS_STRUCT *source,
  1219. struct GX_CANVAS_STRUCT *dest);
  1220. /* Define driver function pointers for pixelmap drawing */
  1221. VOID (*gx_display_driver_pixelmap_draw)(GX_DRAW_CONTEXT *context,
  1222. INT xpos, INT ypos, GX_PIXELMAP *pmp);
  1223. VOID (*gx_display_driver_pixelmap_blend)(GX_DRAW_CONTEXT *context,
  1224. INT xpos, INT ypos, GX_PIXELMAP *pmp, GX_UBYTE alpha);
  1225. VOID (*gx_display_driver_alphamap_draw)(GX_DRAW_CONTEXT *context,
  1226. INT xpos, INT ypos, GX_PIXELMAP *pmp);
  1227. #if defined(GX_SOFTWARE_DECODER_SUPPORT)
  1228. /* driver function for decode raw jpg directly to frame buffer */
  1229. VOID (*gx_display_driver_jpeg_draw)(GX_DRAW_CONTEXT *context, INT x, INT y, GX_PIXELMAP *pixelmap);
  1230. VOID (*gx_display_driver_png_draw)(GX_DRAW_CONTEXT *context, INT x, INT y, GX_PIXELMAP *pixelmap);
  1231. #endif
  1232. VOID (*gx_display_driver_pixelmap_rotate)(GX_DRAW_CONTEXT *context, INT xpos, INT ypos, GX_PIXELMAP *pixelmap,
  1233. INT angle, INT rot_cx, INT rot_cy);
  1234. /* Define driver function pointer for low-level pixel writing. */
  1235. VOID (*gx_display_driver_pixel_write)(GX_DRAW_CONTEXT *context,
  1236. INT x, INT y, GX_COLOR color);
  1237. /* Define driver function for block move. */
  1238. VOID (*gx_display_driver_block_move)(GX_DRAW_CONTEXT *context,
  1239. GX_RECTANGLE *block, INT xshift, INT yshift);
  1240. /* Define driver function pointer for low-level pixel blending. */
  1241. VOID (*gx_display_driver_pixel_blend)(GX_DRAW_CONTEXT *context,
  1242. INT x, INT y, GX_COLOR color, GX_UBYTE alpha);
  1243. /* Define driver function pointer to convert 32-bit color to native format. */
  1244. GX_COLOR (*gx_display_driver_native_color_get)(struct GX_DISPLAY_STRUCT *display, GX_COLOR rawcolor);
  1245. /* Define driver function pointer to return row pitch, in bytes, for given canvas width. */
  1246. USHORT (*gx_display_driver_row_pitch_get)(USHORT width);
  1247. /* Define driver function pointer for low-level buffer toggle. */
  1248. VOID (*gx_display_driver_buffer_toggle)(struct GX_CANVAS_STRUCT *canvas,
  1249. GX_RECTANGLE *dirty_area);
  1250. /* Define driver function pointer for drawing polygon. */
  1251. VOID (*gx_display_driver_polygon_draw)(GX_DRAW_CONTEXT *context, GX_POINT *vertex, INT num);
  1252. /* Define driver function pointer for filling polygon shape. */
  1253. VOID (*gx_display_driver_polygon_fill)(GX_DRAW_CONTEXT *context, GX_POINT *vertex, INT num);
  1254. /* Define driver function pointer for drawing aliased 8bit glyph (may be NULL). */
  1255. VOID (*gx_display_driver_8bit_glyph_draw)(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area,
  1256. GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph);
  1257. /* Define driver function pointer for drawing aliased 4bit glyph (may be NULL). */
  1258. VOID (*gx_display_driver_4bit_glyph_draw)(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area,
  1259. GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph);
  1260. /* Define driver function pointer for drawing 1bit (monochrome) glyph. */
  1261. VOID (*gx_display_driver_1bit_glyph_draw)(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area,
  1262. GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph);
  1263. /* Define driver function pointer for drawing aliased 8bit compressed glyph (may be NULL). */
  1264. VOID (*gx_display_driver_8bit_compressed_glyph_draw)(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area,
  1265. GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph);
  1266. /* Define driver function pointer for drawing aliased 4bit compressed glyph (may be NULL). */
  1267. VOID (*gx_display_driver_4bit_compressed_glyph_draw)(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area,
  1268. GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph);
  1269. /* Define driver function pointer for drawing 1bit (monochrome) compressed glyph. */
  1270. VOID (*gx_display_driver_1bit_compressed_glyph_draw)(GX_DRAW_CONTEXT *context, GX_RECTANGLE *draw_area,
  1271. GX_POINT *map_offset, GX_CONST GX_GLYPH *glyph);
  1272. VOID (*gx_display_driver_callback_assign)(UINT(*wait_func)(VOID *), VOID *);
  1273. #if defined(GX_ARC_DRAWING_SUPPORT)
  1274. /* Define driver function pointer for drawing circle. */
  1275. VOID (*gx_display_driver_circle_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r);
  1276. /* Define driver function pointer for drawing anti-aliased circle. */
  1277. VOID (*gx_display_driver_anti_aliased_circle_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r);
  1278. /* Define driver function pointer for drawing circle with wide outlines. */
  1279. VOID (*gx_display_driver_wide_circle_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r);
  1280. /* Define driver function pointer for drawing anti-aliased circle with wide outlines. */
  1281. VOID (*gx_display_driver_anti_aliased_wide_circle_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r);
  1282. /* Define driver function pointer for filling circle shape. */
  1283. VOID (*gx_display_driver_circle_fill)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r);
  1284. /* Define driver function pointer for drawing circle arc. */
  1285. VOID (*gx_display_driver_arc_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  1286. /* Define driver function pointer for drawing anti-aliased circle arc. */
  1287. VOID (*gx_display_driver_anti_aliased_arc_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  1288. /* Define driver function pointer for drawing circle arc with wide outlines. */
  1289. VOID (*gx_display_driver_wide_arc_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  1290. /* Define driver function pointer for drawing anti-aliased circle arc with wide outlines. */
  1291. VOID (*gx_display_driver_anti_aliased_wide_arc_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  1292. /* Define driver function pointer for filling circle arc shape. */
  1293. VOID (*gx_display_driver_arc_fill)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  1294. /* Define driver function pointer for filling pie shape. */
  1295. VOID (*gx_display_driver_pie_fill)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  1296. /* Define driver function pointer for drawing ellipse. */
  1297. VOID (*gx_display_driver_ellipse_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, INT a, INT b);
  1298. /* Define driver function pointer for drawing anti-aliased ellipse. */
  1299. VOID (*gx_display_driver_anti_aliased_ellipse_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, INT a, INT b);
  1300. /* Define driver function pointer for drawing ellipse with wide outlines. */
  1301. VOID (*gx_display_driver_wide_ellipse_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, INT a, INT b);
  1302. /* Define driver function pointer for drawing anti-aliased ellipse with wide outlines. */
  1303. VOID (*gx_display_driver_anti_aliased_wide_ellipse_draw)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, INT a, INT b);
  1304. /* Define driver function pointer for drawing a filled ellipse. */
  1305. VOID (*gx_display_driver_ellipse_fill)(GX_DRAW_CONTEXT *context, INT xcenter, INT ycenter, INT a, INT b);
  1306. #endif
  1307. #if defined (GX_MOUSE_SUPPORT)
  1308. GX_DISPLAY_MOUSE gx_display_mouse;
  1309. /* Define driver function pointer for setting pixelmap for mouse. */
  1310. VOID (*gx_display_mouse_define)(struct GX_DISPLAY_STRUCT *display, struct GX_CANVAS_STRUCT *canvas, GX_MOUSE_CURSOR_INFO *info);
  1311. VOID (*gx_display_mouse_position_set)(struct GX_DISPLAY_STRUCT *display, GX_POINT *pos);
  1312. VOID (*gx_display_mouse_enable)(struct GX_DISPLAY_STRUCT *display, GX_BOOL enable);
  1313. #if !defined(GX_HARDWARE_MOUSE_SUPPORT)
  1314. VOID (*gx_display_mouse_capture)(struct GX_DISPLAY_STRUCT *display);
  1315. VOID (*gx_display_mouse_restore)(struct GX_DISPLAY_STRUCT *display);
  1316. VOID (*gx_display_mouse_draw)(struct GX_DISPLAY_STRUCT *display);
  1317. #endif
  1318. #endif
  1319. } GX_DISPLAY;
  1320. /* Define Canvas type. */
  1321. typedef struct GX_CANVAS_STRUCT
  1322. {
  1323. /* Define the canvas ID and name. The canvas ID is used simply to see if the
  1324. control block is valid. */
  1325. ULONG gx_canvas_id; /* Control block ID */
  1326. GX_CONST GX_CHAR *gx_canvas_name; /* Pointer to canvas name */
  1327. /* Define pointers to the next and previous canvases in the created list. */
  1328. struct GX_CANVAS_STRUCT *gx_canvas_created_next,
  1329. *gx_canvas_created_previous;
  1330. /* Define the canvas memory pointer. */
  1331. GX_COLOR *gx_canvas_memory;
  1332. /* padded canvas memory buffer, only needed for Win32 */
  1333. #ifdef GX_TARGET_WIN32
  1334. GX_COLOR *gx_canvas_padded_memory;
  1335. #endif
  1336. /* Define the size of the canvas memory. */
  1337. ULONG gx_canvas_memory_size;
  1338. /* Which display driver is used to paint on this canvas. */
  1339. GX_DISPLAY *gx_canvas_display;
  1340. /* Prior to drawing on a canvas, we must know what portion needs to be updated */
  1341. GX_RECTANGLE gx_canvas_dirty_area;
  1342. GX_DIRTY_AREA gx_canvas_dirty_list[GX_MAX_DIRTY_AREAS];
  1343. UINT gx_canvas_dirty_count;
  1344. UINT gx_canvas_draw_count;
  1345. UINT gx_canvas_status;
  1346. GX_VALUE gx_canvas_x_resolution;
  1347. GX_VALUE gx_canvas_y_resolution;
  1348. GX_VALUE gx_canvas_display_offset_x;
  1349. GX_VALUE gx_canvas_display_offset_y;
  1350. GX_UBYTE gx_canvas_alpha;
  1351. GX_UBYTE gx_canvas_draw_nesting;
  1352. GX_BYTE gx_canvas_hardware_layer;
  1353. } GX_CANVAS;
  1354. /* Define Theme type */
  1355. typedef struct GX_THEME_STRUCT
  1356. {
  1357. GX_COLOR *theme_color_table;
  1358. GX_FONT **theme_font_table;
  1359. GX_PIXELMAP **theme_pixelmap_table;
  1360. GX_COLOR *theme_palette;
  1361. GX_SCROLLBAR_APPEARANCE theme_vertical_scrollbar_appearance;
  1362. GX_SCROLLBAR_APPEARANCE theme_horizontal_scrollbar_appearance;
  1363. ULONG theme_vertical_scroll_style;
  1364. ULONG theme_horizontal_scroll_style;
  1365. USHORT theme_color_table_size;
  1366. USHORT theme_font_table_size;
  1367. USHORT theme_pixelmap_table_size;
  1368. USHORT theme_palette_size;
  1369. } GX_THEME;
  1370. /* Define text input cursor control block */
  1371. typedef struct GX_TEXT_INPUT_CURSOR_STRUCT
  1372. {
  1373. GX_VALUE gx_text_input_cursor_blink_interval;
  1374. /* User defined cursor width and height */
  1375. GX_VALUE gx_text_input_cursor_width;
  1376. GX_VALUE gx_text_input_cursor_height;
  1377. GX_UBYTE gx_text_input_cursor_flags;
  1378. /* Cursor position information, managed by the cursor control code.*/
  1379. GX_POINT gx_text_input_cursor_pos;
  1380. } GX_TEXT_INPUT_CURSOR;
  1381. /* Define pen configuration structure. */
  1382. typedef struct GX_PEN_CONFIGURATION_STRUCT
  1383. {
  1384. GX_FIXED_VAL gx_pen_configuration_min_drag_dist;
  1385. UINT gx_pen_configuration_max_pen_speed_ticks;
  1386. } GX_PEN_CONFIGURATION;
  1387. #define GX_RESOURCE_HEADER_SIZE 20
  1388. #define GX_THEME_HEADER_SIZE 114
  1389. #define GX_COLOR_HEADER_SIZE 8
  1390. #define GX_PALETTE_HEADER_SIZE 8
  1391. #define GX_FONT_HEADER_SIZE 16
  1392. #define GX_PAGE_HEADER_SIZE 21
  1393. #define GX_GLYPH_HEADER_SIZE 18
  1394. #define GX_KERNING_GLYPH_HEADER_SIZE 20
  1395. #define GX_PIXELMAP_HEADER_SIZE 32
  1396. #define GX_STRING_HEADER_SIZE 10
  1397. #define GX_LANGUAGE_HEADER_SIZE 72
  1398. #define GX_LANGUAGE_HEADER_NAME_SIZE 64
  1399. /* Degine binary resource header type. */
  1400. typedef struct GX_RESOURCE_HEADER_STRUCT{
  1401. USHORT gx_resource_header_magic_number;
  1402. USHORT gx_resource_header_version;
  1403. USHORT gx_resource_header_theme_count;
  1404. USHORT gx_resource_header_language_count;
  1405. ULONG gx_resource_header_theme_data_size;
  1406. ULONG gx_resource_header_string_data_size;
  1407. ULONG gx_resource_header_data_size;
  1408. } GX_RESOURCE_HEADER;
  1409. /* Define binary theme header type. */
  1410. typedef struct GX_THEME_HEADER_STRUCT{
  1411. USHORT gx_theme_header_magic_number;
  1412. USHORT gx_theme_header_index;
  1413. USHORT gx_theme_header_color_count;
  1414. USHORT gx_theme_header_palette_count;
  1415. USHORT gx_theme_header_font_count;
  1416. USHORT gx_theme_header_pixelmap_count;
  1417. GX_SCROLLBAR_APPEARANCE gx_theme_header_vscroll_appearance;
  1418. GX_SCROLLBAR_APPEARANCE gx_theme_header_hscroll_appearance;
  1419. ULONG gx_theme_header_vscroll_style;
  1420. ULONG gx_theme_header_hscroll_style;
  1421. ULONG gx_theme_header_color_data_size;
  1422. ULONG gx_theme_header_palette_data_size;
  1423. ULONG gx_theme_header_font_data_size;
  1424. ULONG gx_theme_header_pixelmap_data_size;
  1425. ULONG gx_theme_header_data_size;
  1426. } GX_THEME_HEADER;
  1427. /* Define binary color header type. */
  1428. typedef struct GX_COLOR_HEADER_STRUCT{
  1429. USHORT gx_color_header_magic_number;
  1430. USHORT gx_color_header_color_count;
  1431. ULONG gx_color_header_data_size;
  1432. }GX_COLOR_HEADER;
  1433. /* Define binary palette header type. */
  1434. typedef struct GX_PALETTE_HEADER_STRUCT{
  1435. USHORT gx_palette_header_magic_number;
  1436. USHORT gx_palette_header_color_count;
  1437. ULONG gx_palette_header_data_size;
  1438. }GX_PALETTE_HEADER;
  1439. /* Define font header type. */
  1440. typedef struct GX_FONT_HEADER_STRUCT{
  1441. USHORT gx_font_header_magic_number;
  1442. USHORT gx_font_header_index;
  1443. USHORT gx_font_header_page_count;
  1444. GX_UBYTE gx_font_header_deault;
  1445. GX_UBYTE gx_font_header_bits;
  1446. ULONG gx_font_header_data_size;
  1447. ULONG gx_font_header_data_offset;
  1448. }GX_FONT_HEADER;
  1449. /* Define font page header type. */
  1450. typedef struct GX_PAGE_HEADER_STRUCT{
  1451. USHORT gx_page_header_magic_number;
  1452. USHORT gx_page_header_index;
  1453. GX_UBYTE gx_page_header_format;
  1454. GX_UBYTE gx_page_header_prespace;
  1455. GX_UBYTE gx_page_header_postspace;
  1456. GX_UBYTE gx_page_header_line_height;
  1457. GX_UBYTE gx_page_header_baseline;
  1458. GX_CHAR_CODE gx_page_header_first_glyph;
  1459. GX_CHAR_CODE gx_page_header_last_glyph;
  1460. ULONG gx_page_header_data_size;
  1461. }GX_PAGE_HEADER;
  1462. /* define glyph header type members. */
  1463. #define GX_GLYPH_HEADER_MEMBERS_DECLARE \
  1464. USHORT gx_glyph_header_magic_number; \
  1465. USHORT gx_glyph_header_map_size; \
  1466. USHORT gx_glyph_header_index; \
  1467. SHORT gx_glyph_header_ascent; \
  1468. SHORT gx_glyph_header_descent; \
  1469. GX_UBYTE gx_glyph_header_advance; \
  1470. GX_BYTE gx_glyph_header_leading; \
  1471. GX_UBYTE gx_glyph_header_width; \
  1472. GX_UBYTE gx_glyph_header_height;
  1473. /* Used for Guix after version 5.3.4(include). */
  1474. typedef struct GX_GLYPH_HEADER_STRUCT {
  1475. GX_GLYPH_HEADER_MEMBERS_DECLARE
  1476. ULONG gx_glyph_header_data_size;
  1477. USHORT gx_glyph_header_kerning_table_size;
  1478. }GX_KERNING_GLYPH_HEADER;
  1479. /* define glyph header type. */
  1480. /* Used for Guix berfore Kerning. */
  1481. typedef struct GX_GLYPH_HEADER_BEFORE_KERNING_STRUCT {
  1482. GX_GLYPH_HEADER_MEMBERS_DECLARE
  1483. ULONG gx_glyph_header_data_size;
  1484. }GX_GLYPH_HEADER;
  1485. /* Define pixelmap header type. */
  1486. typedef struct GX_PIXELMAP_HEADER_STRUCT{
  1487. USHORT gx_pixelmap_header_magic_number;
  1488. USHORT gx_pixelmap_header_index;
  1489. GX_UBYTE gx_pixelmap_header_version_major;
  1490. GX_UBYTE gx_pixelmap_header_version_minor;
  1491. GX_UBYTE gx_pixelmap_header_flags;
  1492. GX_UBYTE gx_pixelmap_header_format;
  1493. ULONG gx_pixelmap_header_map_size;
  1494. ULONG gx_pixelmap_header_aux_data_size;
  1495. GX_COLOR gx_pixelmap_header_transparent_color;
  1496. USHORT gx_pixelmap_header_width;
  1497. USHORT gx_pixelmap_header_height;
  1498. ULONG gx_pixelmap_header_data_size;
  1499. ULONG gx_pixelmap_header_data_offset;
  1500. }GX_PIXELMAP_HEADER;
  1501. /* Define string header type. */
  1502. typedef struct GX_STRING_HEADER_STRUCT{
  1503. USHORT gx_string_header_magic_number;
  1504. USHORT gx_string_header_language_count;
  1505. USHORT gx_string_header_string_count;
  1506. ULONG gx_string_header_data_size;
  1507. }GX_STRING_HEADER;
  1508. /* Define language header type. */
  1509. typedef struct GX_LANGUAGE_HEADER_STRUCT{
  1510. USHORT gx_language_header_magic_number;
  1511. USHORT gx_language_header_index;
  1512. UCHAR gx_language_header_name[GX_LANGUAGE_HEADER_NAME_SIZE];
  1513. ULONG gx_language_header_data_size;
  1514. }GX_LANGUAGE_HEADER;
  1515. /* Define macro for GX_WIDGET members. */
  1516. #if defined(GX_WIDGET_USER_DATA)
  1517. #define GX_USER_DATA_FIELD INT gx_widget_user_data;
  1518. #else
  1519. #define GX_USER_DATA_FIELD
  1520. #endif
  1521. /* Define macro for GX_WIDGET and GX_RADIAL_PROGRESS_BAR members. */
  1522. #if defined(GX_BRUSH_ALPHA_SUPPORT)
  1523. #define GX_WIDGET_ALPHA_FIELD GX_UBYTE gx_widget_alpha;
  1524. #define GX_RADIAL_PROGRESS_BAR_CANVAS_FIELD GX_CANVAS gx_radial_progress_bar_canvas;
  1525. #else
  1526. #define GX_WIDGET_ALPHA_FIELD
  1527. #define GX_RADIAL_PROGRESS_BAR_CANVAS_FIELD
  1528. #endif
  1529. #define GX_WIDGET_MEMBERS_DECLARE \
  1530. GX_CONST GX_CHAR *gx_widget_name; \
  1531. struct GX_WIDGET_STRUCT *gx_widget_parent; \
  1532. struct GX_WIDGET_STRUCT *gx_widget_first_child; \
  1533. struct GX_WIDGET_STRUCT *gx_widget_last_child; \
  1534. struct GX_WIDGET_STRUCT *gx_widget_next; \
  1535. struct GX_WIDGET_STRUCT *gx_widget_previous; \
  1536. struct GX_WIDGET_STRUCT *gx_widget_nav_next; \
  1537. struct GX_WIDGET_STRUCT *gx_widget_nav_previous; \
  1538. GX_RECTANGLE gx_widget_size; \
  1539. GX_RECTANGLE gx_widget_clip; \
  1540. UINT (*gx_widget_event_process_function)(struct GX_WIDGET_STRUCT *, GX_EVENT *); \
  1541. VOID (*gx_widget_draw_function)(struct GX_WIDGET_STRUCT *); \
  1542. ULONG gx_widget_status; \
  1543. ULONG gx_widget_style; \
  1544. GX_RESOURCE_ID gx_widget_normal_fill_color; \
  1545. GX_RESOURCE_ID gx_widget_selected_fill_color; \
  1546. GX_RESOURCE_ID gx_widget_disabled_fill_color; \
  1547. USHORT gx_widget_type; \
  1548. USHORT gx_widget_id; \
  1549. GX_USER_DATA_FIELD \
  1550. GX_WIDGET_ALPHA_FIELD
  1551. /* Define macro for GX_PROMPT, based on GX_WIDGET. */
  1552. #define GX_PROMPT_MEMBERS_DECLARE \
  1553. GX_WIDGET_MEMBERS_DECLARE \
  1554. GX_STRING gx_prompt_string; \
  1555. VOID (*gx_prompt_text_get_function)(struct GX_PROMPT_STRUCT *, GX_STRING *); \
  1556. GX_RESOURCE_ID gx_prompt_text_id; \
  1557. GX_RESOURCE_ID gx_prompt_font_id; \
  1558. GX_RESOURCE_ID gx_prompt_normal_text_color; \
  1559. GX_RESOURCE_ID gx_prompt_selected_text_color; \
  1560. GX_RESOURCE_ID gx_prompt_disabled_text_color;
  1561. #define GX_NUMERIC_PROMPT_MEMBERS_DECLARE \
  1562. GX_PROMPT_MEMBERS_DECLARE \
  1563. GX_CHAR gx_numeric_prompt_buffer[GX_NUMERIC_PROMPT_BUFFER_SIZE]; \
  1564. VOID(*gx_numeric_prompt_format_function)(struct GX_NUMERIC_PROMPT_STRUCT *, INT);
  1565. /* Define macro for PIXELMAP_PROMPT, based on GX_PROMPT. */
  1566. #define GX_PIXELMAP_PROMPT_MEMBERS_DECLARE \
  1567. GX_PROMPT_MEMBERS_DECLARE \
  1568. GX_RESOURCE_ID gx_normal_left_pixelmap_id; \
  1569. GX_RESOURCE_ID gx_normal_right_pixelmap_id; \
  1570. GX_RESOURCE_ID gx_normal_fill_pixelmap_id; \
  1571. GX_RESOURCE_ID gx_selected_left_pixelmap_id; \
  1572. GX_RESOURCE_ID gx_selected_right_pixelmap_id; \
  1573. GX_RESOURCE_ID gx_selected_fill_pixelmap_id;
  1574. /* Defube macro for NUMERIC_PIXEMAP_PROMPT, based on GX_PIXELMAP_PROMPT. */
  1575. #define GX_NUMERIC_PIXELMAP_PROMPT_MEMBERS_DECLARE \
  1576. GX_PIXELMAP_PROMPT_MEMBERS_DECLARE \
  1577. GX_CHAR gx_numeric_pixelmap_prompt_buffer[GX_NUMERIC_PROMPT_BUFFER_SIZE]; \
  1578. VOID(*gx_numeric_pixelmap_prompt_format_function)(struct GX_NUMERIC_PIXELMAP_PROMPT_STRUCT *, INT);
  1579. /* Define macro for GX_SINGLE_LINE_TEXT_INPUT, based on GX_PROMPT. */
  1580. #define GX_SINGLE_LINE_TEXT_INPUT_MEMBERS_DECLARE \
  1581. GX_PROMPT_MEMBERS_DECLARE \
  1582. GX_CHAR *gx_single_line_text_input_buffer; \
  1583. UINT gx_single_line_text_input_buffer_size; \
  1584. UINT gx_single_line_text_input_string_size; \
  1585. GX_VALUE gx_single_line_text_input_xoffset; \
  1586. GX_VALUE gx_single_line_text_input_yoffset; \
  1587. UINT gx_single_line_text_input_insert_pos; \
  1588. UINT gx_single_line_text_input_was_modified; \
  1589. GX_TEXT_INPUT_CURSOR gx_single_line_text_input_cursor_instance; \
  1590. GX_RESOURCE_ID gx_single_line_text_input_readonly_text_color; \
  1591. GX_RESOURCE_ID gx_single_line_text_input_readonly_fill_color; \
  1592. UINT gx_single_line_text_input_start_mark; \
  1593. UINT gx_single_line_text_input_end_mark; \
  1594. /* Define macro for GX_ICON, based on GX_WIDGET. */
  1595. #define GX_ICON_MEMBERS_DECLARE \
  1596. GX_WIDGET_MEMBERS_DECLARE \
  1597. GX_RESOURCE_ID gx_icon_normal_pixelmap; \
  1598. GX_RESOURCE_ID gx_icon_selected_pixelmap;
  1599. /* Define macro for GX_SPRITE, based on GX_WIDGET. */
  1600. #define GX_SPRITE_MEMBERS_DECLARE \
  1601. GX_WIDGET_MEMBERS_DECLARE \
  1602. GX_SPRITE_FRAME * gx_sprite_frame_list; \
  1603. USHORT gx_sprite_frame_count; \
  1604. USHORT gx_sprite_current_frame; \
  1605. UCHAR gx_sprite_run_state;
  1606. /* Define macro for GX_BUTTON, based on GX_WIDGET. */
  1607. #define GX_BUTTON_MEMBERS_DECLARE \
  1608. GX_WIDGET_MEMBERS_DECLARE \
  1609. VOID (*gx_button_select_handler)(GX_WIDGET *button); \
  1610. VOID (*gx_button_deselect_handler)(GX_WIDGET *button, GX_BOOL gen_event);
  1611. /* Define macro for GX_TEXT_BUTTON, based on GX_BUTTON. */
  1612. #define GX_TEXT_BUTTON_MEMBERS_DECLARE \
  1613. GX_BUTTON_MEMBERS_DECLARE \
  1614. GX_RESOURCE_ID gx_text_button_text_id; \
  1615. GX_RESOURCE_ID gx_text_button_font_id; \
  1616. GX_STRING gx_text_button_string; \
  1617. GX_RESOURCE_ID gx_text_button_normal_text_color; \
  1618. GX_RESOURCE_ID gx_text_button_selected_text_color; \
  1619. GX_RESOURCE_ID gx_text_button_disabled_text_color;
  1620. /* Define macro for GX_MULTI_LINE_TEXT_BUTTON, based on GX_TEXT_BUTTON. */
  1621. #define GX_MULTI_LINE_TEXT_BUTTON_MEMBERS_DECLARE \
  1622. GX_TEXT_BUTTON_MEMBERS_DECLARE \
  1623. INT gx_multi_line_text_button_line_count; \
  1624. GX_STRING gx_multi_line_text_button_lines[GX_MULTI_LINE_TEXT_BUTTON_MAX_LINES];
  1625. /* Define macro for GX_RADIO_BUTTON, based on GX_TEXT_BUTTON. */
  1626. #define GX_RADIO_BUTTON_MEMBERS_DECLARE \
  1627. GX_TEXT_BUTTON_MEMBERS_DECLARE \
  1628. GX_RESOURCE_ID gx_radio_button_off_pixelmap_id; \
  1629. GX_RESOURCE_ID gx_radio_button_on_pixelmap_id; \
  1630. GX_RESOURCE_ID gx_radio_button_off_disabled_pixelmap_id; \
  1631. GX_RESOURCE_ID gx_radio_button_on_disabled_pixelmap_id;
  1632. /* Define macro for GX_CHECKBOX, based on GX_TEXT_BUTTON. */
  1633. #define GX_CHECKBOX_MEMBERS_DECLARE \
  1634. GX_TEXT_BUTTON_MEMBERS_DECLARE \
  1635. GX_RESOURCE_ID gx_checkbox_unchecked_pixelmap_id; \
  1636. GX_RESOURCE_ID gx_checkbox_checked_pixelmap_id; \
  1637. GX_RESOURCE_ID gx_checkbox_unchecked_disabled_pixelmap_id; \
  1638. GX_RESOURCE_ID gx_checkbox_checked_disabled_pixelmap_id;
  1639. /* Define macro for GX_ICON_BUTTON, based ON GX_BUTTON. */
  1640. #define GX_ICON_BUTTON_MEMBERS_DECLARE \
  1641. GX_BUTTON_MEMBERS_DECLARE \
  1642. GX_RESOURCE_ID gx_icon_button_icon_id;
  1643. /* Define macro for GX_PIXELMAP_BUTTON, based ON GX_BUTTON. */
  1644. #define GX_PIXELMAP_BUTTON_MEMBERS_DECLARE \
  1645. GX_BUTTON_MEMBERS_DECLARE \
  1646. GX_RESOURCE_ID gx_pixelmap_button_normal_id; \
  1647. GX_RESOURCE_ID gx_pixelmap_button_selected_id; \
  1648. GX_RESOURCE_ID gx_pixelmap_button_disabled_id;
  1649. /* Define macro for GX_WINDOW, based on GX_WIDGET. */
  1650. #define GX_WINDOW_MEMBERS_DECLARE \
  1651. GX_WIDGET_MEMBERS_DECLARE \
  1652. GX_RECTANGLE gx_window_client; \
  1653. GX_VIEW *gx_window_views; \
  1654. VOID (*gx_window_scroll_info_get)(struct GX_WINDOW_STRUCT *window, ULONG style, GX_SCROLL_INFO *info); \
  1655. GX_BOOL gx_window_move_mode; \
  1656. GX_POINT gx_window_move_start; \
  1657. GX_RESOURCE_ID gx_window_wallpaper;
  1658. /* Define macro for GX_WINDOW_ROOT, based on GX_WINDOW. */
  1659. #define GX_WINDOW_ROOT_MEMBERS_DECLARE \
  1660. GX_WINDOW_MEMBERS_DECLARE \
  1661. GX_CANVAS *gx_window_root_canvas; \
  1662. GX_BOOL gx_window_root_views_changed;
  1663. /* Define macro for GX_SCROLL_THUMB, based on GX_BUTTON. */
  1664. #define GX_SCROLL_THUMB_MEMBERS_DECLARE \
  1665. GX_BUTTON_MEMBERS_DECLARE \
  1666. GX_RESOURCE_ID gx_scroll_thumb_pixelmap; \
  1667. GX_RESOURCE_ID gx_scroll_thumb_border_color; \
  1668. GX_BOOL gx_scroll_thumb_drag_mode; \
  1669. INT gx_scroll_thumb_start_drag;
  1670. /* Define macro for GX_SCROLLBAR, based on GX_WIDGET. */
  1671. #define GX_SCROLLBAR_MEMBERS_DECLARE \
  1672. GX_WIDGET_MEMBERS_DECLARE \
  1673. GX_SCROLLBAR_APPEARANCE gx_scrollbar_appearance; \
  1674. GX_SCROLL_INFO gx_scrollbar_info; \
  1675. GX_BUTTON gx_scrollbar_upleft; \
  1676. GX_BUTTON gx_scrollbar_downright; \
  1677. GX_SCROLL_THUMB gx_scrollbar_thumb;
  1678. /* Define macro for GX_SLIDER, based on GX_WIDGET. */
  1679. #define GX_SLIDER_MEMBERS_DECLARE \
  1680. GX_WIDGET_MEMBERS_DECLARE \
  1681. GX_SLIDER_INFO gx_slider_info; \
  1682. INT gx_slider_tick_count; \
  1683. GX_RESOURCE_ID gx_slider_tick_color;
  1684. /* Define macro for GX_PIXELMAP_SLIDER, based on GX_WIDGET. */
  1685. #define GX_PIXELMAP_SLIDER_MEMBERS_DECLARE \
  1686. GX_SLIDER_MEMBERS_DECLARE \
  1687. GX_PIXELMAP_SLIDER_INFO gx_pixelmap_slider_pixelmap_info;
  1688. /* Define macro for GX_VERTICAL_LIST, based on GX_WINDOW. */
  1689. #define GX_VERTICAL_LIST_MEMBERS_DECLARE \
  1690. GX_WINDOW_MEMBERS_DECLARE \
  1691. VOID (*gx_vertical_list_callback)(struct GX_VERTICAL_LIST_STRUCT *, GX_WIDGET *widget, INT index); \
  1692. INT gx_vertical_list_selected; \
  1693. INT gx_vertical_list_pen_index; \
  1694. INT gx_vertical_list_top_index; \
  1695. INT gx_vertical_list_total_rows; \
  1696. GX_VALUE gx_vertical_list_seperation; \
  1697. GX_VALUE gx_vertical_list_visible_rows; \
  1698. GX_VALUE gx_vertical_list_child_count; \
  1699. GX_VALUE gx_vertical_list_child_height; \
  1700. GX_VALUE gx_vertical_list_snap_back_distance;
  1701. /* Define macro for GX_VERTICAL_LIST, based on GX_WINDOW. */
  1702. #define GX_HORIZONTAL_LIST_MEMBERS_DECLARE \
  1703. GX_WINDOW_MEMBERS_DECLARE \
  1704. VOID (*gx_horizontal_list_callback)(struct GX_HORIZONTAL_LIST_STRUCT *, GX_WIDGET *widget, INT index); \
  1705. INT gx_horizontal_list_selected; \
  1706. INT gx_horizontal_list_pen_index; \
  1707. INT gx_horizontal_list_top_index; \
  1708. INT gx_horizontal_list_total_columns; \
  1709. GX_VALUE gx_horizontal_list_seperation; \
  1710. GX_VALUE gx_horizontal_list_visible_columns; \
  1711. GX_VALUE gx_horizontal_list_child_count; \
  1712. GX_VALUE gx_horizontal_list_child_width; \
  1713. GX_VALUE gx_horizontal_list_snap_back_distance;
  1714. #define GX_POPUP_LIST_MEMBERS_DECLARE \
  1715. GX_VERTICAL_LIST gx_popup_list_list; \
  1716. GX_WIDGET *gx_popup_list_owner;
  1717. /* Define macro for GX_DROP_LIST, based on GX_WIDGET */
  1718. #define GX_DROP_LIST_MEMBERS_DECLARE \
  1719. GX_WIDGET_MEMBERS_DECLARE \
  1720. GX_POPUP_LIST gx_drop_list_popup; \
  1721. INT gx_drop_list_open_height; \
  1722. GX_RESOURCE_ID gx_drop_list_pixelmap; \
  1723. GX_BOOL gx_drop_list_popup_open;
  1724. /* Define macro for GX_MULTI_LINE_TEXT_VIEW, based on GX_WINDOW. */
  1725. #define GX_MULTI_LINE_TEXT_VIEW_MEMBERS_DECLARE \
  1726. GX_WINDOW_MEMBERS_DECLARE \
  1727. GX_RESOURCE_ID gx_multi_line_text_view_text_id; \
  1728. GX_RESOURCE_ID gx_multi_line_text_view_font_id; \
  1729. GX_RESOURCE_ID gx_multi_line_text_view_normal_text_color; \
  1730. GX_RESOURCE_ID gx_multi_line_text_view_selected_text_color; \
  1731. GX_RESOURCE_ID gx_multi_line_text_view_disabled_text_color; \
  1732. UINT gx_multi_line_text_view_text_total_rows; \
  1733. UINT gx_multi_line_text_view_text_visible_rows; \
  1734. INT gx_multi_line_text_view_text_scroll_shift; \
  1735. GX_STRING gx_multi_line_text_view_text; \
  1736. GX_UBYTE gx_multi_line_text_view_whitespace; \
  1737. GX_BYTE gx_multi_line_text_view_line_space; \
  1738. GX_BOOL gx_multi_line_text_view_line_index_old; \
  1739. GX_UBYTE gx_multi_line_text_view_cache_size; \
  1740. UINT gx_multi_line_text_view_first_cache_line; \
  1741. UINT gx_multi_line_text_view_line_index[GX_MULTI_LINE_INDEX_CACHE_SIZE];
  1742. /* GX_MULTI_LINE_TEXT_INPUT, based on GX_MULTI_LINE_TEXT_VIEW */
  1743. #define GX_MULTI_LINE_TEXT_INPUT_MEMBERS_DECLARE \
  1744. GX_MULTI_LINE_TEXT_VIEW_MEMBERS_DECLARE \
  1745. UINT gx_multi_line_text_input_buffer_size; \
  1746. UINT gx_multi_line_text_input_text_insert_position; \
  1747. UINT gx_multi_line_text_input_text_was_modified; \
  1748. UINT gx_multi_line_text_input_text_cursor_line; \
  1749. GX_TEXT_INPUT_CURSOR gx_multi_line_text_input_cursor_instance; \
  1750. GX_RESOURCE_ID gx_multi_line_text_input_readonly_text_color; \
  1751. GX_RESOURCE_ID gx_multi_line_text_input_readonly_fill_color; \
  1752. UINT gx_multi_line_text_input_start_mark; \
  1753. UINT gx_multi_line_text_input_end_mark; \
  1754. GX_UBYTE gx_multi_line_text_input_new_line_character[3]; \
  1755. GX_UBYTE gx_multi_line_text_input_new_line_character_size;
  1756. /* Define macro for GX_PROGRESS_BAR, based on GX_WIDGET. */
  1757. #define GX_PROGRESS_BAR_MEMBERS_DECLARE \
  1758. GX_WIDGET_MEMBERS_DECLARE \
  1759. GX_PROGRESS_BAR_INFO gx_progress_bar_info;
  1760. /* Define macro for GX_CIRCULAR_GAUGE members. */
  1761. #define GX_CIRCULAR_GAUGE_MEMBERS_DECLARE \
  1762. GX_ICON_MEMBERS_DECLARE \
  1763. GX_CIRCULAR_GAUGE_INFO gx_circular_gauge_info; \
  1764. GX_PIXELMAP gx_circular_gauge_needle_rotated; \
  1765. GX_PIXELMAP *gx_circular_gauge_needle_source; \
  1766. INT gx_circular_gauge_current_needle_x; \
  1767. INT gx_circular_gauge_current_needle_y; \
  1768. INT gx_circular_gauge_start_angle; \
  1769. INT gx_circular_gauge_current_angle; \
  1770. INT gx_circular_gauge_target_angle; \
  1771. INT gx_circular_gauge_angle_increment; \
  1772. INT gx_circular_gauge_animation_step; \
  1773. GX_RECTANGLE gx_circular_gauge_current_needle_rectangle;
  1774. /* Define macro for GX_RADIAL_PROGRESS_BAR members. */
  1775. #define GX_RADIAL_PROGRESS_BAR_MEMBERS_DECLARE \
  1776. GX_WIDGET_MEMBERS_DECLARE \
  1777. GX_RADIAL_PROGRESS_BAR_INFO gx_radial_progress_bar_info; \
  1778. GX_RADIAL_PROGRESS_BAR_CANVAS_FIELD
  1779. /* Define macro of GX_RADIAL_SLIDER members. */
  1780. #define GX_RADIAL_SLIDER_MEMBERS_DECLARE \
  1781. GX_WIDGET_MEMBERS_DECLARE \
  1782. GX_RADIAL_SLIDER_INFO gx_radial_slider_info; \
  1783. GX_VALUE gx_radial_slider_start_angle; \
  1784. GX_VALUE gx_radial_slider_target_angle; \
  1785. GX_POINT gx_radial_slider_pendown_point; \
  1786. USHORT gx_radial_slider_animation_total_steps; \
  1787. USHORT gx_radial_slider_animation_step; \
  1788. USHORT gx_radial_slider_animation_delay; \
  1789. USHORT gx_radial_slider_animation_style; \
  1790. VOID (*gx_radial_slider_animation_update_callback)(struct GX_RADIAL_SLIDER_STRUCT *slider);
  1791. /* Define macro for GX_LINE_CHART members. */
  1792. #define GX_LINE_CHART_MEMBERS_DECLARE \
  1793. GX_WINDOW_MEMBERS_DECLARE \
  1794. GX_LINE_CHART_INFO gx_line_chart_info;
  1795. /* Define macro for GX_SCROLL_WHEEL members */
  1796. #define GX_SCROLL_WHEEL_MEMBERS_DECLARE \
  1797. GX_WINDOW_MEMBERS_DECLARE \
  1798. INT gx_scroll_wheel_selected_row; \
  1799. INT gx_scroll_wheel_total_rows; \
  1800. GX_RESOURCE_ID gx_scroll_wheel_selected_background; \
  1801. GX_GRADIENT gx_scroll_wheel_gradient; \
  1802. GX_VALUE gx_scroll_wheel_selected_yshift; \
  1803. GX_VALUE gx_scroll_wheel_animation_speed; \
  1804. GX_VALUE gx_scroll_wheel_animation_end_speed; \
  1805. GX_VALUE gx_scroll_wheel_animation_steps; \
  1806. GX_VALUE gx_scroll_wheel_animation_delay; \
  1807. GX_VALUE gx_scroll_wheel_animation_max_steps; \
  1808. GX_FIXED_VAL gx_scroll_wheel_animation_start_speed_rate; \
  1809. GX_FIXED_VAL gx_scroll_wheel_animation_end_speed_rate; \
  1810. GX_VALUE gx_scroll_wheel_row_height; \
  1811. GX_VALUE gx_scroll_wheel_shift_error;
  1812. /* Define macro for GX_TEXT_SCROLL_WHEEL_BASE members. */
  1813. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  1814. #define GX_TEXT_SCROLL_WHEEL_MEMBERS_DECLARE \
  1815. GX_SCROLL_WHEEL_MEMBERS_DECLARE \
  1816. GX_RESOURCE_ID gx_text_scroll_wheel_normal_font; \
  1817. GX_RESOURCE_ID gx_text_scroll_wheel_selected_font; \
  1818. GX_RESOURCE_ID gx_text_scroll_wheel_normal_text_color; \
  1819. GX_RESOURCE_ID gx_text_scroll_wheel_selected_text_color; \
  1820. GX_RESOURCE_ID gx_text_scroll_wheel_disabled_text_color; \
  1821. GX_CONST GX_CHAR* (*gx_text_scroll_wheel_text_get_deprecated)(struct GX_TEXT_SCROLL_WHEEL_STRUCT*, INT); \
  1822. UINT (*gx_text_scroll_wheel_text_get)(struct GX_TEXT_SCROLL_WHEEL_STRUCT *, INT, GX_STRING *);
  1823. #else
  1824. #define GX_TEXT_SCROLL_WHEEL_MEMBERS_DECLARE \
  1825. GX_SCROLL_WHEEL_MEMBERS_DECLARE \
  1826. GX_RESOURCE_ID gx_text_scroll_wheel_normal_font; \
  1827. GX_RESOURCE_ID gx_text_scroll_wheel_selected_font; \
  1828. GX_RESOURCE_ID gx_text_scroll_wheel_normal_text_color; \
  1829. GX_RESOURCE_ID gx_text_scroll_wheel_selected_text_color; \
  1830. GX_RESOURCE_ID gx_text_scroll_wheel_disabled_text_color; \
  1831. UINT (*gx_text_scroll_wheel_text_get)(struct GX_TEXT_SCROLL_WHEEL_STRUCT *, INT, GX_STRING *);
  1832. #endif
  1833. /* Define macro for GX_STRING_SCROLL_WHEEL members. */
  1834. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  1835. #define GX_STRING_SCROLL_WHEEL_MEMBERS_DECLARE \
  1836. GX_TEXT_SCROLL_WHEEL_MEMBERS_DECLARE \
  1837. GX_CONST GX_CHAR **gx_string_scroll_wheel_string_list_deprecated; \
  1838. GX_CONST GX_STRING *gx_string_scroll_wheel_string_list; \
  1839. USHORT gx_string_scroll_wheel_string_list_buffer_size;\
  1840. GX_CONST GX_RESOURCE_ID *gx_string_scroll_wheel_string_id_list;
  1841. #else
  1842. #define GX_STRING_SCROLL_WHEEL_MEMBERS_DECLARE \
  1843. GX_TEXT_SCROLL_WHEEL_MEMBERS_DECLARE \
  1844. GX_CONST GX_STRING *gx_string_scroll_wheel_string_list; \
  1845. USHORT gx_string_scroll_wheel_string_list_buffer_size;\
  1846. GX_CONST GX_RESOURCE_ID *gx_string_scroll_wheel_string_id_list;
  1847. #endif
  1848. /* Define macro for GX_RANGE_SCROLL_WHEEL members. */
  1849. #define GX_NUMERIC_SCROLL_WHEEL_MEMBERS_DECLARE \
  1850. GX_TEXT_SCROLL_WHEEL_MEMBERS_DECLARE \
  1851. INT gx_numeric_scroll_wheel_start_val; \
  1852. INT gx_numeric_scroll_wheel_end_val; \
  1853. GX_CHAR gx_numeric_scroll_wheel_string_buffer[GX_NUMERIC_SCROLL_WHEEL_STRING_BUFFER_SIZE];
  1854. #define GX_MENU_LIST_MEMBERS_DECLARE \
  1855. GX_WIDGET_MEMBERS_DECLARE \
  1856. GX_WIDGET *gx_menu_list_owner;
  1857. #define GX_MENU_MEMBERS_DECLARE \
  1858. GX_PIXELMAP_PROMPT_MEMBERS_DECLARE \
  1859. GX_MENU_LIST gx_menu_list; \
  1860. GX_VALUE gx_menu_list_total_count; \
  1861. GX_VALUE gx_menu_text_x_offset; \
  1862. GX_VALUE gx_menu_text_y_offset;
  1863. #define GX_ACCORDION_MENU_MEMBERS_DECLARE \
  1864. GX_WIDGET_MEMBERS_DECLARE \
  1865. GX_WIDGET *gx_accordion_menu_collapse_item; \
  1866. GX_WIDGET *gx_accordion_menu_expand_item; \
  1867. GX_UBYTE gx_accordion_menu_animation_status;
  1868. #define GX_TREE_VIEW_MEMBERS_DECLARE \
  1869. GX_WINDOW_MEMBERS_DECLARE \
  1870. GX_RESOURCE_ID gx_tree_view_collapse_pixelmap_id; \
  1871. GX_RESOURCE_ID gx_tree_view_expand_pixelmap_id; \
  1872. GX_RESOURCE_ID gx_tree_view_root_line_color; \
  1873. GX_VALUE gx_tree_view_indentation; \
  1874. GX_VALUE gx_tree_view_x_shift; \
  1875. GX_VALUE gx_tree_view_y_shift; \
  1876. GX_VALUE gx_tree_view_tree_width; \
  1877. GX_VALUE gx_tree_view_tree_height; \
  1878. GX_WIDGET *gx_tree_view_selected;
  1879. /* Define Widget type. */
  1880. typedef struct GX_WIDGET_STRUCT
  1881. {
  1882. GX_WIDGET_MEMBERS_DECLARE
  1883. } GX_WIDGET;
  1884. /* Define Prompt type. */
  1885. typedef struct GX_PROMPT_STRUCT
  1886. {
  1887. GX_PROMPT_MEMBERS_DECLARE
  1888. } GX_PROMPT;
  1889. /* Define Numeric Prompt type. */
  1890. typedef struct GX_NUMERIC_PROMPT_STRUCT
  1891. {
  1892. GX_NUMERIC_PROMPT_MEMBERS_DECLARE
  1893. }GX_NUMERIC_PROMPT;
  1894. /* Define Pixelmap type. */
  1895. typedef struct GX_PIXELMAP_PROMPT_STRUCT
  1896. {
  1897. GX_PIXELMAP_PROMPT_MEMBERS_DECLARE
  1898. } GX_PIXELMAP_PROMPT;
  1899. /* Define Numeric Pixelmap Prompt type. */
  1900. typedef struct GX_NUMERIC_PIXELMAP_PROMPT_STRUCT
  1901. {
  1902. GX_NUMERIC_PIXELMAP_PROMPT_MEMBERS_DECLARE
  1903. }GX_NUMERIC_PIXELMAP_PROMPT;
  1904. /* Define Icon type. */
  1905. typedef struct GX_ICON_STRUCT
  1906. {
  1907. GX_ICON_MEMBERS_DECLARE
  1908. } GX_ICON;
  1909. /* Define Sprite type. */
  1910. typedef struct GX_SPRITE_STRUCT
  1911. {
  1912. GX_SPRITE_MEMBERS_DECLARE
  1913. } GX_SPRITE;
  1914. /* Define Button type. */
  1915. typedef struct GX_BUTTON_STRUCT
  1916. {
  1917. GX_BUTTON_MEMBERS_DECLARE
  1918. } GX_BUTTON;
  1919. /* Define Text Button type. */
  1920. typedef struct GX_TEXT_BUTTON_STRUCT
  1921. {
  1922. GX_TEXT_BUTTON_MEMBERS_DECLARE
  1923. } GX_TEXT_BUTTON;
  1924. /* Define Multi-line Text Button type. */
  1925. typedef struct GX_MULTI_LINE_TEXT_BUTTON_STRUCT
  1926. {
  1927. GX_MULTI_LINE_TEXT_BUTTON_MEMBERS_DECLARE
  1928. } GX_MULTI_LINE_TEXT_BUTTON;
  1929. /* Define Radio Button type. */
  1930. typedef struct GX_RADIO_BUTTON_STRUCT
  1931. {
  1932. GX_RADIO_BUTTON_MEMBERS_DECLARE
  1933. } GX_RADIO_BUTTON;
  1934. /* Define Checkbox type. */
  1935. typedef struct GX_CHECKBOX_STRUCT
  1936. {
  1937. GX_CHECKBOX_MEMBERS_DECLARE
  1938. } GX_CHECKBOX;
  1939. /* Defing Icon Button type. */
  1940. typedef struct GX_ICON_BUTTON_STRUCT
  1941. {
  1942. GX_ICON_BUTTON_MEMBERS_DECLARE
  1943. } GX_ICON_BUTTON;
  1944. /* Define Pixelmap Button type. */
  1945. typedef struct GX_PIXELMAP_BUTTON_STRUCT
  1946. {
  1947. GX_PIXELMAP_BUTTON_MEMBERS_DECLARE
  1948. } GX_PIXELMAP_BUTTON;
  1949. /* Define Scroll Thumb type. */
  1950. typedef struct GX_SCROLL_THUMB_STRUCT
  1951. {
  1952. GX_SCROLL_THUMB_MEMBERS_DECLARE
  1953. } GX_SCROLL_THUMB;
  1954. /* Define Scrollbar type. */
  1955. typedef struct GX_SCROLLBAR_STRUCT
  1956. {
  1957. GX_SCROLLBAR_MEMBERS_DECLARE
  1958. } GX_SCROLLBAR;
  1959. /* Define Slider type. */
  1960. typedef struct GX_SLIDER_STRUCT
  1961. {
  1962. GX_SLIDER_MEMBERS_DECLARE
  1963. } GX_SLIDER;
  1964. /* Define Pixelmap Slider type. */
  1965. typedef struct GX_PIXELMAP_SLIDER_STRUCT
  1966. {
  1967. GX_PIXELMAP_SLIDER_MEMBERS_DECLARE
  1968. } GX_PIXELMAP_SLIDER;
  1969. /* Define Window type. */
  1970. typedef struct GX_WINDOW_STRUCT
  1971. {
  1972. GX_WINDOW_MEMBERS_DECLARE
  1973. } GX_WINDOW;
  1974. /* Define Root Window type. */
  1975. typedef struct GX_WINDOW_ROOT_STRUCT
  1976. {
  1977. GX_WINDOW_ROOT_MEMBERS_DECLARE
  1978. } GX_WINDOW_ROOT;
  1979. /*Define Single Line Text Input type. */
  1980. typedef struct GX_SINGLE_LINE_TEXT_INPUT_STRUCT
  1981. {
  1982. GX_SINGLE_LINE_TEXT_INPUT_MEMBERS_DECLARE
  1983. } GX_SINGLE_LINE_TEXT_INPUT;
  1984. /* Define Multi Line Text View type. */
  1985. typedef struct GX_MULTI_LINE_TEXT_VIEW_STRUCT
  1986. {
  1987. GX_MULTI_LINE_TEXT_VIEW_MEMBERS_DECLARE
  1988. } GX_MULTI_LINE_TEXT_VIEW;
  1989. /*Define GX_MULTI_LINE_TEXT_INFO type. */
  1990. typedef struct GX_MULTI_LINE_TEXT_INFO_STRUCT
  1991. {
  1992. USHORT gx_text_display_width;
  1993. USHORT gx_text_display_number;
  1994. } GX_MULTI_LINE_TEXT_INFO;
  1995. /*Define GX_MULTI_TEXT_INPUT type. */
  1996. typedef struct GX_MULTI_LINE_TEXT_INPUT_STRUCT
  1997. {
  1998. GX_MULTI_LINE_TEXT_INPUT_MEMBERS_DECLARE
  1999. } GX_MULTI_LINE_TEXT_INPUT;
  2000. typedef struct GX_VERTICAL_LIST_STRUCT
  2001. {
  2002. GX_VERTICAL_LIST_MEMBERS_DECLARE
  2003. } GX_VERTICAL_LIST;
  2004. typedef struct GX_HORIZONTAL_LIST_STRUCT
  2005. {
  2006. GX_HORIZONTAL_LIST_MEMBERS_DECLARE
  2007. } GX_HORIZONTAL_LIST;
  2008. typedef struct GX_POPUP_LIST_STRUCT
  2009. {
  2010. GX_POPUP_LIST_MEMBERS_DECLARE
  2011. } GX_POPUP_LIST;
  2012. typedef struct GX_DROP_LIST_STRUCT
  2013. {
  2014. GX_DROP_LIST_MEMBERS_DECLARE
  2015. } GX_DROP_LIST;
  2016. /* Define GX_PROGRESS_BAR type. */
  2017. typedef struct GX_PROGRESS_BAR_STRUCT
  2018. {
  2019. GX_PROGRESS_BAR_MEMBERS_DECLARE
  2020. } GX_PROGRESS_BAR;
  2021. /* Circular gauge control block */
  2022. typedef struct GX_CIRCULAR_GAUGE_STRUCT
  2023. {
  2024. GX_CIRCULAR_GAUGE_MEMBERS_DECLARE
  2025. } GX_CIRCULAR_GAUGE;
  2026. /* Define Radial Progress Bar type */
  2027. typedef struct GX_RADIAL_PROGRESS_BAR_STRUCT
  2028. {
  2029. GX_RADIAL_PROGRESS_BAR_MEMBERS_DECLARE
  2030. } GX_RADIAL_PROGRESS_BAR;
  2031. /* Define Radial Slider type. */
  2032. typedef struct GX_RADIAL_SLIDER_STRUCT
  2033. {
  2034. GX_RADIAL_SLIDER_MEMBERS_DECLARE
  2035. }GX_RADIAL_SLIDER;
  2036. /* Define GX_LINE_CHART control block type */
  2037. typedef struct GX_LINE_CHART_STRUCT
  2038. {
  2039. GX_LINE_CHART_MEMBERS_DECLARE
  2040. } GX_LINE_CHART;
  2041. /* Define GX_SCROLL_WHEEL control block type */
  2042. typedef struct GX_SCROLL_WHEEL_STRUCT
  2043. {
  2044. GX_SCROLL_WHEEL_MEMBERS_DECLARE
  2045. } GX_SCROLL_WHEEL;
  2046. /* Define GX_TEXT_SCROLL_WHEEL_BASE control block type */
  2047. typedef struct GX_TEXT_SCROLL_WHEEL_STRUCT
  2048. {
  2049. GX_TEXT_SCROLL_WHEEL_MEMBERS_DECLARE
  2050. } GX_TEXT_SCROLL_WHEEL;
  2051. /* Define GX_STRING_SCROLL_WHEEL control block type */
  2052. typedef struct GX_STRING_SCROLL_WHEEL_STRUCT
  2053. {
  2054. GX_STRING_SCROLL_WHEEL_MEMBERS_DECLARE
  2055. } GX_STRING_SCROLL_WHEEL;
  2056. /* Define GX_NUMERIC_SCROLL_WHEEL control block type */
  2057. typedef struct GX_NUMERIC_SCROLL_WHEEL_STRUCT
  2058. {
  2059. GX_NUMERIC_SCROLL_WHEEL_MEMBERS_DECLARE
  2060. } GX_NUMERIC_SCROLL_WHEEL;
  2061. typedef struct GX_MENU_LIST_STRUCT
  2062. {
  2063. GX_MENU_LIST_MEMBERS_DECLARE
  2064. }GX_MENU_LIST;
  2065. typedef struct GX_MENU_STRUCT
  2066. {
  2067. GX_MENU_MEMBERS_DECLARE
  2068. }GX_MENU;
  2069. typedef struct GX_ACCORDION_MENU_STRUCT
  2070. {
  2071. GX_ACCORDION_MENU_MEMBERS_DECLARE
  2072. }GX_ACCORDION_MENU;
  2073. typedef struct GX_TREE_VIEW_STRUCT
  2074. {
  2075. GX_TREE_VIEW_MEMBERS_DECLARE
  2076. }GX_TREE_VIEW;
  2077. /* Animation information structure. This structure is used to define the
  2078. parameters of a screen transition animation. */
  2079. typedef struct GX_ANIMATION_INFO_STRUCT
  2080. {
  2081. GX_WIDGET *gx_animation_target;
  2082. GX_WIDGET *gx_animation_parent;
  2083. GX_WIDGET **gx_animation_slide_screen_list;
  2084. USHORT gx_animation_style;
  2085. USHORT gx_animation_id;
  2086. USHORT gx_animation_start_delay;
  2087. USHORT gx_animation_frame_interval;
  2088. GX_POINT gx_animation_start_position;
  2089. GX_POINT gx_animation_end_position;
  2090. GX_UBYTE gx_animation_start_alpha;
  2091. GX_UBYTE gx_animation_end_alpha;
  2092. GX_UBYTE gx_animation_steps;
  2093. } GX_ANIMATION_INFO;
  2094. /* Animation control block */
  2095. typedef struct GX_ANIMATION_STRUCT
  2096. {
  2097. GX_ANIMATION_INFO gx_animation_info;
  2098. GX_CANVAS *gx_animation_canvas;
  2099. struct GX_ANIMATION_STRUCT *gx_animation_next;
  2100. UINT (*gx_animation_original_event_process_function)(struct GX_WIDGET_STRUCT *, GX_EVENT *);
  2101. GX_VALUE gx_animation_slide_target_index_1;
  2102. GX_VALUE gx_animation_slide_target_index_2;
  2103. GX_VALUE gx_animation_slide_tracking_start_pos;
  2104. GX_VALUE gx_animation_slide_tracking_current_pos;
  2105. USHORT gx_animation_landing_speed;
  2106. USHORT gx_animation_timer;
  2107. USHORT gx_animation_slide_screen_list_size;
  2108. GX_UBYTE gx_animation_status;
  2109. GX_UBYTE gx_animation_slide_direction;
  2110. GX_UBYTE gx_animation_system_allocated;
  2111. GX_UBYTE gx_animation_total_steps;
  2112. } GX_ANIMATION;
  2113. typedef struct GX_PIXEL_STRUCT
  2114. {
  2115. GX_UBYTE gx_pixel_red;
  2116. GX_UBYTE gx_pixel_green;
  2117. GX_UBYTE gx_pixel_blue;
  2118. GX_UBYTE gx_pixel_alpha;
  2119. } GX_PIXEL;
  2120. /* Image reader control block */
  2121. typedef struct GX_IMAGE_READER_STRUCT
  2122. {
  2123. UINT (*gx_image_reader_pixel_write)(struct GX_IMAGE_READER_STRUCT *image_reader, GX_PIXEL *pixel);
  2124. UINT (*gx_image_reader_pixel_read)(struct GX_IMAGE_READER_STRUCT *image_reader, INT index, GX_PIXEL *pixel);
  2125. GX_CONST GX_UBYTE *gx_image_reader_source_data;
  2126. UINT gx_image_reader_source_data_size;
  2127. GX_UBYTE *gx_image_reader_getdata;
  2128. GX_UBYTE *gx_image_reader_getauxdata;
  2129. GX_UBYTE *gx_image_reader_putdata;
  2130. GX_UBYTE *gx_image_reader_putauxdata;
  2131. GX_UBYTE gx_image_reader_color_format;
  2132. GX_UBYTE gx_image_reader_mode;
  2133. GX_UBYTE gx_image_reader_image_type;
  2134. GX_UBYTE gx_image_reader_putdata_mask;
  2135. GX_UBYTE gx_image_reader_putauxdata_mask;
  2136. GX_UBYTE gx_image_reader_mono_shreshold;
  2137. GX_COLOR *gx_image_reader_palette;
  2138. UINT gx_image_reader_palette_size;
  2139. UINT gx_image_reader_input_stride;
  2140. GX_BOOL gx_image_reader_size_testing;
  2141. GX_COLOR *gx_image_reader_png_trans;
  2142. GX_COLOR *gx_image_reader_png_palette;
  2143. UINT gx_image_reader_png_palette_size;
  2144. UINT gx_image_reader_image_width;
  2145. UINT gx_image_reader_image_height;
  2146. } GX_IMAGE_READER;
  2147. #define GX_IMAGE_READER_MODE_NONE 0x00
  2148. #define GX_IMAGE_READER_MODE_COMPRESS 0x01
  2149. #define GX_IMAGE_READER_MODE_ALPHA 0x02
  2150. #define GX_IMAGE_READER_MODE_DITHER 0x04
  2151. /* Define Screen stack control block */
  2152. typedef struct GX_SCREEN_STACK_CONTROL_STRUCT
  2153. {
  2154. GX_WIDGET **gx_screen_stack_control_memory;
  2155. INT gx_screen_stack_control_top;
  2156. INT gx_screen_stack_control_max;
  2157. } GX_SCREEN_STACK_CONTROL;
  2158. /* define resistive touch screen calibration params */
  2159. typedef struct TOUCH_CAL_MATRIX_STRUCT {
  2160. INT An; /* A = An/Divider */
  2161. INT Bn; /* B = Bn/Divider */
  2162. INT Cn; /* C = Cn/Divider */
  2163. INT Dn; /* D = Dn/Divider */
  2164. INT En; /* E = En/Divider */
  2165. INT Fn; /* F = Fn/Divider */
  2166. INT Divider ;
  2167. } TOUCH_CALIBRATION_MATRIX;
  2168. /* touch driver info specified by application. This information is required
  2169. to run the touch screen calibration */
  2170. typedef struct GX_RESISTIVE_TOUCH_INFO_STRUCT {
  2171. GX_RESOURCE_ID gx_touch_info_string_id_no_touch;
  2172. GX_RESOURCE_ID gx_touch_info_string_id_touch_1;
  2173. GX_RESOURCE_ID gx_touch_info_string_id_touch_2;
  2174. GX_RESOURCE_ID gx_touch_info_string_id_touch_3;
  2175. GX_MULTI_LINE_TEXT_VIEW *gx_touch_info_text;
  2176. GX_ICON *gx_touch_info_target;
  2177. } GX_RESISTIVE_TOUCH_INFO;
  2178. /* touch driver control block */
  2179. typedef struct GX_RESISTIVE_TOUCH_STRUCT {
  2180. GX_RESISTIVE_TOUCH_INFO gx_resistive_touch_info;
  2181. GX_BOOL gx_resistive_touch_calibrated;
  2182. USHORT gx_resistive_touch_min_drag_delta;
  2183. USHORT gx_resistive_touch_sample_size;
  2184. USHORT gx_resistive_touch_max_retries;
  2185. USHORT gx_resistive_touch_stability_limit;
  2186. USHORT gx_resistive_touch_x_range;
  2187. USHORT gx_resistive_touch_y_range;
  2188. USHORT gx_resistive_touch_current_touch_state;
  2189. USHORT gx_resistive_touch_last_touch_state;
  2190. GX_POINT *gx_resistive_touch_sample_ram;
  2191. GX_POINT gx_resistive_touch_current_touch_coord;
  2192. GX_POINT gx_resistive_touch_last_touch_coord;
  2193. GX_BOOL (*gx_resistive_touch_pen_down_detect)(VOID);
  2194. USHORT (*gx_resistive_touch_sample_read)(GX_VALUE axis);
  2195. TOUCH_CALIBRATION_MATRIX gx_resistive_touch_calibration_matrix;
  2196. } GX_RESISTIVE_TOUCH;
  2197. /* pen down or up status, returned to generic driver */
  2198. #define GX_TOUCH_STATE_TOUCHED 1
  2199. #define GX_TOUCH_STATE_RELEASED 2
  2200. #define GX_TOUCH_X_AXIS 1
  2201. #define GX_TOUCH_Y_AXIS 2
  2202. /* GUIX fixed point math helpers */
  2203. typedef struct GX_FIXED_POINT_STRUCT
  2204. {
  2205. GX_FIXED_VAL x;
  2206. GX_FIXED_VAL y;
  2207. } GX_FIXED_POINT;
  2208. #define GX_FIXED_VAL_SHIFT 10
  2209. #define GX_FIXED_VAL_HALF 512
  2210. #define GX_FIXED_VAL_ONE 1024
  2211. #define GX_FIXED_VAL_FRACTION_MASK 0x3ff
  2212. #define GX_FIXED_VAL_MAKE(_a) (((int)_a) << GX_FIXED_VAL_SHIFT)
  2213. #define GX_FIXED_VAL_TO_INT(_a) ((int)(((int)_a) >> GX_FIXED_VAL_SHIFT))
  2214. #define GX_FIXED_VAL_MUL(_a, _b) ((((int)_a) * (_b)) >> GX_FIXED_VAL_SHIFT)
  2215. #define GX_FIXED_VAL_DIV(_a, _b) ((((int)_a) << GX_FIXED_VAL_SHIFT) / ((int)_b))
  2216. #define GX_FIXED_VAL_RND(_a) (GX_VALUE)((((GX_FIXED_VAL)_a) + GX_FIXED_VAL_HALF) >> GX_FIXED_VAL_SHIFT)
  2217. #define GX_FIXED_VAL_RND_UP(_a) ((((GX_FIXED_VAL)_a) + GX_FIXED_VAL_ONE - 1) >> GX_FIXED_VAL_SHIFT)
  2218. #define GX_FIXED_VAL_ADD_ONE(_a) (((int)_a) + GX_FIXED_VAL_ONE)
  2219. #define GX_FIXED_VAL_SUB_ONE(_a) (((int)_a) - GX_FIXED_VAL_ONE)
  2220. /* Define the system API mappings based on the error checking
  2221. selected by the user. Note: this section is only applicable to
  2222. application source code, hence the conditional that turns off this
  2223. stuff when the include file is processed by the GUIX source. */
  2224. #ifndef GX_SOURCE_CODE
  2225. /* Determine if error checking is desired. If so, map API functions
  2226. to the appropriate error checking front-ends. Otherwise, map API
  2227. functions to the core functions that actually perform the work.
  2228. Note: error checking is enabled by default. */
  2229. #ifdef GX_DISABLE_ERROR_CHECKING
  2230. /* Services without error checking. */
  2231. #define gx_accordion_menu_create(a, b, c, d, e, f) _gx_accordion_menu_create(a, b, c, d, e, f)
  2232. #define gx_accordion_menu_draw _gx_accordion_menu_draw
  2233. #define gx_accordion_menu_event_process _gx_accordion_menu_event_process
  2234. #define gx_accordion_menu_position(a) _gx_accordion_menu_position(a)
  2235. #define gx_animation_canvas_define _gx_animation_canvas_define
  2236. #define gx_animation_create _gx_animation_create
  2237. #define gx_animation_drag_disable _gx_animation_drag_disable
  2238. #define gx_animation_drag_enable _gx_animation_drag_enable
  2239. #define gx_animation_landing_speed_set _gx_animation_landing_speed_set
  2240. #define gx_animation_start _gx_animation_start
  2241. #define gx_animation_stop _gx_animation_stop
  2242. #define gx_binres_language_count_get _gx_binres_language_count_get
  2243. #define gx_binres_language_info_load _gx_binres_language_info_load
  2244. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2245. #define gx_binres_language_table_load _gx_binres_language_table_load
  2246. #endif
  2247. #define gx_binres_language_table_load_ext _gx_binres_language_table_load_ext
  2248. #define gx_binres_theme_load _gx_binres_theme_load
  2249. #define gx_brush_default _gx_brush_default
  2250. #define gx_brush_define _gx_brush_define
  2251. #define gx_button_background_draw _gx_button_background_draw
  2252. #define gx_button_create(a, b, c, d, e, f) _gx_button_create(a, b, (GX_WIDGET *)c, d, e, f)
  2253. #define gx_button_deselect _gx_button_deselect
  2254. #define gx_button_draw _gx_button_draw
  2255. #define gx_button_event_process _gx_button_event_process
  2256. #define gx_button_select _gx_button_select
  2257. #define gx_canvas_alpha_set _gx_canvas_alpha_set
  2258. #define gx_canvas_arc_draw _gx_canvas_arc_draw
  2259. #define gx_canvas_block_move(a, b, c, d) _gx_canvas_block_move(a, b, c, d)
  2260. #define gx_canvas_circle_draw _gx_canvas_circle_draw
  2261. #define gx_canvas_create _gx_canvas_create
  2262. #define gx_canvas_delete _gx_canvas_delete
  2263. #define gx_canvas_drawing_complete _gx_canvas_drawing_complete
  2264. #define gx_canvas_drawing_initiate(a, b, c) _gx_canvas_drawing_initiate(a, (GX_WIDGET *)b, c)
  2265. #define gx_canvas_ellipse_draw _gx_canvas_ellipse_draw
  2266. #define gx_canvas_hardware_layer_bind _gx_canvas_hardware_layer_bind
  2267. #define gx_canvas_hide _gx_canvas_hide
  2268. #define gx_canvas_line_draw _gx_canvas_line_draw
  2269. #define gx_canvas_memory_define _gx_canvas_memory_define
  2270. #if defined (GX_MOUSE_SUPPORT)
  2271. #define gx_canvas_mouse_define _gx_canvas_mouse_define
  2272. #define gx_canvas_mouse_hide _gx_canvas_mouse_hide
  2273. #define gx_canvas_mouse_show _gx_canvas_mouse_show
  2274. #endif
  2275. #define gx_canvas_offset_set _gx_canvas_offset_set
  2276. #define gx_canvas_pixel_draw _gx_canvas_pixel_draw
  2277. #define gx_canvas_pixelmap_blend _gx_canvas_pixelmap_blend
  2278. #define gx_canvas_pixelmap_draw _gx_canvas_pixelmap_draw
  2279. #define gx_canvas_pixelmap_get _gx_canvas_pixelmap_get
  2280. #define gx_canvas_pixelmap_rotate _gx_canvas_pixelmap_rotate
  2281. #define gx_canvas_pixelmap_tile _gx_canvas_pixelmap_tile
  2282. #define gx_canvas_polygon_draw _gx_canvas_polygon_draw
  2283. #define gx_canvas_pie_draw _gx_canvas_pie_draw
  2284. #define gx_canvas_rectangle_draw _gx_canvas_rectangle_draw
  2285. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2286. #define gx_canvas_rotated_text_draw _gx_canvas_rotated_text_draw
  2287. #endif
  2288. #define gx_canvas_rotated_text_draw_ext _gx_canvas_rotated_text_draw_ext
  2289. #define gx_canvas_shift _gx_canvas_shift
  2290. #define gx_canvas_show _gx_canvas_show
  2291. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2292. #define gx_canvas_text_draw _gx_canvas_text_draw
  2293. #endif
  2294. #define gx_canvas_text_draw_ext _gx_canvas_text_draw_ext
  2295. #define gx_checkbox_create(a, b, c, d, e, f, g) _gx_checkbox_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2296. #define gx_checkbox_draw _gx_checkbox_draw
  2297. #define gx_checkbox_event_process _gx_checkbox_event_process
  2298. #define gx_checkbox_pixelmap_set _gx_checkbox_pixelmap_set
  2299. #define gx_checkbox_select _gx_checkbox_select
  2300. #define gx_circular_gauge_angle_get _gx_circular_gauge_angle_get
  2301. #define gx_circular_gauge_angle_set _gx_circular_gauge_angle_set
  2302. #define gx_circular_gauge_animation_set _gx_circular_gauge_animation_set
  2303. #define gx_circular_gauge_background_draw _gx_circular_gauge_background_draw
  2304. #define gx_circular_gauge_create(a, b, c, d, e, f, g, h, i) _gx_circular_gauge_create((GX_CIRCULAR_GAUGE *) a, b, c, d, e, f, g, h, i)
  2305. #define gx_circular_gauge_draw _gx_circular_gauge_draw
  2306. #define gx_circular_gauge_event_process _gx_circular_gauge_event_process
  2307. #define gx_context_brush_default _gx_context_brush_default
  2308. #define gx_context_brush_define _gx_context_brush_define
  2309. #define gx_context_brush_get _gx_context_brush_get
  2310. #define gx_context_brush_pattern_set _gx_context_brush_pattern_set
  2311. #define gx_context_brush_set _gx_context_brush_set
  2312. #define gx_context_brush_style_set _gx_context_brush_style_set
  2313. #define gx_context_brush_width_set _gx_context_brush_width_set
  2314. #define gx_context_color_get _gx_context_color_get
  2315. #define gx_context_fill_color_set _gx_context_fill_color_set
  2316. #define gx_context_font_get _gx_context_font_get
  2317. #define gx_context_font_set _gx_context_font_set
  2318. #define gx_context_line_color_set _gx_context_line_color_set
  2319. #define gx_context_pixelmap_get _gx_context_pixelmap_get
  2320. #define gx_context_pixelmap_set _gx_context_pixelmap_set
  2321. #define gx_context_raw_brush_define _gx_context_raw_brush_define
  2322. #define gx_context_raw_fill_color_set _gx_context_raw_fill_color_set
  2323. #define gx_context_raw_line_color_set _gx_context_raw_line_color_set
  2324. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2325. #define gx_context_string_get _gx_context_string_get
  2326. #endif
  2327. #define gx_context_string_get_ext _gx_context_string_get_ext
  2328. #define gx_display_active_language_set _gx_display_active_language_set
  2329. #define gx_display_color_set _gx_display_color_set
  2330. #define gx_display_color_table_set _gx_display_color_table_set
  2331. #define gx_display_create _gx_display_create
  2332. #define gx_display_delete _gx_display_delete
  2333. #define gx_display_font_table_set _gx_display_font_table_set
  2334. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2335. #define gx_display_language_table_get _gx_display_language_table_get
  2336. #define gx_display_language_table_set _gx_display_language_table_set
  2337. #endif
  2338. #define gx_display_language_table_get_ext _gx_display_language_table_get_ext
  2339. #define gx_display_language_table_set_ext _gx_display_language_table_set_ext
  2340. #define gx_display_pixelmap_table_set _gx_display_pixelmap_table_set
  2341. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2342. #define gx_display_string_get _gx_display_string_get
  2343. #define gx_display_string_table_get _gx_display_string_table_get
  2344. #endif
  2345. #define gx_display_string_get_ext _gx_display_string_get_ext
  2346. #define gx_display_string_table_get_ext _gx_display_string_table_get_ext
  2347. #define gx_display_theme_install _gx_display_theme_install
  2348. #define gx_drop_list_close _gx_drop_list_close
  2349. #define gx_drop_list_create(a, b, c, d, e, f, g, h, i) _gx_drop_list_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, i)
  2350. #define gx_drop_list_event_process _gx_drop_list_event_process
  2351. #define gx_drop_list_open _gx_drop_list_open
  2352. #define gx_drop_list_pixelmap_set _gx_drop_list_pixelmap_set
  2353. #define gx_drop_list_popup_get _gx_drop_list_popup_get
  2354. #define gx_horizontal_list_children_position _gx_horizontal_list_children_position
  2355. #define gx_horizontal_list_create(a, b, c, d, e, f, g, h) _gx_horizontal_list_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2356. #define gx_horizontal_list_event_process _gx_horizontal_list_event_process
  2357. #define gx_horizontal_list_page_index_set(a, b) _gx_horizontal_list_page_index_set((GX_HORIZONTAL_LIST *)a, b)
  2358. #define gx_horizontal_list_selected_index_get(a, b) _gx_horizontal_list_selected_index_get(a, b)
  2359. #define gx_horizontal_list_selected_set(a, b) _gx_horizontal_list_selected_set(a, b)
  2360. #define gx_horizontal_list_selected_widget_get(a, b) _gx_horizontal_list_selected_widget_get(a, (GX_WIDGET **)b)
  2361. #define gx_horizontal_list_total_columns_set(a, b) _gx_horizontal_list_total_columns_set((GX_HORIZONTAL_LIST *)a, b)
  2362. #define gx_horizontal_scrollbar_create(a, b, c, d, e) _gx_horizontal_scrollbar_create(a, b, (GX_WINDOW *)c, d, e)
  2363. #define gx_icon_background_draw _gx_icon_background_draw
  2364. #define gx_icon_button_create(a, b, c, d, e, f, g) _gx_icon_button_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2365. #define gx_icon_button_draw _gx_icon_button_draw
  2366. #define gx_icon_button_pixelmap_set _gx_icon_button_pixelmap_set
  2367. #define gx_icon_create(a, b, c, d, e, f, g, h) _gx_icon_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2368. #define gx_icon_draw _gx_icon_draw
  2369. #define gx_icon_event_process _gx_icon_event_process
  2370. #define gx_icon_pixelmap_set _gx_icon_pixelmap_set
  2371. #define gx_image_reader_create _gx_image_reader_create
  2372. #define gx_image_reader_palette_set _gx_image_reader_palette_set
  2373. #define gx_image_reader_start _gx_image_reader_start
  2374. #define gx_line_chart_axis_draw _gx_line_chart_axis_draw
  2375. #define gx_line_chart_create(a, b, c, d, e, f, g) _gx_line_chart_create(a, b, (GX_WIDGET *) c, d, e, f, g)
  2376. #define gx_line_chart_data_draw _gx_line_chart_data_draw
  2377. #define gx_line_chart_draw _gx_line_chart_draw
  2378. #define gx_line_chart_update _gx_line_chart_update
  2379. #define gx_line_chart_y_scale_calculate _gx_line_chart_y_scale_calculate
  2380. #define gx_menu_create(a, b, c, d, e, f, g, h) _gx_menu_create((GX_MENU *)a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2381. #define gx_menu_draw _gx_menu_draw
  2382. #define gx_menu_insert _gx_menu_insert
  2383. #define gx_menu_remove _gx_menu_remove
  2384. #define gx_menu_remove _gx_menu_remove
  2385. #define gx_menu_text_draw _gx_menu_text_draw
  2386. #define gx_menu_text_offset_set _gx_menu_text_offset_set
  2387. #define gx_multi_line_text_button_create(a, b, c, d, e, f, g) _gx_multi_line_text_button_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2388. #define gx_multi_line_text_button_draw _gx_multi_line_text_button_draw
  2389. #define gx_multi_line_text_button_event_process _gx_multi_line_text_button_event_process
  2390. #define gx_multi_line_text_button_text_draw _gx_multi_line_text_button_text_draw
  2391. #define gx_multi_line_text_button_text_id_set _gx_multi_line_text_button_text_id_set
  2392. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2393. #define gx_multi_line_text_button_text_set _gx_multi_line_text_button_text_set
  2394. #endif
  2395. #define gx_multi_line_text_button_text_set_ext _gx_multi_line_text_button_text_set_ext
  2396. #define gx_multi_line_text_input_backspace _gx_multi_line_text_input_backspace
  2397. #define gx_multi_line_text_input_buffer_clear _gx_multi_line_text_input_buffer_clear
  2398. #define gx_multi_line_text_input_buffer_get _gx_multi_line_text_input_buffer_get
  2399. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2400. #define gx_multi_line_text_input_char_insert _gx_multi_line_text_input_char_insert
  2401. #endif
  2402. #define gx_multi_line_text_input_char_insert_ext _gx_multi_line_text_input_char_insert_ext
  2403. #define gx_multi_line_text_input_create(a, b, c, d, e, f, g, h) _gx_multi_line_text_input_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2404. #define gx_multi_line_text_input_cursor_pos_get _gx_multi_line_text_input_cursor_pos_get
  2405. #define gx_multi_line_text_input_delete _gx_multi_line_text_input_delete
  2406. #define gx_multi_line_text_input_down_arrow _gx_multi_line_text_input_down_arrow
  2407. #define gx_multi_line_text_input_end _gx_multi_line_text_input_end
  2408. #define gx_multi_line_text_input_event_process _gx_multi_line_text_input_event_process
  2409. #define gx_multi_line_text_input_fill_color_set _gx_multi_line_text_input_fill_color_set
  2410. #define gx_multi_line_text_input_home _gx_multi_line_text_input_home
  2411. #define gx_multi_line_text_input_left_arrow _gx_multi_line_text_input_left_arrow
  2412. #define gx_multi_line_text_input_right_arrow _gx_multi_line_text_input_right_arrow
  2413. #define gx_multi_line_text_input_style_add _gx_multi_line_text_input_style_add
  2414. #define gx_multi_line_text_input_style_remove _gx_multi_line_text_input_style_remove
  2415. #define gx_multi_line_text_input_style_set _gx_multi_line_text_input_style_set
  2416. #define gx_multi_line_text_input_text_color_set _gx_multi_line_text_input_text_color_set
  2417. #define gx_multi_line_text_input_text_select _gx_multi_line_text_input_text_select
  2418. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2419. #define gx_multi_line_text_input_text_set _gx_multi_line_text_input_text_set
  2420. #endif
  2421. #define gx_multi_line_text_input_text_set_ext _gx_multi_line_text_input_text_set_ext
  2422. #define gx_multi_line_text_input_up_arrow _gx_multi_line_text_input_up_arrow
  2423. #define gx_multi_line_text_view_create(a, b, c, d, e, f, g) _gx_multi_line_text_view_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2424. #define gx_multi_line_text_view_draw _gx_multi_line_text_view_draw
  2425. #define gx_multi_line_text_view_event_process _gx_multi_line_text_view_event_process
  2426. #define gx_multi_line_text_view_font_set _gx_multi_line_text_view_font_set
  2427. #define gx_multi_line_text_view_line_space_set _gx_multi_line_text_view_line_space_set
  2428. #define gx_multi_line_text_view_scroll_info_get _gx_multi_line_text_view_scroll_info_get
  2429. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2430. #define gx_multi_line_text_view_text_color_set(a, b, c) _gx_multi_line_text_view_text_color_set((GX_MUILTI_LINE_TEXT_VIEW *)a, b, c, b)
  2431. #else
  2432. #define gx_multi_line_text_view_text_color_set _gx_multi_line_text_view_text_color_set
  2433. #endif
  2434. #define gx_multi_line_text_view_text_id_set _gx_multi_line_text_view_text_id_set
  2435. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2436. #define gx_multi_line_text_view_text_set _gx_multi_line_text_view_text_set
  2437. #endif
  2438. #define gx_multi_line_text_view_text_set_ext _gx_multi_line_text_view_text_set_ext
  2439. #define gx_multi_line_text_view_whitespace_set _gx_multi_line_text_view_whitespace_set
  2440. #define gx_numeric_pixelmap_prompt_create _gx_numeric_pixelmap_prompt_create
  2441. #define gx_numeric_pixelmap_prompt_format_function_set _gx_numeric_pixelmap_prompt_format_function_set
  2442. #define gx_numeric_pixelmap_prompt_value_set _gx_numeric_pixelmap_prompt_value_set
  2443. #define gx_numeric_prompt_create _gx_numeric_prompt_create
  2444. #define gx_numeric_prompt_format_function_set _gx_numeric_prompt_format_function_set
  2445. #define gx_numeric_prompt_value_set _gx_numeric_prompt_value_set
  2446. #define gx_numeric_scroll_wheel_create(a, b, c, d, e, f, g, h) _gx_numeric_scroll_wheel_create(a, b, (GX_WIDGET *) c, d, e, f, g, h)
  2447. #define gx_numeric_scroll_wheel_range_set _gx_numeric_scroll_wheel_range_set
  2448. #define gx_pixelmap_button_create(a, b, c, d, e, f, g, h, i) _gx_pixelmap_button_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, i)
  2449. #define gx_pixelmap_button_draw _gx_pixelmap_button_draw
  2450. #define gx_pixelmap_button_event_process _gx_pixelmap_button_event_process
  2451. #define gx_pixelmap_button_pixelmap_set _gx_pixelmap_button_pixelmap_set
  2452. #define gx_pixelmap_prompt_create(a, b, c, d, e, f, g, h) _gx_pixelmap_prompt_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2453. #define gx_pixelmap_prompt_draw _gx_pixelmap_prompt_draw
  2454. #define gx_pixelmap_prompt_pixelmap_set _gx_pixelmap_prompt_pixelmap_set
  2455. #define gx_pixelmap_slider_create(a, b, c, d, e, f, g, h) _gx_pixelmap_slider_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2456. #define gx_pixelmap_slider_draw _gx_pixelmap_slider_draw
  2457. #define gx_pixelmap_slider_event_process _gx_pixelmap_slider_event_process
  2458. #define gx_pixelmap_slider_pixelmap_set _gx_pixelmap_slider_pixelmap_set
  2459. #define gx_progress_bar_background_draw _gx_progress_bar_background_draw
  2460. #define gx_progress_bar_create(a, b, c, d, e, f, g) _gx_progress_bar_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2461. #define gx_progress_bar_draw _gx_progress_bar_draw
  2462. #define gx_progress_bar_event_process _gx_progress_bar_event_process
  2463. #define gx_progress_bar_font_set _gx_progress_bar_font_set
  2464. #define gx_progress_bar_info_set(a, b) _gx_progress_bar_info_set((GX_PROGRESS_BAR *)a, b)
  2465. #define gx_progress_bar_pixelmap_set _gx_progress_bar_pixelmap_set
  2466. #define gx_progress_bar_range_set _gx_progress_bar_range_set
  2467. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2468. #define gx_progress_bar_text_color_set(a, b, c) _gx_progress_bar_text_color_set((GX_PROGRESS_BAR *)a, b, c, b)
  2469. #else
  2470. #define gx_progress_bar_text_color_set _gx_progress_bar_text_color_set
  2471. #endif
  2472. #define gx_progress_bar_text_draw _gx_progress_bar_text_draw
  2473. #define gx_progress_bar_value_set _gx_progress_bar_value_set
  2474. #define gx_prompt_create(a, b, c, d, e, f, g) _gx_prompt_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2475. #define gx_prompt_draw _gx_prompt_draw
  2476. #define gx_prompt_font_set _gx_prompt_font_set
  2477. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2478. #define gx_prompt_text_color_set(a, b, c) _gx_prompt_text_color_set((GX_PROGRESS_BAR *)a, b, c, b)
  2479. #else
  2480. #define gx_prompt_text_color_set _gx_prompt_text_color_set
  2481. #endif
  2482. #define gx_prompt_text_draw _gx_prompt_text_draw
  2483. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2484. #define gx_prompt_text_get _gx_prompt_text_get
  2485. #endif
  2486. #define gx_prompt_text_get_ext _gx_prompt_text_get_ext
  2487. #define gx_prompt_text_id_set _gx_prompt_text_id_set
  2488. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2489. #define gx_prompt_text_set _gx_prompt_text_set
  2490. #endif
  2491. #define gx_prompt_text_set_ext _gx_prompt_text_set_ext
  2492. #define gx_radial_progress_bar_anchor_set _gx_radial_progress_bar_anchor_set
  2493. #define gx_radial_progress_bar_background_draw _gx_radial_progress_bar_background_draw
  2494. #define gx_radial_progress_bar_create _gx_radial_progress_bar_create
  2495. #define gx_radial_progress_bar_draw _gx_radial_progress_bar_draw
  2496. #define gx_radial_progress_bar_event_process _gx_radial_progress_bar_event_process
  2497. #define gx_radial_progress_bar_font_set _gx_radial_progress_bar_font_set
  2498. #define gx_radial_progress_bar_info_set _gx_radial_progress_bar_info_set
  2499. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2500. #define gx_radial_progress_bar_text_color_set(a, b, c) _gx_radial_progress_bar_text_color_set((GX_RADIAL_PROGRESS_BAR *)a, b, c, b)
  2501. #else
  2502. #define gx_radial_progress_bar_text_color_set _gx_radial_progress_bar_text_color_set
  2503. #endif
  2504. #define gx_radial_progress_bar_text_draw _gx_radial_progress_bar_text_draw
  2505. #define gx_radial_progress_bar_value_set _gx_radial_progress_bar_value_set
  2506. #define gx_radial_slider_anchor_angles_set _gx_radial_slider_anchor_anglees_set
  2507. #define gx_radial_slider_animation_set _gx_radial_slider_animation_set
  2508. #define gx_radial_slider_animation_start _gx_radial_slider_animation_start
  2509. #define gx_radial_slider_create _gx_radial_slider_create
  2510. #define gx_radial_slider_draw _gx_radial_slider_draw
  2511. #define gx_radial_slider_event_process _gx_radial_slider_event_process
  2512. #define gx_radial_slider_info_get _gx_radial_slider_info_get
  2513. #define gx_radial_slider_info_set _gx_radial_slider_info_set
  2514. #define gx_radial_slider_pixelmap_set _gx_radial_slider_pixelmap_set
  2515. #define gx_radial_slider_angle_set _gx_radial_slider_angle_set
  2516. #define gx_radio_button_create(a, b, c, d, e, f, g) _gx_radio_button_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2517. #define gx_radio_button_draw _gx_radio_button_draw
  2518. #define gx_radio_button_pixelmap_set _gx_radio_button_pixelmap_set
  2519. #define gx_screen_stack_create _gx_screen_stack_create
  2520. #define gx_screen_stack_pop _gx_screen_stack_pop
  2521. #define gx_screen_stack_push _gx_screen_stack_push
  2522. #define gx_screen_stack_reset _gx_screen_stack_reset
  2523. #define gx_scroll_thumb_create _gx_scroll_thumb_create
  2524. #define gx_scroll_thumb_draw _gx_scroll_thumb_draw
  2525. #define gx_scroll_thumb_event_process _gx_scroll_thumb_event_process
  2526. #define gx_scrollbar_draw _gx_scrollbar_draw
  2527. #define gx_scrollbar_event_process _gx_scrollbar_event_process
  2528. #define gx_scrollbar_limit_check _gx_scrollbar_limit_check
  2529. #define gx_scrollbar_reset _gx_scrollbar_reset
  2530. #define gx_scrollbar_value_set _gx_scrollbar_value_set
  2531. #define gx_scroll_wheel_create _gx_scroll_wheel_create
  2532. #define gx_scroll_wheel_event_process _gx_scroll_wheel_event_process
  2533. #define gx_scroll_wheel_gradient_alpha_set(a, b, c) _gx_scroll_wheel_gradient_alpha_set((GX_SCROLL_WHEEL *) a, b, c)
  2534. #define gx_scroll_wheel_row_height_set(a, b) _gx_scroll_wheel_row_height_set((GX_SCROLL_WHEEL *) a, b)
  2535. #define gx_scroll_wheel_selected_background_set(a, b) _gx_scroll_wheel_selected_background_set((GX_SCROLL_WHEEL *) a, b)
  2536. #define gx_scroll_wheel_selected_get(a, b) _gx_scroll_wheel_selected_get((GX_SCROLL_WHEEL *) a, b)
  2537. #define gx_scroll_wheel_selected_set(a, b) _gx_scroll_wheel_selected_set((GX_SCROLL_WHEEL *) a, b)
  2538. #define gx_scroll_wheel_speed_set(a, b, c, d, e) _gx_scroll_wheel_speed_set((GX_SCROLL_WHEEL *) a, b, c, d, e)
  2539. #define gx_scroll_wheel_total_rows_set(a, b) _gx_scroll_wheel_total_rows_set((GX_SCROLL_WHEEL *) a, b)
  2540. #define gx_single_line_text_input_backspace(a) _gx_single_line_text_input_backspace((GX_SINGLE_LINE_TEXT_INPUT *)a)
  2541. #define gx_single_line_text_input_buffer_clear(a) _gx_single_line_text_input_buffer_clear((GX_SINGLE_LINE_TEXT_INPUT *)a);
  2542. #define gx_single_line_text_input_buffer_get(a, b, c, d) _gx_single_line_text_input_buffer_get((GX_SINGLE_LINE_TEXT_INPUT *)a, b, c, d);
  2543. #define gx_single_line_text_input_character_delete(a) _gx_single_line_text_input_character_delete(a)
  2544. #define gx_single_line_text_input_character_insert(a, b, c) _gx_single_line_text_input_character_insert(a, b, c)
  2545. #define gx_single_line_text_input_create(a, b, c, d, e, f, g, h) _gx_single_line_text_input_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2546. #define gx_single_line_text_input_draw(a) _gx_single_line_text_input_draw(a)
  2547. #define gx_single_line_text_input_draw_position_get(a, b, c) _gx_single_line_text_input_draw_position_get(a, b, c)
  2548. #define gx_single_line_text_input_end(a) _gx_single_line_text_input_end((GX_SINGLE_LINE_TEXT_INPUT *)a)
  2549. #define gx_single_line_text_input_event_process(a, b) _gx_single_line_text_input_event_process((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  2550. #define gx_single_line_text_input_fill_color_set(a, b, c, d, e) _gx_single_line_text_input_fill_color_set((GX_SINGLE_LINE_TEXT_INPUT *)a, b, c, d, e)
  2551. #define gx_single_line_text_input_home(a) _gx_single_line_text_input_home((GX_SINGLE_LINE_TEXT_INPUT *)a)
  2552. #define gx_single_line_text_input_left_arrow(a) _gx_single_line_text_input_left_arrow((GX_SINGLE_LINE_TEXT_INPUT *)a)
  2553. #define gx_single_line_text_input_position_get(a, b) _gx_single_line_text_input_position_get(a, b)
  2554. #define gx_single_line_text_input_right_arrow(a) _gx_single_line_text_input_right_arrow((GX_SINGLE_LINE_TEXT_INPUT *)a)
  2555. #define gx_single_line_text_input_style_add(a, b) _gx_single_line_text_input_style_add((GX_SINGLE_LINE_TEXT_INPUT *)a, b);
  2556. #define gx_single_line_text_input_style_remove(a, b) _gx_single_line_text_input_style_remove((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  2557. #define gx_single_line_text_input_style_set(a, b) _gx_single_line_text_input_style_set((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  2558. #define gx_single_line_text_input_text_color_set(a, b, c, d, e) _gx_single_line_text_input_text_color_set((GX_SINGLE_LINE_TEXT_INPUT *)a, b, c, d, e)
  2559. #define gx_single_line_text_input_text_select _gx_single_line_text_input_text_select
  2560. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2561. #define gx_single_line_text_input_text_set _gx_single_line_text_input_text_set
  2562. #endif
  2563. #define gx_single_line_text_input_text_set_ext _gx_single_line_text_input_text_set_ext
  2564. #define gx_slider_create(a, b, c, d, e, f, g, h) _gx_slider_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2565. #define gx_slider_draw _gx_slider_draw
  2566. #define gx_slider_event_process _gx_slider_event_process
  2567. #define gx_slider_info_set _gx_slider_info_set
  2568. #define gx_slider_needle_draw _gx_slider_needle_draw
  2569. #define gx_slider_needle_position_get _gx_slider_needle_position_get
  2570. #define gx_slider_tickmarks_draw _gx_slider_tickmarks_draw
  2571. #define gx_slider_travel_get _gx_slider_travel_get
  2572. #define gx_slider_value_calculate _gx_slider_value_calculate
  2573. #define gx_slider_value_set _gx_slider_value_set
  2574. #define gx_sprite_create(a, b, c, d, e, f, g, h) _gx_sprite_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2575. #define gx_sprite_current_frame_set _gx_sprite_current_frame_set
  2576. #define gx_sprite_frame_list_set _gx_sprite_frame_list_set
  2577. #define gx_sprite_start(a, b) _gx_sprite_start(a, b)
  2578. #define gx_sprite_stop(a) _gx_sprite_stop(a)
  2579. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2580. #define gx_string_scroll_wheel_create(a, b, c, d, e, f, g, h) _gx_string_scroll_wheel_create(a, b, c, d, e, f, g, h)
  2581. #define gx_string_scroll_wheel_string_list_set _gx_string_scroll_wheel_string_list_set
  2582. #endif
  2583. #define gx_string_scroll_wheel_create_ext(a, b, c, d, e, f, g, h) _gx_string_scroll_wheel_create_ext(a, b, c, d, e, f, g, h)
  2584. #define gx_string_scroll_wheel_string_id_list_set _gx_string_scroll_wheel_string_id_list_set
  2585. #define gx_string_scroll_wheel_string_list_set_ext _gx_string_scroll_wheel_string_list_set_ext
  2586. #define gx_system_active_language_set _gx_system_active_language_set
  2587. #if (GX_ANIMATION_POOL_SIZE > 0)
  2588. #define gx_system_animation_get _gx_system_animation_get
  2589. #define gx_system_animation_free _gx_system_animation_free
  2590. #endif
  2591. #if defined(GX_DYNAMIC_BIDI_TEXT_SUPPORT)
  2592. #define gx_system_bidi_text_enable _gx_system_bidi_text_enable
  2593. #define gx_system_bidi_text_disable _gx_system_bidi_text_disable
  2594. #endif
  2595. #if defined(GX_THAI_GLYPH_SHAPING_SUPPORT)
  2596. #define gx_system_text_render_style_set _gx_system_text_render_style_set
  2597. #endif
  2598. #define gx_system_canvas_refresh _gx_system_canvas_refresh
  2599. #define gx_system_dirty_mark(a) _gx_system_dirty_mark((GX_WIDGET *)a);
  2600. #define gx_system_dirty_partial_add(a, b) _gx_system_dirty_partial_add((GX_WIDGET *)a, b)
  2601. #define gx_system_draw_context_get _gx_system_draw_context_get
  2602. #define gx_system_event_fold _gx_system_event_fold
  2603. #define gx_system_event_send _gx_system_event_send
  2604. #define gx_system_focus_claim(a) _gx_system_focus_claim((GX_WIDGET *)a)
  2605. #define gx_system_initialize _gx_system_initialize
  2606. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2607. #define gx_system_language_table_get _gx_system_language_table_get
  2608. #define gx_system_language_table_set _gx_system_language_table_set
  2609. #endif
  2610. #define gx_system_memory_allocator_set _gx_system_memory_allocator_set
  2611. #define gx_system_pen_configure _gx_system_pen_configure
  2612. #define gx_system_screen_stack_create _gx_system_screen_stack_create
  2613. #define gx_system_screen_stack_get _gx_system_screen_stack_get
  2614. #define gx_system_screen_stack_pop _gx_system_screen_stack_pop
  2615. #define gx_system_screen_stack_push _gx_system_screen_stack_push
  2616. #define gx_system_screen_stack_reset _gx_system_screen_stack_reset
  2617. #define gx_system_scroll_appearance_get _gx_system_scroll_appearance_get
  2618. #define gx_system_scroll_appearance_set _gx_system_scroll_appearance_set
  2619. #define gx_system_start _gx_system_start
  2620. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2621. #define gx_system_string_get _gx_system_string_get
  2622. #define gx_system_string_table_get _gx_system_string_table_get
  2623. #define gx_system_string_width_get _gx_system_string_width_get
  2624. #endif
  2625. #define gx_system_string_width_get_ext _gx_system_string_width_get_ext
  2626. #define gx_system_timer_start(a, b, c, d) _gx_system_timer_start((GX_WIDGET *)a, b, c, d)
  2627. #define gx_system_timer_stop(a, b) _gx_system_timer_stop((GX_WIDGET *)a, b)
  2628. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2629. #define gx_system_version_string_get _gx_system_version_string_get
  2630. #endif
  2631. #define gx_system_version_string_get_ext _gx_system_version_string_get_ext
  2632. #define gx_system_widget_find _gx_system_widget_find
  2633. #define gx_text_button_create(a, b, c, d, e, f, g) _gx_text_button_create(a, b, (GX_WIDGET *)c, d, e, f, g)
  2634. #define gx_text_button_draw _gx_text_button_draw
  2635. #define gx_text_button_font_set _gx_text_button_font_set
  2636. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2637. #define gx_text_button_text_color_set(a, b, c) _gx_text_button_text_color_set((GX_TEXT_BUTTON *)a, b, c)
  2638. #else
  2639. #define gx_text_button_text_color_set _gx_text_button_text_color_set
  2640. #endif
  2641. #define gx_text_button_text_draw _gx_text_button_text_draw
  2642. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2643. #define gx_text_button_text_get _gx_text_button_text_get
  2644. #endif
  2645. #define gx_text_button_text_get_ext _gx_text_button_text_get_ext
  2646. #define gx_text_button_text_id_set _gx_text_button_text_id_set
  2647. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2648. #define gx_text_button_text_set _gx_text_button_text_set
  2649. #endif
  2650. #define gx_text_button_text_set_ext _gx_text_button_text_set_ext
  2651. #define gx_text_input_cursor_blink_interval_set _gx_text_input_cursor_blink_interval_set
  2652. #define gx_text_input_cursor_height_set _gx_text_input_cursor_height_set
  2653. #define gx_text_input_cursor_width_set _gx_text_input_cursor_width_set
  2654. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2655. #define gx_text_scroll_wheel_callback_set(a, b) _gx_text_scroll_wheel_callback_set((GX_TEXT_SCROLL_WHEEL *)a, (GX_CONST GX_CHAR *(*)(GX_TEXT_SCROLL_WHEEL *, INT)) b)
  2656. #endif
  2657. #define gx_text_scroll_wheel_callback_set_ext(a, b) _gx_text_scroll_wheel_callback_set_ext((GX_TEXT_SCROLL_WHEEL *)a, (UINT(*)(GX_TEXT_SCROLL_WHEEL *, INT, GX_STRING *)) b)
  2658. #define gx_text_scroll_wheel_font_set(a, b, c) _gx_text_scroll_wheel_font_set((GX_TEXT_SCROLL_WHEEL *) a, b, c)
  2659. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2660. #define gx_text_scroll_wheel_text_color_set(a, b, c) _gx_text_scroll_wheel_text_color_set((GX_TEXT_SCROLL_WHEEL *) a, b, c, b)
  2661. #else
  2662. #define gx_text_scroll_wheel_text_color_set(a, b, c, d) _gx_text_scroll_wheel_text_color_set((GX_TEXT_SCROLL_WHEEL *) a, b, c, d)
  2663. #endif
  2664. #define gx_text_scroll_wheel_create _gx_text_scroll_wheel_create
  2665. #define gx_text_scroll_wheel_draw _gx_text_scroll_wheel_draw
  2666. #define gx_transition_window_create(a, b, c, d, e, f) _gx_transition_window_create(a, b, (GX_WIDGET *)c, d, e, f)
  2667. #define gx_tree_view_create(a, b, c, d, e, f) _gx_tree_view_create((GX_TREE_VIEW *)a, b, (GX_WIDGET *)c, d, e, f)
  2668. #define gx_tree_view_draw _gx_tree_view_draw
  2669. #define gx_tree_view_event_process _gx_tree_view_event_process
  2670. #define gx_tree_view_indentation_set _gx_tree_view_indentation_set
  2671. #define gx_tree_view_position _gx_tree_view_position
  2672. #define gx_tree_view_root_line_color_set _gx_tree_view_root_line_color_set
  2673. #define gx_tree_view_root_pixelmap_set _gx_tree_view_root_pixelmap_set
  2674. #define gx_tree_view_selected_get _gx_tree_view_selected_get
  2675. #define gx_tree_view_selected_set _gx_tree_view_selected_set
  2676. #define gx_utility_canvas_to_bmp _gx_utility_canvas_to_bmp
  2677. #define gx_utility_gradient_create _gx_utility_gradient_create
  2678. #define gx_utility_gradient_delete _gx_utility_gradient_delete
  2679. #define gx_utility_circle_point_get _gx_utility_circle_point_get
  2680. #define gx_utility_ltoa _gx_utility_ltoa
  2681. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2682. #define gx_utility_math_acos _gx_utility_math_acos_5_4_0
  2683. #define gx_utility_math_asin _gx_utility_math_asin_5_4_0
  2684. #define gx_utility_math_cos _gx_utility_math_cos_5_4_0
  2685. #define gx_utility_math_sin _gx_utility_math_sin_5_4_0
  2686. #else
  2687. #define gx_utility_math_acos _gx_utility_math_acos
  2688. #define gx_utility_math_asin _gx_utility_math_asin
  2689. #define gx_utility_math_cos _gx_utility_math_cos
  2690. #define gx_utility_math_sin _gx_utility_math_sin
  2691. #endif
  2692. #define gx_utility_math_sqrt _gx_utility_math_sqrt
  2693. #define gx_utility_pixelmap_resize _gx_utility_pixelmap_resize
  2694. #define gx_utility_pixelmap_rotate _gx_utility_pixelmap_rotate
  2695. #define gx_utility_pixelmap_simple_rotate _gx_utility_pixelmap_simple_rotate
  2696. #define gx_utility_rectangle_center _gx_utility_rectangle_center
  2697. #define gx_utility_rectangle_center_find _gx_utility_rectangle_center_find
  2698. #define gx_utility_rectangle_combine _gx_utility_rectangle_combine
  2699. #define gx_utility_rectangle_compare _gx_utility_rectangle_compare
  2700. #define gx_utility_rectangle_define _gx_utility_rectangle_define
  2701. #define gx_utility_rectangle_resize _gx_utility_rectangle_resize
  2702. #define gx_utility_rectangle_overlap_detect _gx_utility_rectangle_overlap_detect
  2703. #define gx_utility_rectangle_point_detect _gx_utility_rectangle_point_detect
  2704. #define gx_utility_rectangle_shift _gx_utility_rectangle_shift
  2705. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2706. #define gx_utility_string_to_alphamap _gx_utility_string_to_alphamap
  2707. #endif
  2708. #define gx_utility_string_to_alphamap_ext _gx_utility_string_to_alphamap_ext
  2709. #define gx_vertical_list_children_position _gx_vertical_list_children_position
  2710. #define gx_vertical_list_create(a, b, c, d, e, f, g, h) _gx_vertical_list_create(a, b, (GX_WIDGET *)c, d, e, f, g, h)
  2711. #define gx_vertical_list_event_process _gx_vertical_list_event_process
  2712. #define gx_vertical_list_page_index_set(a, b) _gx_vertical_list_page_index_set((GX_VERTICAL_LIST *)a, b)
  2713. #define gx_vertical_list_selected_index_get(a, b) _gx_vertical_list_selected_index_get(a, b)
  2714. #define gx_vertical_list_selected_set(a, b) _gx_vertical_list_selected_set(a, b)
  2715. #define gx_vertical_list_selected_widget_get(a, b) _gx_vertical_list_selected_widget_get(a, (GX_WIDGET **)b)
  2716. #define gx_vertical_list_total_rows_set(a, b) _gx_vertical_list_total_rows_set((GX_VERTICAL_LIST *)a, b)
  2717. #define gx_vertical_scrollbar_create(a, b, c, d, e) _gx_vertical_scrollbar_create(a, b, (GX_WINDOW *)c, d, e)
  2718. #define gx_widget_allocate(a, b) _gx_widget_allocate((GX_WIDGET **)a, b)
  2719. #define gx_widget_attach(a, b) _gx_widget_attach((GX_WIDGET *)a, (GX_WIDGET *)b)
  2720. #define gx_widget_back_attach(a, b) _gx_widget_back_attach((GX_WIDGET *)a, (GX_WIDGET *)b)
  2721. #define gx_widget_back_move(a, b) _gx_widget_back_move((GX_WIDGET *)a, b)
  2722. #define gx_widget_background_draw(a) _gx_widget_background_draw((GX_WIDGET *)a)
  2723. #define gx_widget_block_move(a, b, c, d) _gx_widget_block_move((GX_WIDGET *)a, b, c, d)
  2724. #define gx_widget_border_draw(a, b, c, d, e) _gx_widget_border_draw((GX_WIDGET *)a, b, c, d, e)
  2725. #define gx_widget_border_style_set(a, b) _gx_widget_border_style_set((GX_WIDGET *)a, b)
  2726. #define gx_widget_border_width_get(a, b) _gx_widget_border_width_get((GX_WIDGET *)a, b)
  2727. #define gx_widget_canvas_get(a, b) _gx_widget_canvas_get((GX_WIDGET *)a, b)
  2728. #define gx_widget_child_detect(a, b, c) _gx_widget_child_detect((GX_WIDGET *)a, b, c)
  2729. #define gx_widget_children_draw(a) _gx_widget_children_draw((GX_WIDGET *)a)
  2730. #define gx_widget_client_get(a, b, c) _gx_widget_client_get((GX_WIDGET *)a, b, c)
  2731. #define gx_widget_color_get(a, b, c) _gx_widget_color_get((GX_WIDGET *)a, b, c)
  2732. #define gx_widget_create(a, b, c, d, e, f) _gx_widget_create((GX_WIDGET *)a, b, (GX_WIDGET *)c, d, e, f)
  2733. #define gx_widget_created_test(a, b) _gx_widget_created_test((GX_WIDGET *)a, b)
  2734. #define gx_widget_delete(a) _gx_widget_delete((GX_WIDGET *)a)
  2735. #define gx_widget_detach(a) _gx_widget_detach((GX_WIDGET *)a)
  2736. #define gx_widget_draw(a) _gx_widget_draw((GX_WIDGET *)a)
  2737. #define gx_widget_draw_set(a, b) _gx_widget_draw_set((GX_WIDGET *)a, (void (*)(GX_WIDGET *))b)
  2738. #define gx_widget_event_generate(a, b, c) _gx_widget_event_generate((GX_WIDGET *)a, b, c)
  2739. #define gx_widget_event_process(a, b) _gx_widget_event_process((GX_WIDGET *)a, b)
  2740. #define gx_widget_event_process_set(a, b) _gx_widget_event_process_set((GX_WIDGET *)a, (UINT (*)(GX_WIDGET *, GX_EVENT *)) b)
  2741. #define gx_widget_event_to_parent(a, b) _gx_widget_event_to_parent((GX_WIDGET *)a, b)
  2742. #if defined(GUIX_5_4_0_COMPATIBILITY)
  2743. #define gx_widget_fill_color_set(a, b, c) _gx_widget_fill_color_set((GX_WIDGET *)a, b, c, b)
  2744. #else
  2745. #define gx_widget_fill_color_set(a, b, c, d) _gx_widget_fill_color_set((GX_WIDGET *)a, b, c, d)
  2746. #endif
  2747. #define gx_widget_find(a, b, c, d) _gx_widget_find((GX_WIDGET *)a, b, c, (GX_WIDGET **)d)
  2748. #define gx_widget_first_child_get(a, b) _gx_widget_first_child_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  2749. #define gx_widget_focus_next(a) _gx_widget_focus_next((GX_WIDGET *)a)
  2750. #define gx_widget_focus_previous(a) _gx_widget_focus_previous((GX_WIDGET *)a)
  2751. #define gx_widget_font_get(a, b, c) _gx_widget_font_get((GX_WIDGET *)a, b, c)
  2752. #define gx_widget_free(a) _gx_widget_free((GX_WIDGET *)a)
  2753. #define gx_widget_front_move(a, b) _gx_widget_front_move((GX_WIDGET *)a, b)
  2754. #define gx_widget_height_get(a, b) _gx_widget_height_get((GX_WIDGET *)a, b)
  2755. #define gx_widget_hide(a) _gx_widget_hide((GX_WIDGET *)a)
  2756. #define gx_widget_last_child_get(a, b) _gx_widget_last_child_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  2757. #define gx_widget_next_sibling_get(a, b) _gx_widget_next_sibling_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  2758. #define gx_widget_parent_get(a, b) _gx_widget_parent_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  2759. #define gx_widget_pixelmap_get(a, b, c) _gx_widget_pixelmap_get((GX_WIDGET *)a, b, c)
  2760. #define gx_widget_previous_sibling_get(a, b) _gx_widget_previous_sibling_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  2761. #define gx_widget_resize(a, b) _gx_widget_resize((GX_WIDGET *)a, b)
  2762. #define gx_widget_shift(a, b, c, d) _gx_widget_shift((GX_WIDGET *)a, b, c, d)
  2763. #define gx_widget_show(a) _gx_widget_show((GX_WIDGET *)a)
  2764. #define gx_widget_status_add(a, b) _gx_widget_status_add((GX_WIDGET *)a, b)
  2765. #define gx_widget_status_get(a, b) _gx_widget_status_get((GX_WIDGET *)a, b)
  2766. #define gx_widget_status_remove(a, b) _gx_widget_status_remove((GX_WIDGET *)a, b)
  2767. #define gx_widget_status_test(a, b, c) _gx_widget_status_test((GX_WIDGET *)a, b, c)
  2768. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2769. #define gx_widget_string_get(a, b, c) _gx_widget_string_get((GX_WIDGET *)a, b, c)
  2770. #endif
  2771. #define gx_widget_string_get_ext(a, b, c) _gx_widget_string_get_ext((GX_WIDGET *)a, b, c)
  2772. #define gx_widget_style_add(a, b) _gx_widget_style_add((GX_WIDGET *)a, b)
  2773. #define gx_widget_style_get(a, b) _gx_widget_style_get((GX_WIDGET *)a, b)
  2774. #define gx_widget_style_remove(a, b) _gx_widget_style_remove((GX_WIDGET *)a, b)
  2775. #define gx_widget_style_set(a, b) _gx_widget_style_set((GX_WIDGET *)a, b)
  2776. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2777. #define gx_widget_text_blend(a, b, c, d, e, f, g) _gx_widget_text_blend((GX_WIDGET *)a, b, c, d, e, f, g)
  2778. #define gx_widget_text_draw(a, b, c, d, e, f) _gx_widget_text_draw((GX_WIDGET *)a, b, c, d, e, f)
  2779. #endif
  2780. #define gx_widget_text_blend_ext(a, b, c, d, e, f, g) _gx_widget_text_blend_ext((GX_WIDGET *)a, b, c, d, e, f, g)
  2781. #define gx_widget_text_draw_ext(a, b, c, d, e, f) _gx_widget_text_draw_ext((GX_WIDGET *)a, b, c, d, e, f)
  2782. #define gx_widget_text_id_draw(a, b, c, d, e, f) _gx_widget_text_id_draw((GX_WIDGET *)a, b, c, d, e, f)
  2783. #define gx_widget_top_visible_child_find(a, b) _gx_widget_top_visible_child_find((GX_WIDGET *) a, (GX_WIDGET **) b)
  2784. #define gx_widget_type_find(a, b, c) _gx_widget_type_find((GX_WIDGET *)a, b, (GX_WIDGET **)c)
  2785. #define gx_widget_width_get(a, b) _gx_widget_width_get((GX_WIDGET *)a, b)
  2786. #define gx_window_background_draw _gx_window_background_draw
  2787. #define gx_window_client_height_get _gx_window_client_height_get
  2788. #define gx_window_client_scroll _gx_window_client_scroll
  2789. #define gx_window_client_width_get _gx_window_client_width_get
  2790. #define gx_window_close(a) _gx_window_close((GX_WINDOW *) a)
  2791. #define gx_window_create(a, b, c, d, e, f) _gx_window_create(a, b, (GX_WIDGET *)c, d, e, f)
  2792. #define gx_window_draw _gx_window_draw
  2793. #define gx_window_event_process _gx_window_event_process
  2794. #define gx_window_execute _gx_window_execute
  2795. #define gx_window_root_create _gx_window_root_create
  2796. #define gx_window_root_delete _gx_window_root_delete
  2797. #define gx_window_root_event_process _gx_window_root_event_process
  2798. #define gx_window_root_find(a, b) _gx_window_root_find((GX_WIDGET *)a, b)
  2799. #define gx_window_scroll_info_get _gx_window_scroll_info_get
  2800. #define gx_window_scrollbar_find _gx_window_scrollbar_find
  2801. #define gx_window_wallpaper_get _gx_window_wallpaper_get
  2802. #define gx_window_wallpaper_set(a, b, c) _gx_window_wallpaper_set((GX_WINDOW *)a, b, c)
  2803. /* Define the non-error checking function prototypes of the GUIX API. These are the routines called when the application code is built with
  2804. GX_DISABLE_ERROR_CHECKING defined. */
  2805. UINT _gx_accordion_menu_create(GX_ACCORDION_MENU *accordion, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  2806. ULONG style, USHORT accordion_menu_id, GX_CONST GX_RECTANGLE *size);
  2807. VOID _gx_accordion_menu_draw(GX_ACCORDION_MENU *menu);
  2808. UINT _gx_accordion_menu_event_process(GX_ACCORDION_MENU *accordion, GX_EVENT *event_ptr);
  2809. UINT _gx_accordion_menu_position(GX_ACCORDION_MENU *accordion);
  2810. UINT _gx_animation_canvas_define(GX_ANIMATION *animation, GX_CANVAS *canvas);
  2811. UINT _gx_animation_create(GX_ANIMATION *animation);
  2812. UINT _gx_animation_drag_disable(GX_ANIMATION *animation, GX_WIDGET *widget);
  2813. UINT _gx_animation_drag_enable(GX_ANIMATION *animation, GX_WIDGET *widget, GX_ANIMATION_INFO *info);
  2814. UINT _gx_animation_landing_speed_set(GX_ANIMATION *animation, USHORT shift_per_step);
  2815. UINT _gx_animation_start(GX_ANIMATION *animation, GX_ANIMATION_INFO *info);
  2816. UINT _gx_animation_stop(GX_ANIMATION *animation);
  2817. UINT _gx_binres_language_count_get(GX_UBYTE *root_address, GX_VALUE *put_count);
  2818. UINT _gx_binres_language_info_load(GX_UBYTE *root_address, GX_LANGUAGE_HEADER *put_info);
  2819. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2820. UINT _gx_binres_language_table_load(GX_UBYTE *root_address, GX_UBYTE ****returned_language_table);
  2821. #endif
  2822. UINT _gx_binres_language_table_load_ext(GX_UBYTE* root_address, GX_STRING*** returned_language_table);
  2823. UINT _gx_binres_theme_load(GX_UBYTE *root_address, INT theme_id, GX_THEME **returned_theme);
  2824. UINT _gx_brush_default(GX_BRUSH *brush);
  2825. UINT _gx_brush_define(GX_BRUSH *brush, GX_COLOR line_color, GX_COLOR fill_color, UINT style);
  2826. VOID _gx_button_background_draw(GX_BUTTON *button);
  2827. UINT _gx_button_create(GX_BUTTON *button,
  2828. GX_CONST GX_CHAR *name,
  2829. GX_WIDGET *parent,
  2830. ULONG style, USHORT Id,
  2831. GX_CONST GX_RECTANGLE *size);
  2832. UINT _gx_button_deselect(GX_BUTTON *button, GX_BOOL gen_event);
  2833. VOID _gx_button_draw(GX_BUTTON *button);
  2834. UINT _gx_button_event_process(GX_BUTTON *button, GX_EVENT *event_ptr);
  2835. UINT _gx_button_select(GX_BUTTON *button);
  2836. UINT _gx_canvas_alpha_set(GX_CANVAS *canvas, GX_UBYTE alpha);
  2837. UINT _gx_canvas_arc_draw(INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  2838. UINT _gx_canvas_block_move(GX_RECTANGLE *block, GX_VALUE x_shift, GX_VALUE y_shift, GX_RECTANGLE *dirty);
  2839. UINT _gx_canvas_circle_draw(INT xcenter, INT ycenter, UINT r);
  2840. UINT _gx_canvas_create(GX_CANVAS *canvas, GX_CONST GX_CHAR *name, GX_DISPLAY *display,
  2841. UINT type, UINT width, UINT height, GX_COLOR *memory_area, ULONG memory_size);
  2842. UINT _gx_canvas_delete(GX_CANVAS *canvas);
  2843. UINT _gx_canvas_drawing_complete(GX_CANVAS *canvas, GX_BOOL Flush);
  2844. UINT _gx_canvas_drawing_initiate(GX_CANVAS *canvas, GX_WIDGET *who, GX_RECTANGLE *dirty_area);
  2845. UINT _gx_canvas_ellipse_draw(INT xcenter, INT ycenter, INT a, INT b);
  2846. UINT _gx_canvas_hardware_layer_bind(GX_CANVAS *canvas, INT layer);
  2847. UINT _gx_canvas_hide(GX_CANVAS *canvas);
  2848. UINT _gx_canvas_line_draw(GX_VALUE x_start, GX_VALUE y_start, GX_VALUE x_end, GX_VALUE y_end);
  2849. UINT _gx_canvas_memory_define(GX_CANVAS *canvas, GX_COLOR *memory, ULONG memsize);
  2850. #if defined (GX_MOUSE_SUPPORT)
  2851. UINT _gx_canvas_mouse_define(GX_CANVAS *canvas, GX_MOUSE_CURSOR_INFO *info);
  2852. UINT _gx_canvas_mouse_hide(GX_CANVAS *canvas);
  2853. UINT _gx_canvas_mouse_show(GX_CANVAS *canvas);
  2854. #endif
  2855. UINT _gx_canvas_offset_set(GX_CANVAS *canvas, GX_VALUE x, GX_VALUE y);
  2856. UINT _gx_canvas_pie_draw(INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  2857. UINT _gx_canvas_pixel_draw(GX_POINT position);
  2858. UINT _gx_canvas_pixelmap_blend(GX_VALUE x_position, GX_VALUE y_position, GX_PIXELMAP *pixelmap, GX_UBYTE alpha);
  2859. UINT _gx_canvas_pixelmap_draw(GX_VALUE x_position, GX_VALUE y_position, GX_PIXELMAP *pixelmap);
  2860. UINT _gx_canvas_pixelmap_get(GX_PIXELMAP *pixelmap);
  2861. UINT _gx_canvas_pixelmap_rotate(GX_VALUE x_position, GX_VALUE y_position, GX_PIXELMAP *pixelmap,
  2862. INT angle, INT rot_cx, INT rot_cy);
  2863. UINT _gx_canvas_pixelmap_tile(GX_RECTANGLE *fill, GX_PIXELMAP *pixelmap);
  2864. UINT _gx_canvas_polygon_draw(GX_POINT *point_array, INT number_of_points);
  2865. UINT _gx_canvas_rectangle_draw(GX_RECTANGLE *rectangle);
  2866. #if defined (GX_ENABLE_DEPRECATED_STRING_API)
  2867. UINT _gx_canvas_rotated_text_draw(GX_CONST GX_CHAR *text, GX_VALUE xcenter, GX_VALUE ycenter, INT angle);
  2868. #endif
  2869. UINT _gx_canvas_rotated_text_draw_ext(GX_CONST GX_STRING* text, GX_VALUE xcenter, GX_VALUE ycenter, INT angle);
  2870. UINT _gx_canvas_shift(GX_CANVAS *canvas, GX_VALUE x, GX_VALUE y);
  2871. UINT _gx_canvas_show(GX_CANVAS *canvas);
  2872. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2873. UINT _gx_canvas_text_draw(GX_VALUE x_start, GX_VALUE y_start, GX_CONST GX_CHAR *string, INT length);
  2874. #endif
  2875. UINT _gx_canvas_text_draw_ext(GX_VALUE x_start, GX_VALUE y_start, GX_CONST GX_STRING *string);
  2876. UINT _gx_checkbox_create(GX_CHECKBOX *checkbox,
  2877. GX_CONST GX_CHAR *name,
  2878. GX_WIDGET *parent,
  2879. GX_RESOURCE_ID text_id, ULONG style, USHORT checkbox_id,
  2880. GX_CONST GX_RECTANGLE *size);
  2881. VOID _gx_checkbox_draw(GX_CHECKBOX *checkbox);
  2882. UINT _gx_checkbox_event_process(GX_CHECKBOX *checkbox, GX_EVENT *event_ptr);
  2883. UINT _gx_checkbox_pixelmap_set(GX_CHECKBOX *button, GX_RESOURCE_ID unchecked_id, GX_RESOURCE_ID checked_id,
  2884. GX_RESOURCE_ID unchecked_disabled_id, GX_RESOURCE_ID checked_disabled_id);
  2885. UINT _gx_checkbox_select(GX_CHECKBOX *checkbox);
  2886. UINT _gx_circular_gauge_angle_get(GX_CIRCULAR_GAUGE *circular_gauge, INT *angle);
  2887. UINT _gx_circular_gauge_angle_set(GX_CIRCULAR_GAUGE *circular_gauge, INT angle);
  2888. UINT _gx_circular_gauge_animation_set(GX_CIRCULAR_GAUGE *circular_gauge, INT steps, INT delay);
  2889. VOID _gx_circular_gauge_background_draw(GX_CIRCULAR_GAUGE *gauge);
  2890. UINT _gx_circular_gauge_create(GX_CIRCULAR_GAUGE *circular_gauge,
  2891. GX_CONST GX_CHAR *name,
  2892. GX_WIDGET *parent,
  2893. GX_CIRCULAR_GAUGE_INFO *circular_gauge_info,
  2894. GX_RESOURCE_ID background,
  2895. ULONG style,
  2896. USHORT circular_gauge_id,
  2897. GX_VALUE xpos, GX_VALUE ypos);
  2898. VOID _gx_circular_gauge_draw(GX_CIRCULAR_GAUGE *circular_gauge);
  2899. UINT _gx_circular_gauge_event_process(GX_CIRCULAR_GAUGE *circular_gauge, GX_EVENT *event_ptr);
  2900. UINT _gx_context_brush_default(GX_DRAW_CONTEXT *context);
  2901. UINT _gx_context_brush_define(GX_RESOURCE_ID line_color_id, GX_RESOURCE_ID fill_color_id, UINT style);
  2902. UINT _gx_context_brush_get(GX_BRUSH **return_brush);
  2903. UINT _gx_context_brush_pattern_set(ULONG pattern);
  2904. UINT _gx_context_brush_set(GX_BRUSH *brush);
  2905. UINT _gx_context_brush_style_set(UINT style);
  2906. UINT _gx_context_brush_width_set(UINT width);
  2907. UINT _gx_context_color_get(GX_RESOURCE_ID color_id, GX_COLOR *return_color);
  2908. UINT _gx_context_fill_color_set(GX_RESOURCE_ID fill_color_id);
  2909. UINT _gx_context_font_get(GX_RESOURCE_ID color_id, GX_FONT **return_font);
  2910. UINT _gx_context_font_set(GX_RESOURCE_ID font_id);
  2911. UINT _gx_context_line_color_set(GX_RESOURCE_ID line_color_id);
  2912. UINT _gx_context_pixelmap_get(GX_RESOURCE_ID pixelmap_id, GX_PIXELMAP **return_pixelmap);
  2913. UINT _gx_context_pixelmap_set(GX_RESOURCE_ID pixelmap_id);
  2914. UINT _gx_context_raw_brush_define(GX_COLOR line_color, GX_COLOR fill_color, UINT style);
  2915. UINT _gx_context_raw_fill_color_set(GX_COLOR line_color);
  2916. UINT _gx_context_raw_line_color_set(GX_COLOR line_color);
  2917. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2918. UINT _gx_context_string_get(GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  2919. #endif
  2920. UINT _gx_context_string_get_ext(GX_RESOURCE_ID string_id, GX_STRING *return_string);
  2921. UINT _gx_display_active_language_set(GX_DISPLAY *display, GX_UBYTE language);
  2922. UINT _gx_display_color_set(GX_DISPLAY *display, GX_RESOURCE_ID resource_id, GX_COLOR new_color);
  2923. UINT _gx_display_color_table_set(GX_DISPLAY *display, GX_COLOR *color_table, INT number_of_colors);
  2924. UINT _gx_display_create(GX_DISPLAY *display, GX_CONST GX_CHAR *name, UINT (*display_driver_setup)(GX_DISPLAY *), GX_VALUE xres, GX_VALUE yres);
  2925. UINT _gx_display_delete(GX_DISPLAY *display, VOID (*display_driver_cleanup)(GX_DISPLAY *));
  2926. UINT _gx_display_font_table_set(GX_DISPLAY *display, GX_FONT **font_table, UINT number_of_fonts);
  2927. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2928. UINT _gx_display_language_table_get(GX_DISPLAY *display, GX_CHAR ****table, GX_UBYTE *language_count, UINT *string_count);
  2929. UINT _gx_display_language_table_set(GX_DISPLAY *display, GX_CHAR ***table, GX_UBYTE num_languages, UINT number_of_strings);
  2930. #endif
  2931. UINT _gx_display_language_table_get_ext(GX_DISPLAY* display, GX_STRING ***table, GX_UBYTE *language_count, UINT* string_count);
  2932. UINT _gx_display_language_table_set_ext(GX_DISPLAY* display, GX_CONST GX_STRING **table, GX_UBYTE num_languages, UINT number_of_strings);
  2933. UINT _gx_display_pixelmap_table_set(GX_DISPLAY *display, GX_PIXELMAP **pixelmap_table, UINT number_of_pixelmaps);
  2934. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  2935. UINT _gx_display_string_get(GX_DISPLAY *display, GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  2936. UINT _gx_display_string_table_get(GX_DISPLAY *display, GX_UBYTE language, GX_CHAR ***table, UINT *size);
  2937. #endif
  2938. UINT _gx_display_string_get_ext(GX_DISPLAY* display, GX_RESOURCE_ID string_id, GX_STRING *return_string);
  2939. UINT _gx_display_string_table_get_ext(GX_DISPLAY* display, GX_UBYTE language, GX_STRING **table, UINT *size);
  2940. UINT _gx_display_theme_install(GX_DISPLAY *display, GX_CONST GX_THEME *theme_ptr);
  2941. UINT _gx_drop_list_close(GX_DROP_LIST *drop_list);
  2942. UINT _gx_drop_list_create(GX_DROP_LIST *drop_list,
  2943. GX_CONST GX_CHAR *name,
  2944. GX_WIDGET *parent,
  2945. INT total_rows, INT open_height,
  2946. VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT),
  2947. ULONG style, USHORT drop_list_id,
  2948. GX_CONST GX_RECTANGLE *size);
  2949. UINT _gx_drop_list_event_process(GX_DROP_LIST *list, GX_EVENT *event_ptr);
  2950. UINT _gx_drop_list_open(GX_DROP_LIST *list);
  2951. UINT _gx_drop_list_pixelmap_set(GX_DROP_LIST *drop_list, GX_RESOURCE_ID pixelmap_id);
  2952. UINT _gx_drop_list_popup_get(GX_DROP_LIST *box, GX_VERTICAL_LIST **return_list);
  2953. UINT _gx_horizontal_list_children_position(GX_HORIZONTAL_LIST *horizontal_list);
  2954. UINT _gx_horizontal_list_create(GX_HORIZONTAL_LIST *horizontal_list,
  2955. GX_CONST GX_CHAR *name,
  2956. GX_WIDGET *parent,
  2957. INT total_columns,
  2958. VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT),
  2959. ULONG style, USHORT horizontal_list_id,
  2960. GX_CONST GX_RECTANGLE *size);
  2961. UINT _gx_horizontal_list_event_process(GX_HORIZONTAL_LIST *list, GX_EVENT *event_ptr);
  2962. UINT _gx_horizontal_list_page_index_set(GX_HORIZONTAL_LIST *list, INT index);
  2963. UINT _gx_horizontal_list_selected_index_get(GX_HORIZONTAL_LIST *horizontal_list, INT *return_index);
  2964. UINT _gx_horizontal_list_selected_set(GX_HORIZONTAL_LIST *horizontal_list, INT index);
  2965. UINT _gx_horizontal_list_selected_widget_get(GX_HORIZONTAL_LIST *horizontal_list, GX_WIDGET **return_list_entry);
  2966. UINT _gx_horizontal_list_total_columns_set(GX_HORIZONTAL_LIST *horizontal_list, INT count);
  2967. UINT _gx_horizontal_scrollbar_create(GX_SCROLLBAR *scrollbar, GX_CONST GX_CHAR *name,
  2968. GX_WINDOW *parent, GX_SCROLLBAR_APPEARANCE *appearance, ULONG style);
  2969. VOID _gx_icon_background_draw(GX_ICON *icon);
  2970. UINT _gx_icon_button_create(GX_ICON_BUTTON *button,
  2971. GX_CONST GX_CHAR *name,
  2972. GX_WIDGET *parent,
  2973. GX_RESOURCE_ID icon_id,
  2974. ULONG style, USHORT icon_button_id,
  2975. GX_CONST GX_RECTANGLE *size);
  2976. VOID _gx_icon_button_draw(GX_ICON_BUTTON *button);
  2977. UINT _gx_icon_button_pixelmap_set(GX_ICON_BUTTON *button, GX_RESOURCE_ID icon_id);
  2978. UINT _gx_icon_create(GX_ICON *icon,
  2979. GX_CONST GX_CHAR *name,
  2980. GX_WIDGET *parent,
  2981. GX_RESOURCE_ID pixelmap_id, ULONG style,
  2982. USHORT icon_id, GX_VALUE x, GX_VALUE y);
  2983. VOID _gx_icon_draw(GX_ICON *icon);
  2984. UINT _gx_icon_event_process(GX_ICON *icon, GX_EVENT *event_ptr);
  2985. UINT _gx_icon_pixelmap_set(GX_ICON *icon, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id);
  2986. UINT _gx_image_reader_create(GX_IMAGE_READER *image_reader,
  2987. GX_CONST GX_UBYTE *read_data,
  2988. INT read_data_size,
  2989. GX_UBYTE color_format,
  2990. GX_UBYTE mode);
  2991. UINT _gx_image_reader_palette_set(GX_IMAGE_READER *image_reader, GX_COLOR *pal, UINT palsize);
  2992. UINT _gx_image_reader_start(GX_IMAGE_READER *image_reader, GX_PIXELMAP *outmap);
  2993. VOID _gx_line_chart_axis_draw(GX_LINE_CHART *chart);
  2994. UINT _gx_line_chart_create(GX_LINE_CHART *chart,
  2995. GX_CONST GX_CHAR *name,
  2996. GX_WIDGET *parent,
  2997. GX_CONST GX_LINE_CHART_INFO *info,
  2998. ULONG style,
  2999. USHORT chart_id,
  3000. GX_CONST GX_RECTANGLE *size);
  3001. VOID _gx_line_chart_data_draw(GX_LINE_CHART *chart);
  3002. VOID _gx_line_chart_draw(GX_LINE_CHART *chart);
  3003. UINT _gx_line_chart_update(GX_LINE_CHART *chart, INT *data, INT data_count);
  3004. UINT _gx_line_chart_y_scale_calculate(GX_LINE_CHART *chart, INT *return_val);
  3005. UINT _gx_menu_create(GX_MENU *menu, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3006. GX_RESOURCE_ID text_id, GX_RESOURCE_ID fill_id,
  3007. ULONG style, USHORT menu_id, GX_CONST GX_RECTANGLE *size);
  3008. VOID _gx_menu_draw(GX_MENU *menu);
  3009. UINT _gx_menu_insert(GX_MENU *menu, GX_WIDGET *widget);
  3010. UINT _gx_menu_remove(GX_MENU *menu, GX_WIDGET *widget);
  3011. UINT _gx_menu_remove(GX_MENU *menu, GX_WIDGET *widget);
  3012. VOID _gx_menu_text_draw(GX_MENU *menu);
  3013. UINT _gx_menu_text_offset_set(GX_MENU *menu, GX_VALUE x_offset, GX_VALUE y_offset);
  3014. UINT _gx_multi_line_text_button_create(GX_MULTI_LINE_TEXT_BUTTON *button, GX_CONST GX_CHAR *name,
  3015. GX_WIDGET *parent, GX_RESOURCE_ID text_id, ULONG style, USHORT Id,
  3016. GX_CONST GX_RECTANGLE *size);
  3017. VOID _gx_multi_line_text_button_draw(GX_MULTI_LINE_TEXT_BUTTON *button);
  3018. UINT _gx_multi_line_text_button_event_process(GX_MULTI_LINE_TEXT_BUTTON *button, GX_EVENT *event_ptr);
  3019. VOID _gx_multi_line_text_button_text_draw(GX_MULTI_LINE_TEXT_BUTTON *button);
  3020. UINT _gx_multi_line_text_button_text_id_set(GX_MULTI_LINE_TEXT_BUTTON *button, GX_RESOURCE_ID string_id);
  3021. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3022. UINT _gx_multi_line_text_button_text_set(GX_MULTI_LINE_TEXT_BUTTON *button, GX_CONST GX_CHAR *text);
  3023. #endif
  3024. UINT _gx_multi_line_text_button_text_set_ext(GX_MULTI_LINE_TEXT_BUTTON *button, GX_CONST GX_STRING text);
  3025. UINT _gx_multi_line_text_input_backspace(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3026. UINT _gx_multi_line_text_input_buffer_clear(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr);
  3027. UINT _gx_multi_line_text_input_buffer_get(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, GX_CHAR **buffer_address,
  3028. UINT *content_size, UINT *buffer_size);
  3029. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3030. UINT _gx_multi_line_text_input_char_insert(GX_MULTI_LINE_TEXT_INPUT *text_input, GX_UBYTE *str, UINT str_size);
  3031. #endif
  3032. UINT _gx_multi_line_text_input_char_insert_ext(GX_MULTI_LINE_TEXT_INPUT *text_input, GX_CONST GX_STRING *str);
  3033. UINT _gx_multi_line_text_input_create(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr,
  3034. GX_CONST GX_CHAR *name_ptr, GX_WIDGET *parent,
  3035. GX_CHAR *input_buffer, UINT buffer_size,
  3036. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size);
  3037. UINT _gx_multi_line_text_input_cursor_pos_get(GX_MULTI_LINE_TEXT_INPUT *input, GX_POINT *cursor_pos);
  3038. UINT _gx_multi_line_text_input_delete(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3039. UINT _gx_multi_line_text_input_down_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3040. UINT _gx_multi_line_text_input_end(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3041. UINT _gx_multi_line_text_input_event_process(GX_MULTI_LINE_TEXT_INPUT *input, GX_EVENT *event_ptr);
  3042. UINT _gx_multi_line_text_input_style_add(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, ULONG cursor_type);
  3043. UINT _gx_multi_line_text_input_style_remove(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, ULONG cursor_type);
  3044. UINT _gx_multi_line_text_input_style_set(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, ULONG cursor_type);
  3045. UINT _gx_multi_line_text_input_fill_color_set(GX_MULTI_LINE_TEXT_INPUT *view,
  3046. GX_RESOURCE_ID normal_id,
  3047. GX_RESOURCE_ID selected_id,
  3048. GX_RESOURCE_ID disabled_id,
  3049. GX_RESOURCE_ID readonly_id);
  3050. UINT _gx_multi_line_text_input_home(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3051. UINT _gx_multi_line_text_input_left_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3052. UINT _gx_multi_line_text_input_right_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3053. UINT _gx_multi_line_text_input_text_color_set(GX_MULTI_LINE_TEXT_INPUT *view,
  3054. GX_RESOURCE_ID normal_id,
  3055. GX_RESOURCE_ID selected_id,
  3056. GX_RESOURCE_ID disabled_id,
  3057. GX_RESOURCE_ID readonly_id);
  3058. UINT _gx_multi_line_text_input_text_select(GX_MULTI_LINE_TEXT_INPUT *input, UINT start_index, UINT end_index);
  3059. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3060. UINT _gx_multi_line_text_input_text_set(GX_MULTI_LINE_TEXT_INPUT *text_input, GX_CONST GX_CHAR *text);
  3061. #endif
  3062. UINT _gx_multi_line_text_input_text_set_ext(GX_MULTI_LINE_TEXT_INPUT *text_input, GX_CONST GX_STRING *text);
  3063. UINT _gx_multi_line_text_input_up_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  3064. UINT _gx_multi_line_text_view_create(GX_MULTI_LINE_TEXT_VIEW *text_view_ptr,
  3065. GX_CONST GX_CHAR *name_ptr, GX_WIDGET *parent,
  3066. GX_RESOURCE_ID text_id, ULONG style, USHORT Id,
  3067. GX_CONST GX_RECTANGLE *size);
  3068. VOID _gx_multi_line_text_view_draw(GX_MULTI_LINE_TEXT_VIEW *view);
  3069. UINT _gx_multi_line_text_view_event_process(GX_MULTI_LINE_TEXT_VIEW *view, GX_EVENT *event_ptr);
  3070. UINT _gx_multi_line_text_view_font_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_RESOURCE_ID font_id);
  3071. UINT _gx_multi_line_text_view_line_space_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_BYTE line_space);
  3072. UINT _gx_multi_line_text_view_scroll_info_get(GX_MULTI_LINE_TEXT_VIEW *view, ULONG style, GX_SCROLL_INFO *return_scroll_info);
  3073. UINT _gx_multi_line_text_view_text_color_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id, GX_RESOURCE_ID disabled_id);
  3074. UINT _gx_multi_line_text_view_text_id_set(GX_MULTI_LINE_TEXT_VIEW *text_view_ptr, GX_RESOURCE_ID text_id);
  3075. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3076. UINT _gx_multi_line_text_view_text_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_CONST GX_CHAR *text);
  3077. #endif
  3078. UINT _gx_multi_line_text_view_text_set_ext(GX_MULTI_LINE_TEXT_VIEW *view, GX_CONST GX_STRING *text);
  3079. UINT _gx_multi_line_text_view_whitespace_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_UBYTE whitespace);
  3080. UINT _gx_numeric_pixelmap_prompt_create(GX_NUMERIC_PIXELMAP_PROMPT *prompt,
  3081. GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3082. GX_RESOURCE_ID text_id, GX_RESOURCE_ID fill_id,
  3083. ULONG style, USHORT pixelmap_prompt_id,
  3084. GX_CONST GX_RECTANGLE *size);
  3085. UINT _gx_numeric_pixelmap_prompt_format_function_set(GX_NUMERIC_PIXELMAP_PROMPT *prompt, VOID (*format_func)(GX_NUMERIC_PIXELMAP_PROMPT *, INT));
  3086. UINT _gx_numeric_pixelmap_prompt_value_set(GX_NUMERIC_PIXELMAP_PROMPT *prompt, INT value);
  3087. UINT _gx_numeric_prompt_create(GX_NUMERIC_PROMPT *prompt, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3088. GX_RESOURCE_ID text_id, ULONG style, USHORT prompt_id, GX_CONST GX_RECTANGLE *size);
  3089. UINT _gx_numeric_prompt_format_function_set(GX_NUMERIC_PROMPT *prompt, VOID (*format_func)(GX_NUMERIC_PROMPT *, INT));
  3090. UINT _gx_numeric_prompt_value_set(GX_NUMERIC_PROMPT *prompt, INT value);
  3091. UINT _gx_numeric_scroll_wheel_create(GX_NUMERIC_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3092. INT start_val, INT end_val,
  3093. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size);
  3094. UINT _gx_numeric_scroll_wheel_range_set(GX_NUMERIC_SCROLL_WHEEL *wheel, INT start_val, INT end_val);
  3095. UINT _gx_pixelmap_button_create(GX_PIXELMAP_BUTTON *button,
  3096. GX_CONST GX_CHAR *name,
  3097. GX_WIDGET *parent, GX_RESOURCE_ID normal_id,
  3098. GX_RESOURCE_ID selected_id, GX_RESOURCE_ID disabled_id,
  3099. ULONG style, USHORT pixelmap_button_id,
  3100. GX_CONST GX_RECTANGLE *size);
  3101. VOID _gx_pixelmap_button_draw(GX_PIXELMAP_BUTTON *button);
  3102. UINT _gx_pixelmap_button_event_process(GX_PIXELMAP_BUTTON *button, GX_EVENT *event_ptr);
  3103. UINT _gx_pixelmap_button_pixelmap_set(GX_PIXELMAP_BUTTON *button, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id, GX_RESOURCE_ID disabled_id);
  3104. UINT _gx_pixelmap_prompt_create(GX_PIXELMAP_PROMPT *prompt,
  3105. GX_CONST GX_CHAR *name, GX_WIDGET *parent, GX_RESOURCE_ID text_id,
  3106. GX_RESOURCE_ID normal_fill_id, ULONG style, USHORT prompt_id,
  3107. GX_CONST GX_RECTANGLE *size);
  3108. VOID _gx_pixelmap_prompt_draw(GX_PIXELMAP_PROMPT *prompt);
  3109. UINT _gx_pixelmap_prompt_pixelmap_set(GX_PIXELMAP_PROMPT *prompt,
  3110. GX_RESOURCE_ID normal_left_id,
  3111. GX_RESOURCE_ID normal_fill_id,
  3112. GX_RESOURCE_ID normal_right_id,
  3113. GX_RESOURCE_ID selected_left_id,
  3114. GX_RESOURCE_ID selected_fill_id,
  3115. GX_RESOURCE_ID selected_right_id);
  3116. UINT _gx_pixelmap_slider_create(GX_PIXELMAP_SLIDER *slider,
  3117. GX_CONST GX_CHAR *name, GX_WIDGET *parent, GX_SLIDER_INFO *info,
  3118. GX_PIXELMAP_SLIDER_INFO *pixelmap_info,
  3119. ULONG style, USHORT pixelmap_slider_id,
  3120. GX_CONST GX_RECTANGLE *size);
  3121. VOID _gx_pixelmap_slider_draw(GX_PIXELMAP_SLIDER *slider);
  3122. UINT _gx_pixelmap_slider_event_process(GX_PIXELMAP_SLIDER *slider, GX_EVENT *event_ptr);
  3123. UINT _gx_pixelmap_slider_pixelmap_set(GX_PIXELMAP_SLIDER *slider, GX_PIXELMAP_SLIDER_INFO *info);
  3124. VOID _gx_progress_bar_background_draw(GX_PROGRESS_BAR *progress_bar);
  3125. UINT _gx_progress_bar_create(GX_PROGRESS_BAR *progress_bar, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3126. GX_PROGRESS_BAR_INFO *progress_bar_info, ULONG style,
  3127. USHORT progress_bar_id, GX_CONST GX_RECTANGLE *size);
  3128. VOID _gx_progress_bar_draw(GX_PROGRESS_BAR *progress_bar);
  3129. UINT _gx_progress_bar_event_process(GX_PROGRESS_BAR *progress_bar, GX_EVENT *event_ptr);
  3130. UINT _gx_progress_bar_font_set(GX_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID font_id);
  3131. UINT _gx_progress_bar_info_set(GX_PROGRESS_BAR *progress_bar, GX_PROGRESS_BAR_INFO *info);
  3132. UINT _gx_progress_bar_pixelmap_set(GX_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID pixelmap);
  3133. UINT _gx_progress_bar_range_set(GX_PROGRESS_BAR *progress_bar, INT min_value, INT max_value);
  3134. UINT _gx_progress_bar_text_color_set(GX_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID normal_text_color_id,
  3135. GX_RESOURCE_ID selected_text_color_id, GX_RESOURCE_ID disabled_text_color_id);
  3136. UINT _gx_progress_bar_value_set(GX_PROGRESS_BAR *progress_bar, INT new_value);
  3137. UINT _gx_prompt_create(GX_PROMPT *prompt, GX_CONST GX_CHAR *name,
  3138. GX_WIDGET *parent, GX_RESOURCE_ID text_id, ULONG style,
  3139. USHORT prompt_id, GX_CONST GX_RECTANGLE *size);
  3140. VOID _gx_prompt_draw(GX_PROMPT *prompt);
  3141. UINT _gx_prompt_font_set(GX_PROMPT *prompt, GX_RESOURCE_ID fontid);
  3142. UINT _gx_prompt_text_color_set(GX_PROMPT *prompt,
  3143. GX_RESOURCE_ID normal_text_color_id,
  3144. GX_RESOURCE_ID selected_text_color_id,
  3145. GX_RESOURCE_ID disabled_text_color_id);
  3146. VOID _gx_prompt_text_draw(GX_PROMPT *prompt);
  3147. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3148. UINT _gx_prompt_text_get(GX_PROMPT *prompt, GX_CONST GX_CHAR **return_text);
  3149. #endif
  3150. UINT _gx_prompt_text_get_ext(GX_PROMPT *prompt, GX_STRING *return_text);
  3151. UINT _gx_prompt_text_id_set(GX_PROMPT *prompt, GX_RESOURCE_ID string_id);
  3152. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3153. UINT _gx_prompt_text_set(GX_PROMPT *prompt, GX_CONST GX_CHAR *text);
  3154. #endif
  3155. UINT _gx_prompt_text_set_ext(GX_PROMPT *prompt, GX_CONST GX_STRING *text);
  3156. UINT _gx_radial_progress_bar_anchor_set(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_VALUE angle);
  3157. VOID _gx_radial_progress_bar_background_draw(GX_RADIAL_PROGRESS_BAR *progress_bar);
  3158. UINT _gx_radial_progress_bar_create(GX_RADIAL_PROGRESS_BAR *progress_bar,
  3159. GX_CONST GX_CHAR *name,
  3160. GX_WIDGET *parent,
  3161. GX_RADIAL_PROGRESS_BAR_INFO *progress_bar_info,
  3162. ULONG style,
  3163. USHORT progress_bar_id);
  3164. VOID _gx_radial_progress_bar_draw(GX_RADIAL_PROGRESS_BAR *progress_bar);
  3165. UINT _gx_radial_progress_bar_event_process(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_EVENT *event_ptr);
  3166. UINT _gx_radial_progress_bar_font_set(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID font_id);
  3167. UINT _gx_radial_progress_bar_info_set(GX_RADIAL_PROGRESS_BAR *bar, GX_RADIAL_PROGRESS_BAR_INFO *info);
  3168. UINT _gx_radial_progress_bar_text_color_set(GX_RADIAL_PROGRESS_BAR *progress_bar,
  3169. GX_RESOURCE_ID normal_text_color_id,
  3170. GX_RESOURCE_ID selected_text_color_id,
  3171. GX_RESOURCE_ID disabled_text_color_id);
  3172. VOID _gx_radial_progress_bar_text_draw(GX_RADIAL_PROGRESS_BAR *bar);
  3173. UINT _gx_radial_progress_bar_value_set(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_VALUE new_value);
  3174. UINT _gx_radial_slider_anchor_angles_set(GX_RADIAL_SLIDER *slider, GX_VALUE *anchor_angles, USHORT anchor_count);
  3175. UINT _gx_radial_slider_animation_set(GX_RADIAL_SLIDER *slider, USHORT steps, USHORT delay, USHORT animation_style,
  3176. VOID(*animation_update_callback)(GX_RADIAL_SLIDER *slider));
  3177. UINT _gx_radial_slider_animation_start(GX_RADIAL_SLIDER *slider, GX_VALUE new_value);
  3178. UINT _gx_radial_slider_create(GX_RADIAL_SLIDER *slider, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3179. GX_RADIAL_SLIDER_INFO *info, ULONG style, USHORT slider_id, GX_CONST GX_RECTANGLE *size);
  3180. VOID _gx_radial_slider_draw(GX_RADIAL_SLIDER *slider);
  3181. UINT _gx_radial_slider_event_process(GX_RADIAL_SLIDER *slider, GX_EVENT *event_ptr);
  3182. UINT _gx_radial_slider_info_get(GX_RADIAL_SLIDER *slider, GX_RADIAL_SLIDER_INFO **info);
  3183. UINT _gx_radial_slider_info_set(GX_RADIAL_SLIDER *slider, GX_RADIAL_SLIDER_INFO *info);
  3184. UINT _gx_radial_slider_pixelmap_set(GX_RADIAL_SLIDER *slider, GX_RESOURCE_ID background_pixelmap, GX_RESOURCE_ID needle_pixelmap);
  3185. UINT _gx_radial_slider_angle_set(GX_RADIAL_SLIDER *slider, GX_VALUE new_angle);
  3186. UINT _gx_radio_button_create(GX_RADIO_BUTTON *button,
  3187. GX_CONST GX_CHAR *name, GX_WIDGET *parent, GX_RESOURCE_ID text_id,
  3188. ULONG style, USHORT radio_button_id, GX_CONST GX_RECTANGLE *size);
  3189. VOID _gx_radio_button_draw(GX_RADIO_BUTTON *button);
  3190. UINT _gx_radio_button_pixelmap_set(GX_RADIO_BUTTON *button, GX_RESOURCE_ID off_id, GX_RESOURCE_ID on_id,
  3191. GX_RESOURCE_ID off_disabled_id, GX_RESOURCE_ID on_disabled_id);
  3192. UINT _gx_screen_stack_create(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET **memory, INT size);
  3193. UINT _gx_screen_stack_pop(GX_SCREEN_STACK_CONTROL *control);
  3194. UINT _gx_screen_stack_push(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET *screen, GX_WIDGET *new_screen);
  3195. UINT _gx_screen_stack_reset(GX_SCREEN_STACK_CONTROL *control);
  3196. UINT _gx_scroll_thumb_create(GX_SCROLL_THUMB *scroll_thumb, GX_SCROLLBAR *parent, ULONG style);
  3197. VOID _gx_scroll_thumb_draw(GX_SCROLL_THUMB *scroll_thumb);
  3198. UINT _gx_scroll_thumb_event_process(GX_SCROLL_THUMB *scroll_thumb, GX_EVENT *event_ptr);
  3199. VOID _gx_scrollbar_draw(GX_SCROLLBAR *scrollbar);
  3200. UINT _gx_scrollbar_event_process(GX_SCROLLBAR *scrollbar, GX_EVENT *event_ptr);
  3201. UINT _gx_scrollbar_limit_check(GX_SCROLLBAR *scrollbar);
  3202. UINT _gx_scrollbar_reset(GX_SCROLLBAR *scrollbar, GX_SCROLL_INFO *info);
  3203. UINT _gx_scrollbar_value_set(GX_SCROLLBAR *scrollbar, INT value);
  3204. UINT _gx_scroll_wheel_create(GX_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT total_rows,
  3205. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size);
  3206. UINT _gx_scroll_wheel_event_process(GX_SCROLL_WHEEL *wheel, GX_EVENT *event_ptr);
  3207. UINT _gx_scroll_wheel_gradient_alpha_set(GX_SCROLL_WHEEL *wheel, GX_UBYTE start_alpha, GX_UBYTE end_alpha);
  3208. UINT _gx_scroll_wheel_row_height_set(GX_SCROLL_WHEEL *wheel, GX_VALUE row_height);
  3209. UINT _gx_scroll_wheel_selected_background_set(GX_SCROLL_WHEEL *wheel, GX_RESOURCE_ID selected_bg);
  3210. UINT _gx_scroll_wheel_selected_get(GX_SCROLL_WHEEL *wheel, INT *row);
  3211. UINT _gx_scroll_wheel_selected_set(GX_SCROLL_WHEEL *wheel, INT row);
  3212. UINT _gx_scroll_wheel_speed_set(GX_SCROLL_WHEEL *wheel, GX_FIXED_VAL start_speed_rate, GX_FIXED_VAL end_speed_rate, GX_VALUE max_steps, GX_VALUE delay);
  3213. UINT _gx_scroll_wheel_total_rows_set(GX_SCROLL_WHEEL *wheel, INT total_rows);
  3214. UINT _gx_single_line_text_input_backspace(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3215. UINT _gx_single_line_text_input_buffer_clear(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3216. UINT _gx_single_line_text_input_buffer_get(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_CHAR **buffer_address,
  3217. UINT *content_size, UINT *buffer_size);
  3218. UINT _gx_single_line_text_input_character_delete(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3219. UINT _gx_single_line_text_input_character_insert(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_UBYTE *str, UINT str_size);
  3220. UINT _gx_single_line_text_input_create(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr,
  3221. GX_CONST GX_CHAR *name, GX_WIDGET *parent, GX_CHAR *input_buffer,
  3222. UINT buffer_size, UINT style, USHORT text_input_id,
  3223. GX_CONST GX_RECTANGLE *size);
  3224. VOID _gx_single_line_text_input_draw(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3225. UINT _gx_single_line_text_input_draw_position_get(GX_SINGLE_LINE_TEXT_INPUT *input, GX_VALUE *xpos, GX_VALUE *ypos);
  3226. UINT _gx_single_line_text_input_end(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3227. UINT _gx_single_line_text_input_event_process(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_EVENT *event_ptr);
  3228. UINT _gx_single_line_text_input_fill_color_set(GX_SINGLE_LINE_TEXT_INPUT *input,
  3229. GX_RESOURCE_ID normal_fill_color_id,
  3230. GX_RESOURCE_ID selected_fill_color_id,
  3231. GX_RESOURCE_ID disabled_fill_color_id,
  3232. GX_RESOURCE_ID readonly_fill_color_id);
  3233. UINT _gx_single_line_text_input_home(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3234. UINT _gx_single_line_text_input_left_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3235. UINT _gx_single_line_text_input_position_get(GX_SINGLE_LINE_TEXT_INPUT *text_input, INT pixel_position);
  3236. UINT _gx_single_line_text_input_right_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  3237. UINT _gx_single_line_text_input_style_add(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style);
  3238. UINT _gx_single_line_text_input_style_remove(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style);
  3239. UINT _gx_single_line_text_input_style_set(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style);
  3240. UINT _gx_single_line_text_input_text_color_set(GX_SINGLE_LINE_TEXT_INPUT *input,
  3241. GX_RESOURCE_ID normal_text_color_id,
  3242. GX_RESOURCE_ID selected_text_color_id,
  3243. GX_RESOURCE_ID disabled_text_color_id,
  3244. GX_RESOURCE_ID readonly_text_color_id);
  3245. UINT _gx_single_line_text_input_text_select(GX_SINGLE_LINE_TEXT_INPUT *input, UINT start_index, UINT end_index);
  3246. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3247. UINT _gx_single_line_text_input_text_set(GX_SINGLE_LINE_TEXT_INPUT *input, GX_CONST GX_CHAR *text);
  3248. #endif
  3249. UINT _gx_single_line_text_input_text_set_ext(GX_SINGLE_LINE_TEXT_INPUT *input, GX_CONST GX_STRING *text);
  3250. UINT _gx_slider_create(GX_SLIDER *slider, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3251. INT tick_count, GX_SLIDER_INFO *slider_info, ULONG style, USHORT slider_id,
  3252. GX_CONST GX_RECTANGLE *size);
  3253. VOID _gx_slider_draw(GX_SLIDER *slider);
  3254. UINT _gx_slider_event_process(GX_SLIDER *slider, GX_EVENT *event_ptr);
  3255. UINT _gx_slider_info_set(GX_SLIDER *slider, GX_SLIDER_INFO *info);
  3256. VOID _gx_slider_needle_draw(GX_SLIDER *slider);
  3257. UINT _gx_slider_needle_position_get(GX_SLIDER *slider, GX_SLIDER_INFO *slider_info, GX_RECTANGLE *return_position);
  3258. VOID _gx_slider_tickmarks_draw(GX_SLIDER *slider);
  3259. UINT _gx_slider_travel_get(GX_SLIDER *widget, GX_SLIDER_INFO *info, INT *mintravel, INT *maxtravel);
  3260. UINT _gx_slider_value_calculate(GX_SLIDER *slider, GX_SLIDER_INFO *info, INT newpos);
  3261. UINT _gx_slider_value_set(GX_SLIDER *slider, GX_SLIDER_INFO *info, INT new_value);
  3262. UINT _gx_sprite_create(GX_SPRITE *sprite, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3263. GX_SPRITE_FRAME *frame_list, USHORT framecount,
  3264. ULONG style, USHORT sprite_id, GX_CONST GX_RECTANGLE *size);
  3265. UINT _gx_sprite_current_frame_set(GX_SPRITE *sprite, USHORT frame);
  3266. UINT _gx_sprite_frame_list_set(GX_SPRITE *sprite, GX_SPRITE_FRAME *frame_list, USHORT frame_count);
  3267. UINT _gx_sprite_start(GX_SPRITE *sprite, USHORT start_frame);
  3268. UINT _gx_sprite_stop(GX_SPRITE *sprite);
  3269. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3270. UINT _gx_string_scroll_wheel_create(GX_STRING_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT total_rows,
  3271. GX_CONST GX_CHAR **string_list,
  3272. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size);
  3273. #endif
  3274. UINT _gx_string_scroll_wheel_create_ext(GX_STRING_SCROLL_WHEEL* wheel, GX_CONST GX_CHAR* name, GX_WIDGET* parent, INT total_rows,
  3275. GX_CONST GX_STRING* string_list,
  3276. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE* size);
  3277. UINT _gx_string_scroll_wheel_string_id_list_set(GX_STRING_SCROLL_WHEEL *wheel,
  3278. GX_CONST GX_RESOURCE_ID *string_id_list,
  3279. INT id_count);
  3280. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3281. UINT _gx_string_scroll_wheel_string_list_set(GX_STRING_SCROLL_WHEEL *wheel,
  3282. GX_CONST GX_CHAR **string_list,
  3283. INT string_count);
  3284. #endif
  3285. UINT _gx_string_scroll_wheel_string_list_set_ext(GX_STRING_SCROLL_WHEEL *wheel,
  3286. GX_CONST GX_STRING *string_list,
  3287. INT string_count);
  3288. UINT _gx_system_active_language_set(GX_UBYTE language);
  3289. #if (GX_ANIMATION_POOL_SIZE > 0)
  3290. UINT _gx_system_animation_get(GX_ANIMATION **free_return);
  3291. UINT _gx_system_animation_free(GX_ANIMATION *free_return);
  3292. #endif
  3293. #if defined(GX_DYNAMIC_BIDI_TEXT_SUPPORT)
  3294. UINT _gx_system_bidi_text_enable(VOID);
  3295. UINT _gx_system_bidi_text_disable(VOID);
  3296. #endif
  3297. #if defined(GX_THAI_GLYPH_SHAPING_SUPPORT)
  3298. UINT _gx_system_text_render_style_set(GX_UBYTE style);
  3299. #endif
  3300. UINT _gx_system_canvas_refresh(VOID);
  3301. UINT _gx_system_dirty_mark(GX_WIDGET *widget);
  3302. UINT _gx_system_dirty_partial_add(GX_WIDGET *widget, GX_RECTANGLE *dirty_area);
  3303. UINT _gx_system_draw_context_get(GX_DRAW_CONTEXT **current_context);
  3304. UINT _gx_system_event_fold(GX_EVENT *in_event);
  3305. UINT _gx_system_event_send(GX_EVENT *in_event);
  3306. UINT _gx_system_focus_claim(GX_WIDGET *me);
  3307. UINT _gx_system_initialize(VOID);
  3308. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3309. UINT _gx_system_language_table_get(GX_CHAR ****language_table, GX_UBYTE *languages_count, UINT *string_count);
  3310. UINT _gx_system_language_table_set(GX_CHAR ***language_table, GX_UBYTE number_of_languages, UINT number_of_strings);
  3311. #endif
  3312. UINT _gx_system_memory_allocator_set(VOID *(*allocate)(ULONG size), VOID (*release)(VOID *));
  3313. UINT _gx_system_pen_configure(GX_PEN_CONFIGURATION *pen_configuration);
  3314. UINT _gx_system_screen_stack_create(GX_WIDGET **memory, INT size);
  3315. UINT _gx_system_screen_stack_pop(VOID);
  3316. UINT _gx_system_screen_stack_push(GX_WIDGET *screen);
  3317. UINT _gx_system_screen_stack_get(GX_WIDGET **popped_parent, GX_WIDGET **popped_screen);
  3318. UINT _gx_system_screen_stack_reset(VOID);
  3319. UINT _gx_system_scroll_appearance_get(ULONG style, GX_SCROLLBAR_APPEARANCE *appearance);
  3320. UINT _gx_system_scroll_appearance_set(ULONG style, GX_SCROLLBAR_APPEARANCE *appearance);
  3321. UINT _gx_system_start(VOID);
  3322. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3323. UINT _gx_system_string_get(GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  3324. UINT _gx_system_string_table_get(GX_UBYTE language, GX_CHAR ***get_table, UINT *get_size);
  3325. UINT _gx_system_string_width_get(GX_CONST GX_FONT *font, GX_CONST GX_CHAR *string, INT string_length, GX_VALUE *return_width);
  3326. #endif
  3327. UINT _gx_system_string_width_get_ext(GX_CONST GX_FONT *font, GX_CONST GX_STRING *string, GX_VALUE *return_width);
  3328. UINT _gx_system_timer_start(GX_WIDGET *owner, UINT timer_id, UINT initial_ticks, UINT reschedule_ticks);
  3329. UINT _gx_system_timer_stop(GX_WIDGET *owner, UINT timer_id);
  3330. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3331. UINT _gx_system_version_string_get(GX_CHAR **return_string);
  3332. #endif
  3333. UINT _gx_system_version_string_get_ext(GX_STRING *return_string);
  3334. UINT _gx_system_widget_find(USHORT widget_id, INT search_level, GX_WIDGET **return_search_result);
  3335. UINT _gx_text_button_create(GX_TEXT_BUTTON *button, GX_CONST GX_CHAR *name,
  3336. GX_WIDGET *parent, GX_RESOURCE_ID text_id, ULONG style, USHORT Id,
  3337. GX_CONST GX_RECTANGLE *size);
  3338. VOID _gx_text_button_draw(GX_TEXT_BUTTON *button);
  3339. UINT _gx_text_button_font_set(GX_TEXT_BUTTON *button, GX_RESOURCE_ID font_id);
  3340. UINT _gx_text_button_text_color_set(GX_TEXT_BUTTON *text_button,
  3341. GX_RESOURCE_ID normal_text_color_id,
  3342. GX_RESOURCE_ID selected_text_color_id,
  3343. GX_RESOURCE_ID disabled_text_color_id);
  3344. VOID _gx_text_button_text_draw(GX_TEXT_BUTTON *button);
  3345. UINT _gx_text_button_text_get(GX_TEXT_BUTTON *button, GX_CONST GX_CHAR **return_text);
  3346. UINT _gx_text_button_text_id_set(GX_TEXT_BUTTON *button, GX_RESOURCE_ID string_id);
  3347. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3348. UINT _gx_text_button_text_set(GX_TEXT_BUTTON *button, GX_CONST GX_CHAR *text);
  3349. #endif
  3350. UINT _gx_text_button_text_set_ext(GX_TEXT_BUTTON *button, GX_CONST GX_STRING *text);
  3351. UINT _gx_text_input_cursor_blink_interval_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE blink_interval);
  3352. UINT _gx_text_input_cursor_height_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE height);
  3353. UINT _gx_text_input_cursor_width_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE width);
  3354. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3355. UINT _gx_text_scroll_wheel_callback_set(GX_TEXT_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *(*callback)(GX_TEXT_SCROLL_WHEEL *, INT));
  3356. #endif
  3357. UINT _gx_text_scroll_wheel_callback_set_ext(GX_TEXT_SCROLL_WHEEL* wheel, UINT (*callback)(GX_TEXT_SCROLL_WHEEL*, INT, GX_STRING *));
  3358. UINT _gx_text_scroll_wheel_create(GX_TEXT_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT total_rows,
  3359. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size);
  3360. VOID _gx_text_scroll_wheel_draw(GX_TEXT_SCROLL_WHEEL *wheel);
  3361. UINT _gx_text_scroll_wheel_font_set(GX_TEXT_SCROLL_WHEEL *wheel, GX_RESOURCE_ID normal_font, GX_RESOURCE_ID selected_font);
  3362. UINT _gx_text_scroll_wheel_text_color_set(GX_TEXT_SCROLL_WHEEL *wheel, GX_RESOURCE_ID normal_text_color,
  3363. GX_RESOURCE_ID selected_text_color, GX_RESOURCE_ID disabled_text_color);
  3364. UINT _gx_tree_view_create(GX_TREE_VIEW *tree, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3365. ULONG style, USHORT tree_view_id, GX_CONST GX_RECTANGLE *size);
  3366. VOID _gx_tree_view_draw(GX_TREE_VIEW *tree);
  3367. UINT _gx_tree_view_event_process(GX_TREE_VIEW *tree, GX_EVENT *event_ptr);
  3368. UINT _gx_tree_view_indentation_set(GX_TREE_VIEW *tree, GX_VALUE indentation);
  3369. UINT _gx_tree_view_position(GX_TREE_VIEW *tree);
  3370. UINT _gx_tree_view_root_line_color_set(GX_TREE_VIEW *tree, GX_RESOURCE_ID color);
  3371. UINT _gx_tree_view_root_pixelmap_set(GX_TREE_VIEW *tree, GX_RESOURCE_ID expand_map_id, GX_RESOURCE_ID collapse_map_id);
  3372. UINT _gx_tree_view_selected_get(GX_TREE_VIEW *tree, GX_WIDGET **selected);
  3373. UINT _gx_tree_view_selected_set(GX_TREE_VIEW *tree, GX_WIDGET *selected);
  3374. UINT _gx_utility_canvas_to_bmp(GX_CANVAS *canvas, GX_RECTANGLE *rect, UINT(*write_data)(GX_UBYTE *byte_data, UINT data_count));
  3375. UINT _gx_utility_gradient_create(GX_GRADIENT *gradient, GX_VALUE width, GX_VALUE height, UCHAR type, GX_UBYTE start_alpha, GX_UBYTE end_alpha);
  3376. UINT _gx_utility_gradient_delete(GX_GRADIENT *gradient);
  3377. UINT _gx_utility_circle_point_get(INT xcenter, INT ycenter, UINT r, INT angle, GX_POINT *point);
  3378. UINT _gx_utility_ltoa(LONG value, GX_CHAR *return_buffer, UINT return_buffer_size);
  3379. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3380. INT _gx_utility_math_acos_5_4_0(INT x);
  3381. INT _gx_utility_math_asin_5_4_0(INT x);
  3382. INT _gx_utility_math_cos_5_4_0(INT angle);
  3383. INT _gx_utility_math_sin_5_4_0(INT angle);
  3384. #else
  3385. INT _gx_utility_math_acos(GX_FIXED_VAL x);
  3386. INT _gx_utility_math_asin(GX_FIXED_VAL x);
  3387. GX_FIXED_VAL _gx_utility_math_cos(GX_FIXED_VAL angle);
  3388. GX_FIXED_VAL _gx_utility_math_sin(GX_FIXED_VAL angle);
  3389. #endif
  3390. UINT _gx_utility_math_sqrt(UINT n);
  3391. UINT _gx_utility_pixelmap_resize(GX_PIXELMAP *src, GX_PIXELMAP *destination, INT width, INT height);
  3392. UINT _gx_utility_pixelmap_rotate(GX_PIXELMAP *src, INT angle, GX_PIXELMAP *destination, INT *rot_cx, INT *rot_cy);
  3393. UINT _gx_utility_pixelmap_simple_rotate(GX_PIXELMAP *src, INT angle, GX_PIXELMAP *destination, INT *rot_cx, INT *rot_cy);
  3394. UINT _gx_utility_rectangle_center(GX_RECTANGLE *rectangle, GX_RECTANGLE *within);
  3395. UINT _gx_utility_rectangle_center_find(GX_RECTANGLE *rectangle, GX_POINT *return_center);
  3396. UINT _gx_utility_rectangle_combine(GX_RECTANGLE *first_rectangle, GX_RECTANGLE *second_rectangle);
  3397. GX_BOOL _gx_utility_rectangle_compare(GX_RECTANGLE *first_rectangle, GX_RECTANGLE *second_rectangle);
  3398. UINT _gx_utility_rectangle_define(GX_RECTANGLE *rectangle, GX_VALUE left, GX_VALUE top, GX_VALUE right, GX_VALUE bottom);
  3399. GX_BOOL _gx_utility_rectangle_overlap_detect(GX_RECTANGLE *first_rectangle, GX_RECTANGLE *second_rectangle, GX_RECTANGLE *return_overlap_area);
  3400. GX_BOOL _gx_utility_rectangle_point_detect(GX_RECTANGLE *rectangle, GX_POINT point);
  3401. UINT _gx_utility_rectangle_resize(GX_RECTANGLE *rectangle, GX_VALUE adjust);
  3402. UINT _gx_utility_rectangle_shift(GX_RECTANGLE *rectangle, GX_VALUE x_shift, GX_VALUE y_shift);
  3403. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3404. UINT _gx_utility_string_to_alphamap(GX_CONST GX_CHAR *text, GX_CONST GX_FONT *font, GX_PIXELMAP *textmap);
  3405. #endif
  3406. UINT _gx_utility_string_to_alphamap_ext(GX_CONST GX_STRING *text, GX_CONST GX_FONT *font, GX_PIXELMAP *textmap);
  3407. UINT _gx_vertical_list_children_position(GX_VERTICAL_LIST *vertical_list);
  3408. UINT _gx_vertical_list_create(GX_VERTICAL_LIST *vertical_list, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  3409. INT total_rows,
  3410. VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT),
  3411. ULONG style, USHORT vertical_list_id,
  3412. GX_CONST GX_RECTANGLE *size);
  3413. UINT _gx_vertical_list_event_process(GX_VERTICAL_LIST *list, GX_EVENT *event_ptr);
  3414. UINT _gx_vertical_list_page_index_set(GX_VERTICAL_LIST *list, INT index);
  3415. UINT _gx_vertical_list_selected_index_get(GX_VERTICAL_LIST *vertical_list, INT *return_index);
  3416. UINT _gx_vertical_list_selected_set(GX_VERTICAL_LIST *vertical_list, INT index);
  3417. UINT _gx_vertical_list_selected_widget_get(GX_VERTICAL_LIST *vertical_list, GX_WIDGET **return_list_entry);
  3418. UINT _gx_vertical_list_total_rows_set(GX_VERTICAL_LIST *list, INT count);
  3419. UINT _gx_vertical_scrollbar_create(GX_SCROLLBAR *scrollbar, GX_CONST GX_CHAR *name, GX_WINDOW *parent,
  3420. GX_SCROLLBAR_APPEARANCE *settings, ULONG style);
  3421. UINT _gx_widget_allocate(GX_WIDGET **widget, ULONG memsize);
  3422. UINT _gx_widget_attach(GX_WIDGET *parent, GX_WIDGET *widget);
  3423. UINT _gx_widget_back_attach(GX_WIDGET *parent, GX_WIDGET *widget);
  3424. UINT _gx_widget_back_move(GX_WIDGET *widget, GX_BOOL *widget_moved);
  3425. VOID _gx_widget_background_draw(GX_WIDGET *widget);
  3426. UINT _gx_widget_block_move(GX_WIDGET *widget, GX_RECTANGLE *block, INT x_shift, INT y_shift);
  3427. VOID _gx_widget_border_draw(GX_WIDGET *widget, GX_RESOURCE_ID border_color, GX_RESOURCE_ID upper_color, GX_COLOR lower_color, GX_BOOL fill);
  3428. UINT _gx_widget_border_style_set(GX_WIDGET *widget, ULONG Style);
  3429. UINT _gx_widget_border_width_get(GX_WIDGET *widget, GX_VALUE *return_width);
  3430. UINT _gx_widget_canvas_get(GX_WIDGET *widget, GX_CANVAS **return_canvas);
  3431. UINT _gx_widget_child_detect(GX_WIDGET *parent, GX_WIDGET *child, GX_BOOL *return_detect);
  3432. VOID _gx_widget_children_draw(GX_WIDGET *widget);
  3433. UINT _gx_widget_client_get(GX_WIDGET *widget, GX_VALUE border_width, GX_RECTANGLE *return_size);
  3434. UINT _gx_widget_color_get(GX_WIDGET *widget, GX_RESOURCE_ID color_id, GX_COLOR *return_color);
  3435. UINT _gx_widget_create(GX_WIDGET *widget,
  3436. GX_CONST GX_CHAR *name,
  3437. GX_WIDGET *parent,
  3438. ULONG style, USHORT Id,
  3439. GX_CONST GX_RECTANGLE *size);
  3440. UINT _gx_widget_created_test(GX_WIDGET *widget, GX_BOOL *return_test);
  3441. UINT _gx_widget_delete(GX_WIDGET *widget);
  3442. UINT _gx_widget_detach(GX_WIDGET *widget);
  3443. VOID _gx_widget_draw(GX_WIDGET *widget);
  3444. UINT _gx_widget_draw_set(GX_WIDGET *widget, VOID (*draw_func)(GX_WIDGET *));
  3445. UINT _gx_widget_event_generate(GX_WIDGET *widget, USHORT event_type, LONG value);
  3446. UINT _gx_widget_event_process(GX_WIDGET *widget, GX_EVENT *event_ptr);
  3447. UINT _gx_widget_event_process_set(GX_WIDGET *widget, UINT (*event_processing_function)(GX_WIDGET *, GX_EVENT *));
  3448. UINT _gx_widget_event_to_parent(GX_WIDGET *widget, GX_EVENT *event_ptr);
  3449. UINT _gx_widget_fill_color_set(GX_WIDGET *widget, GX_RESOURCE_ID normal_color, GX_RESOURCE_ID selected_color, GX_RESOURCE_ID disabled_color);
  3450. UINT _gx_widget_find(GX_WIDGET *parent, USHORT widget_id, INT search_depth, GX_WIDGET **return_widget);
  3451. UINT _gx_widget_first_child_get(GX_WIDGET *parent, GX_WIDGET **child_return);
  3452. UINT _gx_widget_font_get(GX_WIDGET *widget, GX_RESOURCE_ID font_id, GX_FONT **return_font);
  3453. UINT _gx_widget_free(GX_WIDGET *widget);
  3454. UINT _gx_widget_focus_next(GX_WIDGET *widget);
  3455. UINT _gx_widget_focus_previous(GX_WIDGET *widget);
  3456. UINT _gx_widget_front_move(GX_WIDGET *widget, GX_BOOL *widget_moved);
  3457. UINT _gx_widget_height_get(GX_WIDGET *widget, GX_VALUE *return_height);
  3458. UINT _gx_widget_hide(GX_WIDGET *widget);
  3459. UINT _gx_widget_last_child_get(GX_WIDGET *parent, GX_WIDGET **child_return);
  3460. UINT _gx_widget_next_sibling_get(GX_WIDGET *current, GX_WIDGET **sibling_return);
  3461. UINT _gx_widget_parent_get(GX_WIDGET *current, GX_WIDGET **parent_return);
  3462. UINT _gx_widget_pixelmap_get(GX_WIDGET *widget, GX_RESOURCE_ID font_id, GX_PIXELMAP **return_pixelmap);
  3463. UINT _gx_widget_previous_sibling_get(GX_WIDGET *current, GX_WIDGET **sibling_return);
  3464. UINT _gx_widget_resize(GX_WIDGET *widget, GX_RECTANGLE *newsize);
  3465. UINT _gx_widget_shift(GX_WIDGET *widget, GX_VALUE x_shift, GX_VALUE y_shift, GX_BOOL mark_dirty);
  3466. UINT _gx_widget_show(GX_WIDGET *widget);
  3467. UINT _gx_widget_status_add(GX_WIDGET *widget, ULONG status);
  3468. UINT _gx_widget_status_get(GX_WIDGET *widget, ULONG *return_status);
  3469. UINT _gx_widget_status_remove(GX_WIDGET *widget, ULONG status);
  3470. UINT _gx_widget_status_test(GX_WIDGET *widget, ULONG status, GX_BOOL *return_test);
  3471. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3472. UINT _gx_widget_string_get(GX_WIDGET *widget, GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  3473. #endif
  3474. UINT _gx_widget_string_get_ext(GX_WIDGET *widget, GX_RESOURCE_ID string_id, GX_STRING *return_string);
  3475. UINT _gx_widget_style_add(GX_WIDGET *widget, ULONG style);
  3476. UINT _gx_widget_style_get(GX_WIDGET *widget, ULONG *return_style);
  3477. UINT _gx_widget_style_remove(GX_WIDGET *widget, ULONG style);
  3478. UINT _gx_widget_style_set(GX_WIDGET *widget, ULONG style);
  3479. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3480. UINT _gx_widget_text_blend(GX_WIDGET *widget, UINT tColor, UINT font_id, GX_CONST GX_CHAR *string,
  3481. INT x_offset, INT y_offset, UCHAR alpha);
  3482. VOID _gx_widget_text_draw(GX_WIDGET *widget, UINT tColor, UINT font_id, GX_CONST GX_CHAR *string,
  3483. INT x_offset, INT y_offset);
  3484. #endif
  3485. UINT _gx_widget_text_blend_ext(GX_WIDGET *widget, UINT tColor, UINT font_id, GX_CONST GX_STRING *string,
  3486. INT x_offset, INT y_offset, UCHAR alpha);
  3487. VOID _gx_widget_text_draw_ext(GX_WIDGET *widget, UINT tColor, UINT font_id, GX_CONST GX_STRING *string,
  3488. INT x_offset, INT y_offset);
  3489. VOID _gx_widget_text_id_draw(GX_WIDGET *widget, UINT tColor,
  3490. UINT font_id, UINT text_id,
  3491. INT x_offset, INT y_offset);
  3492. UINT _gx_widget_top_visible_child_find(GX_WIDGET *parent, GX_WIDGET **child_return);
  3493. UINT _gx_widget_type_find(GX_WIDGET *parent, USHORT widget_type, GX_WIDGET **return_widget);
  3494. UINT _gx_widget_width_get(GX_WIDGET *widget, GX_VALUE *return_width);
  3495. VOID _gx_window_background_draw(GX_WINDOW *window);
  3496. UINT _gx_window_client_height_get(GX_WINDOW *window, GX_VALUE *return_height);
  3497. UINT _gx_window_client_scroll(GX_WINDOW *window, GX_VALUE x_scroll, GX_VALUE y_scroll);
  3498. UINT _gx_window_client_width_get(GX_WINDOW *window, GX_VALUE *return_width);
  3499. UINT _gx_window_close(GX_WINDOW *window);
  3500. UINT _gx_window_create(GX_WINDOW *window,
  3501. GX_CONST GX_CHAR *name,
  3502. GX_WIDGET *parent,
  3503. ULONG style, USHORT window_id,
  3504. GX_CONST GX_RECTANGLE *size);
  3505. VOID _gx_window_draw(GX_WINDOW *window);
  3506. UINT _gx_window_event_process(GX_WINDOW *window, GX_EVENT *event_ptr);
  3507. UINT _gx_window_execute(GX_WINDOW *window, ULONG *return_code);
  3508. UINT _gx_window_root_create(GX_WINDOW_ROOT *root_window,
  3509. GX_CONST GX_CHAR *name,
  3510. GX_CANVAS *canvas, ULONG style, USHORT Id,
  3511. GX_CONST GX_RECTANGLE *size);
  3512. UINT _gx_window_root_delete(GX_WINDOW_ROOT *root_window);
  3513. UINT _gx_window_root_event_process(GX_WINDOW_ROOT *widget, GX_EVENT *event_ptr);
  3514. UINT _gx_window_root_find(GX_WIDGET *widget, GX_WINDOW_ROOT **return_root_window);
  3515. UINT _gx_window_scroll_info_get(GX_WINDOW *window, ULONG type, GX_SCROLL_INFO *return_scroll_info);
  3516. UINT _gx_window_scrollbar_find(GX_WINDOW *window, USHORT type, GX_SCROLLBAR **return_scrollbar);
  3517. UINT _gx_window_wallpaper_get(GX_WINDOW *window, GX_RESOURCE_ID *return_wallpaper_id);
  3518. UINT _gx_window_wallpaper_set(GX_WINDOW *window, GX_RESOURCE_ID wallpaper_id, GX_BOOL tile);
  3519. #else
  3520. #define gx_accordion_menu_create(a, b, c, d, e, f) _gxe_accordion_menu_create(a, b, c, d, e, f, sizeof(GX_ACCORDION_MENU))
  3521. #define gx_accordion_menu_draw _gx_accordion_menu_draw
  3522. #define gx_accordion_menu_event_process _gxe_accordion_menu_event_process
  3523. #define gx_accordion_menu_position _gxe_accordion_menu_position
  3524. #define gx_animation_canvas_define _gxe_animation_canvas_define
  3525. #define gx_animation_create _gxe_animation_create
  3526. #define gx_animation_drag_disable _gxe_animation_drag_disable
  3527. #define gx_animation_drag_enable _gxe_animation_drag_enable
  3528. #define gx_animation_landing_speed_set _gxe_animation_landing_speed_set
  3529. #define gx_animation_start _gxe_animation_start
  3530. #define gx_animation_stop _gxe_animation_stop
  3531. #define gx_binres_language_count_get _gxe_binres_language_count_get
  3532. #define gx_binres_language_info_load _gxe_binres_language_info_load
  3533. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3534. #define gx_binres_language_table_load _gxe_binres_language_table_load
  3535. #endif
  3536. #define gx_binres_language_table_load_ext _gxe_binres_language_table_load_ext
  3537. #define gx_binres_theme_load _gxe_binres_theme_load
  3538. #define gx_brush_default _gxe_brush_default
  3539. #define gx_brush_define _gxe_brush_define
  3540. #define gx_button_background_draw _gx_button_background_draw
  3541. #define gx_button_create(a, b, c, d, e, f) _gxe_button_create(a, b, (GX_WIDGET *)c, d, e, f, sizeof(GX_BUTTON))
  3542. #define gx_button_deselect _gxe_button_deselect
  3543. #define gx_button_draw _gx_button_draw
  3544. #define gx_button_event_process _gxe_button_event_process
  3545. #define gx_button_select _gxe_button_select
  3546. #define gx_canvas_alpha_set _gxe_canvas_alpha_set
  3547. #define gx_canvas_arc_draw _gxe_canvas_arc_draw
  3548. #define gx_canvas_block_move(a, b, c, d) _gxe_canvas_block_move(a, b, c, d)
  3549. #define gx_canvas_circle_draw _gxe_canvas_circle_draw
  3550. #define gx_canvas_create(a, b, c, d, e, f, g, h) _gxe_canvas_create(a, b, c, d, e, f, g, h, sizeof(GX_CANVAS))
  3551. #define gx_canvas_delete _gxe_canvas_delete
  3552. #define gx_canvas_drawing_complete _gxe_canvas_drawing_complete
  3553. #define gx_canvas_drawing_initiate(a, b, c) _gxe_canvas_drawing_initiate(a, (GX_WIDGET *)b, c)
  3554. #define gx_canvas_ellipse_draw _gxe_canvas_ellipse_draw
  3555. #define gx_canvas_hardware_layer_bind _gxe_canvas_hardware_layer_bind
  3556. #define gx_canvas_hide _gxe_canvas_hide
  3557. #define gx_canvas_line_draw _gxe_canvas_line_draw
  3558. #define gx_canvas_memory_define _gxe_canvas_memory_define
  3559. #if defined (GX_MOUSE_SUPPORT)
  3560. #define gx_canvas_mouse_define _gxe_canvas_mouse_define
  3561. #define gx_canvas_mouse_hide _gxe_canvas_mouse_hide
  3562. #define gx_canvas_mouse_show _gxe_canvas_mouse_show
  3563. #endif
  3564. #define gx_canvas_offset_set _gxe_canvas_offset_set
  3565. #define gx_canvas_pie_draw _gxe_canvas_pie_draw
  3566. #define gx_canvas_pixel_draw _gxe_canvas_pixel_draw
  3567. #define gx_canvas_pixelmap_blend _gxe_canvas_pixelmap_blend
  3568. #define gx_canvas_pixelmap_draw _gxe_canvas_pixelmap_draw
  3569. #define gx_canvas_pixelmap_get _gxe_canvas_pixelmap_get
  3570. #define gx_canvas_pixelmap_rotate _gxe_canvas_pixelmap_rotate
  3571. #define gx_canvas_pixelmap_tile _gxe_canvas_pixelmap_tile
  3572. #define gx_canvas_polygon_draw _gxe_canvas_polygon_draw
  3573. #define gx_canvas_rectangle_draw _gxe_canvas_rectangle_draw
  3574. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3575. #define gx_canvas_rotated_text_draw _gxe_canvas_rotated_text_draw
  3576. #endif
  3577. #define gx_canvas_rotated_text_draw_ext _gxe_canvas_rotated_text_draw_ext
  3578. #define gx_canvas_shift _gxe_canvas_shift
  3579. #define gx_canvas_show _gxe_canvas_show
  3580. #if defined (GX_ENABLE_DEPRECATED_STRING_API)
  3581. #define gx_canvas_text_draw _gxe_canvas_text_draw
  3582. #endif
  3583. #define gx_canvas_text_draw_ext _gxe_canvas_text_draw_ext
  3584. #define gx_checkbox_create(a, b, c, d, e, f, g) _gxe_checkbox_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_CHECKBOX))
  3585. #define gx_checkbox_draw _gx_checkbox_draw
  3586. #define gx_checkbox_event_process _gxe_checkbox_event_process
  3587. #define gx_checkbox_pixelmap_set _gxe_checkbox_pixelmap_set
  3588. #define gx_checkbox_select _gxe_checkbox_select
  3589. #define gx_circular_gauge_angle_get _gxe_circular_gauge_angle_get
  3590. #define gx_circular_gauge_angle_set _gxe_circular_gauge_angle_set
  3591. #define gx_circular_gauge_animation_set _gxe_circular_gauge_animation_set
  3592. #define gx_circular_gauge_background_draw _gx_circular_gauge_background_draw
  3593. #define gx_circular_gauge_create(a, b, c, d, e, f, g, h, i) _gxe_circular_gauge_create((GX_CIRCULAR_GAUGE *) a, b, c, d, e, f, g, h, i, sizeof(GX_CIRCULAR_GAUGE))
  3594. #define gx_circular_gauge_draw _gx_circular_gauge_draw
  3595. #define gx_circular_gauge_event_process _gxe_circular_gauge_event_process
  3596. #define gx_context_brush_default _gxe_context_brush_default
  3597. #define gx_context_brush_define _gxe_context_brush_define
  3598. #define gx_context_brush_get _gxe_context_brush_get
  3599. #define gx_context_brush_pattern_set _gxe_context_brush_pattern_set
  3600. #define gx_context_brush_set _gxe_context_brush_set
  3601. #define gx_context_brush_style_set _gxe_context_brush_style_set
  3602. #define gx_context_brush_width_set _gxe_context_brush_width_set
  3603. #define gx_context_color_get _gxe_context_color_get
  3604. #define gx_context_fill_color_set _gxe_context_fill_color_set
  3605. #define gx_context_font_get _gxe_context_font_get
  3606. #define gx_context_font_set _gxe_context_font_set
  3607. #define gx_context_line_color_set _gxe_context_line_color_set
  3608. #define gx_context_pixelmap_get _gxe_context_pixelmap_get
  3609. #define gx_context_pixelmap_set _gxe_context_pixelmap_set
  3610. #define gx_context_raw_brush_define _gxe_context_raw_brush_define
  3611. #define gx_context_raw_fill_color_set _gxe_context_raw_fill_color_set
  3612. #define gx_context_raw_line_color_set _gxe_context_raw_line_color_set
  3613. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3614. #define gx_context_string_get _gxe_context_string_get
  3615. #endif
  3616. #define gx_context_string_get_ext _gxe_context_string_get_ext
  3617. #define gx_display_active_language_set _gxe_display_active_language_set
  3618. #define gx_display_color_set _gxe_display_color_set
  3619. #define gx_display_color_table_set _gxe_display_color_table_set
  3620. #define gx_display_create(a, b, c, d, e) _gxe_display_create(a, b, c, d, e, sizeof(GX_DISPLAY))
  3621. #define gx_display_delete _gxe_display_delete
  3622. #define gx_display_font_table_set _gxe_display_font_table_set
  3623. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3624. #define gx_display_language_table_get _gxe_display_language_table_get
  3625. #define gx_display_language_table_set _gxe_display_language_table_set
  3626. #endif
  3627. #define gx_display_language_table_get_ext _gxe_display_language_table_get_ext
  3628. #define gx_display_language_table_set_ext _gxe_display_language_table_set_ext
  3629. #define gx_display_pixelmap_table_set _gxe_display_pixelmap_table_set
  3630. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3631. #define gx_display_string_get _gxe_display_string_get
  3632. #define gx_display_string_table_get _gxe_display_string_table_get
  3633. #endif
  3634. #define gx_display_string_get_ext _gxe_display_string_get_ext
  3635. #define gx_display_string_table_get_ext _gxe_display_string_table_get_ext
  3636. #define gx_display_theme_install _gxe_display_theme_install
  3637. #define gx_drop_list_close _gxe_drop_list_close
  3638. #define gx_drop_list_create(a, b, c, d, e, f, g, h, i) _gxe_drop_list_create((GX_DROP_LIST *)a, b, (GX_WIDGET *)c, d, e, f, g, h, i, sizeof(GX_DROP_LIST))
  3639. #define gx_drop_list_event_process _gxe_drop_list_event_process
  3640. #define gx_drop_list_open _gxe_drop_list_open
  3641. #define gx_drop_list_pixelmap_set _gxe_drop_list_pixelmap_set
  3642. #define gx_drop_list_popup_get _gxe_drop_list_popup_get
  3643. #define gx_horizontal_list_children_position _gxe_horizontal_list_children_position
  3644. #define gx_horizontal_list_create(a, b, c, d, e, f, g, h) _gxe_horizontal_list_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_HORIZONTAL_LIST))
  3645. #define gx_horizontal_list_event_process _gxe_horizontal_list_event_process
  3646. #define gx_horizontal_list_page_index_set(a, b) _gxe_horizontal_list_page_index_set((GX_HORIZONTAL_LIST *)a, b)
  3647. #define gx_horizontal_list_selected_index_get(a, b) _gxe_horizontal_list_selected_index_get(a, b)
  3648. #define gx_horizontal_list_selected_set(a, b) _gxe_horizontal_list_selected_set(a, b)
  3649. #define gx_horizontal_list_selected_widget_get(a, b) _gxe_horizontal_list_selected_widget_get(a, (GX_WIDGET **)b)
  3650. #define gx_horizontal_list_total_columns_set(a, b) _gxe_horizontal_list_total_columns_set((GX_HORIZONTAL_LIST *)a, b)
  3651. #define gx_horizontal_scrollbar_create(a, b, c, d, e) _gxe_horizontal_scrollbar_create(a, b, (GX_WINDOW *)c, d, e, sizeof(GX_SCROLLBAR))
  3652. #define gx_icon_background_draw _gx_icon_background_draw
  3653. #define gx_icon_button_create(a, b, c, d, e, f, g) _gxe_icon_button_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_ICON_BUTTON))
  3654. #define gx_icon_button_draw _gx_icon_button_draw
  3655. #define gx_icon_button_pixelmap_set _gxe_icon_button_pixelmap_set
  3656. #define gx_icon_create(a, b, c, d, e, f, g, h) _gxe_icon_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_ICON))
  3657. #define gx_icon_draw _gx_icon_draw
  3658. #define gx_icon_event_process _gxe_icon_event_process
  3659. #define gx_icon_pixelmap_set _gxe_icon_pixelmap_set
  3660. #define gx_image_reader_create _gxe_image_reader_create
  3661. #define gx_image_reader_palette_set _gxe_image_reader_palette_set
  3662. #define gx_image_reader_start _gxe_image_reader_start
  3663. #define gx_line_chart_axis_draw _gx_line_chart_axis_draw
  3664. #define gx_line_chart_create(a, b, c, d, e, f, g) _gxe_line_chart_create(a, b, (GX_WIDGET *) c, d, e, f, g, sizeof(GX_LINE_CHART))
  3665. #define gx_line_chart_data_draw _gx_line_chart_data_draw
  3666. #define gx_line_chart_draw _gx_line_chart_draw
  3667. #define gx_line_chart_update _gxe_line_chart_update
  3668. #define gx_line_chart_y_scale_calculate _gxe_line_chart_y_scale_calculate
  3669. #define gx_menu_create(a, b, c, d, e, f, g, h) _gxe_menu_create((GX_MENU *)a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_MENU))
  3670. #define gx_menu_draw _gx_menu_draw
  3671. #define gx_menu_insert _gxe_menu_insert
  3672. #define gx_menu_remove _gxe_menu_remove
  3673. #define gx_menu_text_draw _gx_menu_text_draw
  3674. #define gx_menu_text_offset_set _gxe_menu_text_offset_set
  3675. #define gx_multi_line_text_button_create(a, b, c, d, e, f, g) _gxe_multi_line_text_button_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_MULTI_LINE_TEXT_BUTTON))
  3676. #define gx_multi_line_text_button_draw _gx_multi_line_text_button_draw
  3677. #define gx_multi_line_text_button_event_process _gxe_multi_line_text_button_event_process
  3678. #define gx_multi_line_text_button_text_draw _gx_multi_line_text_button_text_draw
  3679. #define gx_multi_line_text_button_text_id_set _gxe_multi_line_text_button_text_id_set
  3680. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3681. #define gx_multi_line_text_button_text_set _gxe_multi_line_text_button_text_set
  3682. #endif
  3683. #define gx_multi_line_text_button_text_set_ext _gxe_multi_line_text_button_text_set_ext
  3684. #define gx_multi_line_text_input_backspace _gxe_multi_line_text_input_backspace
  3685. #define gx_multi_line_text_input_buffer_clear _gxe_multi_line_text_input_buffer_clear
  3686. #define gx_multi_line_text_input_buffer_get _gxe_multi_line_text_input_buffer_get
  3687. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3688. #define gx_multi_line_text_input_char_insert _gxe_multi_line_text_input_char_insert
  3689. #endif
  3690. #define gx_multi_line_text_input_char_insert_ext _gxe_multi_line_text_input_char_insert_ext
  3691. #define gx_multi_line_text_input_create(a, b, c, d, e, f, g, h) _gxe_multi_line_text_input_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_MULTI_LINE_TEXT_INPUT))
  3692. #define gx_multi_line_text_input_cursor_pos_get _gxe_multi_line_text_input_cursor_pos_get
  3693. #define gx_multi_line_text_input_delete _gxe_multi_line_text_input_delete
  3694. #define gx_multi_line_text_input_down_arrow _gxe_multi_line_text_input_down_arrow
  3695. #define gx_multi_line_text_input_end _gxe_multi_line_text_input_end
  3696. #define gx_multi_line_text_input_event_process _gxe_multi_line_text_input_event_process
  3697. #define gx_multi_line_text_input_fill_color_set _gxe_multi_line_text_input_fill_color_set
  3698. #define gx_multi_line_text_input_home _gxe_multi_line_text_input_home
  3699. #define gx_multi_line_text_input_left_arrow _gxe_multi_line_text_input_left_arrow
  3700. #define gx_multi_line_text_input_right_arrow _gxe_multi_line_text_input_right_arrow
  3701. #define gx_multi_line_text_input_style_add _gxe_multi_line_text_input_style_add
  3702. #define gx_multi_line_text_input_style_remove _gxe_multi_line_text_input_style_remove
  3703. #define gx_multi_line_text_input_style_set _gxe_multi_line_text_input_style_set
  3704. #define gx_multi_line_text_input_text_color_set _gxe_multi_line_text_input_text_color_set
  3705. #define gx_multi_line_text_input_text_select _gxe_multi_line_text_input_text_select
  3706. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3707. #define gx_multi_line_text_input_text_set _gxe_multi_line_text_input_text_set
  3708. #endif
  3709. #define gx_multi_line_text_input_text_set_ext _gxe_multi_line_text_input_text_set_ext
  3710. #define gx_multi_line_text_input_up_arrow _gxe_multi_line_text_input_up_arrow
  3711. #define gx_multi_line_text_view_create(a, b, c, d, e, f, g) _gxe_multi_line_text_view_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_MULTI_LINE_TEXT_VIEW))
  3712. #define gx_multi_line_text_view_draw _gx_multi_line_text_view_draw
  3713. #define gx_multi_line_text_view_event_process _gxe_multi_line_text_view_event_process
  3714. #define gx_multi_line_text_view_font_set _gxe_multi_line_text_view_font_set
  3715. #define gx_multi_line_text_view_line_space_set _gxe_multi_line_text_view_line_space_set
  3716. #define gx_multi_line_text_view_scroll_info_get _gxe_multi_line_text_view_scroll_info_get
  3717. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3718. #define gx_multi_line_text_view_text_color_set(a, b, c) _gxe_multi_line_text_view_text_color_set((GX_MULTI_LINE_TEXT_VIEW *)a, b, c, b)
  3719. #else
  3720. #define gx_multi_line_text_view_text_color_set _gxe_multi_line_text_view_text_color_set
  3721. #endif
  3722. #define gx_multi_line_text_view_text_id_set _gxe_multi_line_text_view_text_id_set
  3723. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3724. #define gx_multi_line_text_view_text_set _gxe_multi_line_text_view_text_set
  3725. #endif
  3726. #define gx_multi_line_text_view_text_set_ext _gxe_multi_line_text_view_text_set_ext
  3727. #define gx_multi_line_text_view_whitespace_set _gxe_multi_line_text_view_whitespace_set
  3728. #define gx_numeric_pixelmap_prompt_create(a, b, c, d, e, f, g, h) _gxe_numeric_pixelmap_prompt_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_NUMERIC_PIXELMAP_PROMPT))
  3729. #define gx_numeric_pixelmap_prompt_format_function_set _gxe_numeric_pixelmap_prompt_format_function_set
  3730. #define gx_numeric_pixelmap_prompt_value_set _gxe_numeric_pixelmap_prompt_value_set
  3731. #define gx_numeric_prompt_create(a, b, c, d, e, f, g) _gxe_numeric_prompt_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_NUMERIC_PROMPT))
  3732. #define gx_numeric_prompt_format_function_set _gxe_numeric_prompt_format_function_set
  3733. #define gx_numeric_prompt_value_set _gxe_numeric_prompt_value_set
  3734. #define gx_numeric_scroll_wheel_create(a, b, c, d, e, f, g, h) _gxe_numeric_scroll_wheel_create(a, b, (GX_WIDGET *) c, d, e, f, g, h, sizeof(GX_NUMERIC_SCROLL_WHEEL))
  3735. #define gx_numeric_scroll_wheel_range_set _gxe_numeric_scroll_wheel_range_set
  3736. #define gx_pixelmap_button_create(a, b, c, d, e, f, g, h, i) _gxe_pixelmap_button_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, i, sizeof(GX_PIXELMAP_BUTTON))
  3737. #define gx_pixelmap_button_draw _gx_pixelmap_button_draw
  3738. #define gx_pixelmap_button_event_process _gxe_pixelmap_button_event_process
  3739. #define gx_pixelmap_button_pixelmap_set _gxe_pixelmap_button_pixelmap_set
  3740. #define gx_pixelmap_prompt_create(a, b, c, d, e, f, g, h) _gxe_pixelmap_prompt_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_PIXELMAP_PROMPT))
  3741. #define gx_pixelmap_prompt_draw _gx_pixelmap_prompt_draw
  3742. #define gx_pixelmap_prompt_pixelmap_set _gxe_pixelmap_prompt_pixelmap_set
  3743. #define gx_pixelmap_slider_create(a, b, c, d, e, f, g, h) _gxe_pixelmap_slider_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_PIXELMAP_SLIDER))
  3744. #define gx_pixelmap_slider_draw _gx_pixelmap_slider_draw
  3745. #define gx_pixelmap_slider_event_process _gxe_pixelmap_slider_event_process
  3746. #define gx_pixelmap_slider_pixelmap_set _gxe_pixelmap_slider_pixelmap_set
  3747. #define gx_progress_bar_background_draw _gx_progress_bar_background_draw
  3748. #define gx_progress_bar_create(a, b, c, d, e, f, g) _gxe_progress_bar_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_PROGRESS_BAR))
  3749. #define gx_progress_bar_draw _gx_progress_bar_draw
  3750. #define gx_progress_bar_event_process _gxe_progress_bar_event_process
  3751. #define gx_progress_bar_font_set _gxe_progress_bar_font_set
  3752. #define gx_progress_bar_info_set(a, b) _gxe_progress_bar_info_set((GX_PROGRESS_BAR *)a, b);
  3753. #define gx_progress_bar_pixelmap_set _gxe_progress_bar_pixelmap_set
  3754. #define gx_progress_bar_range_set _gxe_progress_bar_range_set
  3755. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3756. #define gx_progress_bar_text_color_set(a, b, c) _gxe_progress_bar_text_color_set((GX_PROGRESS_BAR *)a, b, c, b)
  3757. #else
  3758. #define gx_progress_bar_text_color_set _gxe_progress_bar_text_color_set
  3759. #endif
  3760. #define gx_progress_bar_text_draw _gx_progress_bar_text_draw
  3761. #define gx_progress_bar_value_set _gxe_progress_bar_value_set
  3762. #define gx_prompt_create(a, b, c, d, e, f, g) _gxe_prompt_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_PROMPT))
  3763. #define gx_prompt_draw _gx_prompt_draw
  3764. #define gx_prompt_font_set _gxe_prompt_font_set
  3765. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3766. #define gx_prompt_text_color_set(a, b, c) _gxe_prompt_text_color_set((GX_PROMPT *)a, b, c, b)
  3767. #else
  3768. #define gx_prompt_text_color_set _gxe_prompt_text_color_set
  3769. #endif
  3770. #define gx_prompt_text_draw _gx_prompt_text_draw
  3771. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3772. #define gx_prompt_text_get _gxe_prompt_text_get
  3773. #endif
  3774. #define gx_prompt_text_get_ext _gxe_prompt_text_get_ext
  3775. #define gx_prompt_text_id_set _gxe_prompt_text_id_set
  3776. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3777. #define gx_prompt_text_set _gxe_prompt_text_set
  3778. #endif
  3779. #define gx_prompt_text_set_ext _gxe_prompt_text_set_ext
  3780. #define gx_radial_progress_bar_anchor_set _gxe_radial_progress_bar_anchor_set
  3781. #define gx_radial_progress_bar_background_draw _gx_radial_progress_bar_background_draw
  3782. #define gx_radial_progress_bar_create(a, b, c, d, e, f) _gxe_radial_progress_bar_create(a, b, c, d, e, f, sizeof(GX_RADIAL_PROGRESS_BAR))
  3783. #define gx_radial_progress_bar_draw _gx_radial_progress_bar_draw
  3784. #define gx_radial_progress_bar_event_process _gxe_radial_progress_bar_event_process
  3785. #define gx_radial_progress_bar_font_set _gxe_radial_progress_bar_font_set
  3786. #define gx_radial_progress_bar_info_set _gxe_radial_progress_bar_info_set
  3787. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3788. #define gx_radial_progress_bar_text_color_set(a, b, c) _gxe_radial_progress_bar_text_color_set((GX_RADIAL_PROGRESS_BAR *)a, b, c, b)
  3789. #else
  3790. #define gx_radial_progress_bar_text_color_set _gxe_radial_progress_bar_text_color_set
  3791. #endif
  3792. #define gx_radial_progress_bar_text_draw _gx_radial_progress_bar_text_draw
  3793. #define gx_radial_progress_bar_value_set _gxe_radial_progress_bar_value_set
  3794. #define gx_radial_slider_anchor_angles_set _gxe_radial_slider_anchor_angles_set
  3795. #define gx_radial_slider_animation_set _gxe_radial_slider_animation_set
  3796. #define gx_radial_slider_animation_start _gxe_radial_slider_animation_start
  3797. #define gx_radial_slider_create(a, b, c, d, e, f, g) _gxe_radial_slider_create((GX_RADIAL_SLIDER *)a, b, c, d, e, f, g, sizeof(GX_RADIAL_SLIDER))
  3798. #define gx_radial_slider_draw _gx_radial_slider_draw
  3799. #define gx_radial_slider_event_process _gxe_radial_slider_event_process
  3800. #define gx_radial_slider_info_get _gxe_radial_slider_info_get
  3801. #define gx_radial_slider_info_set _gxe_radial_slider_info_set
  3802. #define gx_radial_slider_pixelmap_set _gxe_radial_slider_pixelmap_set
  3803. #define gx_radial_slider_angle_set _gxe_radial_slider_angle_set
  3804. #define gx_radio_button_create(a, b, c, d, e, f, g) _gxe_radio_button_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_RADIO_BUTTON))
  3805. #define gx_radio_button_draw _gx_radio_button_draw
  3806. #define gx_radio_button_pixelmap_set _gxe_radio_button_pixelmap_set
  3807. #define gx_screen_stack_create _gxe_screen_stack_create
  3808. #define gx_screen_stack_pop _gxe_screen_stack_pop
  3809. #define gx_screen_stack_push _gxe_screen_stack_push
  3810. #define gx_screen_stack_reset _gxe_screen_stack_reset
  3811. #define gx_scroll_thumb_create(a, b, c) _gxe_scroll_thumb_create(a, b, c, sizeof(GX_SCROLL_THUMB))
  3812. #define gx_scroll_thumb_draw _gx_scroll_thumb_draw
  3813. #define gx_scroll_thumb_event_process _gxe_scroll_thumb_event_process
  3814. #define gx_scrollbar_draw _gx_scrollbar_draw
  3815. #define gx_scrollbar_event_process _gxe_scrollbar_event_process
  3816. #define gx_scrollbar_limit_check _gxe_scrollbar_limit_check
  3817. #define gx_scrollbar_reset _gxe_scrollbar_reset
  3818. #define gx_scrollbar_value_set _gxe_scrollbar_value_set
  3819. #define gx_scroll_wheel_create(a, b, c, d, e, f, g) _gxe_scroll_wheel_create(a, b, c, d, e, f, g, sizeof(GX_SCROLL_WHEEL))
  3820. #define gx_scroll_wheel_event_process _gxe_scroll_wheel_event_process
  3821. #define gx_scroll_wheel_gradient_alpha_set(a, b, c) _gxe_scroll_wheel_gradient_alpha_set((GX_SCROLL_WHEEL *) a, b, c)
  3822. #define gx_scroll_wheel_row_height_set(a, b) _gxe_scroll_wheel_row_height_set((GX_SCROLL_WHEEL *) a, b)
  3823. #define gx_scroll_wheel_selected_background_set(a, b) _gxe_scroll_wheel_selected_background_set((GX_SCROLL_WHEEL *) a, b)
  3824. #define gx_scroll_wheel_selected_get(a, b) _gxe_scroll_wheel_selected_get((GX_SCROLL_WHEEL *) a, b)
  3825. #define gx_scroll_wheel_selected_set(a, b) _gxe_scroll_wheel_selected_set((GX_SCROLL_WHEEL *) a, b)
  3826. #define gx_scroll_wheel_speed_set(a, b, c, d, e) _gxe_scroll_wheel_speed_set((GX_SCROLL_WHEEL *) a, b, c, d, e)
  3827. #define gx_scroll_wheel_total_rows_set(a, b) _gxe_scroll_wheel_total_rows_set((GX_SCROLL_WHEEL *) a, b)
  3828. #define gx_single_line_text_input_backspace(a) _gxe_single_line_text_input_backspace((GX_SINGLE_LINE_TEXT_INPUT *)a)
  3829. #define gx_single_line_text_input_buffer_clear(a) _gxe_single_line_text_input_buffer_clear((GX_SINGLE_LINE_TEXT_INPUT *)a);
  3830. #define gx_single_line_text_input_buffer_get(a, b, c, d) _gxe_single_line_text_input_buffer_get((GX_SINGLE_LINE_TEXT_INPUT *)a, b, c, d);
  3831. #define gx_single_line_text_input_character_delete(a) _gxe_single_line_text_input_character_delete(a)
  3832. #define gx_single_line_text_input_character_insert(a, b, c) _gxe_single_line_text_input_character_insert(a, b, c)
  3833. #define gx_single_line_text_input_create(a, b, c, d, e, f, g, h) _gxe_single_line_text_input_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_SINGLE_LINE_TEXT_INPUT))
  3834. #define gx_single_line_text_input_draw(a) _gx_single_line_text_input_draw(a)
  3835. #define gx_single_line_text_input_draw_position_get(a, b, c) _gxe_single_line_text_input_draw_position_get(a, b, c)
  3836. #define gx_single_line_text_input_end(a) _gxe_single_line_text_input_end((GX_SINGLE_LINE_TEXT_INPUT *)a)
  3837. #define gx_single_line_text_input_event_process(a, b) _gxe_single_line_text_input_event_process((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  3838. #define gx_single_line_text_input_fill_color_set(a, b, c, d, e) _gxe_single_line_text_input_fill_color_set((GX_SINGLE_LINE_TEXT_INPUT *)a, b, c, d, e)
  3839. #define gx_single_line_text_input_home(a) _gxe_single_line_text_input_home((GX_SINGLE_LINE_TEXT_INPUT *)a)
  3840. #define gx_single_line_text_input_left_arrow(a) _gxe_single_line_text_input_left_arrow((GX_SINGLE_LINE_TEXT_INPUT *)a)
  3841. #define gx_single_line_text_input_position_get(a, b) _gxe_single_line_text_input_position_get(a, b)
  3842. #define gx_single_line_text_input_right_arrow(a) _gxe_single_line_text_input_right_arrow((GX_SINGLE_LINE_TEXT_INPUT *)a)
  3843. #define gx_single_line_text_input_style_add(a, b) _gxe_single_line_text_input_style_add((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  3844. #define gx_single_line_text_input_style_remove(a, b) _gxe_single_line_text_input_style_remove((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  3845. #define gx_single_line_text_input_style_set(a, b) _gxe_single_line_text_input_style_set((GX_SINGLE_LINE_TEXT_INPUT *)a, b)
  3846. #define gx_single_line_text_input_text_color_set(a, b, c, d, e) _gxe_single_line_text_input_text_color_set((GX_SINGLE_LINE_TEXT_INPUT *)a, b, c, d, e)
  3847. #define gx_single_line_text_input_text_select _gxe_single_line_text_input_text_select
  3848. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3849. #define gx_single_line_text_input_text_set _gxe_single_line_text_input_text_set
  3850. #endif
  3851. #define gx_single_line_text_input_text_set_ext _gxe_single_line_text_input_text_set_ext
  3852. #define gx_slider_create(a, b, c, d, e, f, g, h) _gxe_slider_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_SLIDER))
  3853. #define gx_slider_draw _gx_slider_draw
  3854. #define gx_slider_event_process _gxe_slider_event_process
  3855. #define gx_slider_info_set _gxe_slider_info_set
  3856. #define gx_slider_needle_draw _gx_slider_needle_draw
  3857. #define gx_slider_needle_position_get _gxe_slider_needle_position_get
  3858. #define gx_slider_tickmarks_draw _gx_slider_tickmarks_draw
  3859. #define gx_slider_travel_get _gxe_slider_travel_get
  3860. #define gx_slider_value_calculate _gxe_slider_value_calculate
  3861. #define gx_slider_value_set _gxe_slider_value_set
  3862. #define gx_sprite_create(a, b, c, d, e, f, g, h) _gxe_sprite_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_SPRITE))
  3863. #define gx_sprite_current_frame_set _gxe_sprite_current_frame_set
  3864. #define gx_sprite_frame_list_set _gxe_sprite_frame_list_set
  3865. #define gx_sprite_start(a, b) _gxe_sprite_start(a, b)
  3866. #define gx_sprite_stop(a) _gxe_sprite_stop(a)
  3867. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3868. #define gx_string_scroll_wheel_create(a, b, c, d, e, f, g, h) _gxe_string_scroll_wheel_create(a, b, c, d, e, f, g, h, sizeof(GX_STRING_SCROLL_WHEEL))
  3869. #define gx_string_scroll_wheel_string_list_set _gxe_string_scroll_wheel_string_list_set
  3870. #endif
  3871. #define gx_string_scroll_wheel_create_ext(a, b, c, d, e, f, g, h) _gxe_string_scroll_wheel_create_ext(a, b, c, d, e, f, g, h, sizeof(GX_STRING_SCROLL_WHEEL))
  3872. #define gx_string_scroll_wheel_string_id_list_set _gxe_string_scroll_wheel_string_id_list_set
  3873. #define gx_string_scroll_wheel_string_list_set_ext _gxe_string_scroll_wheel_string_list_set_ext
  3874. #define gx_system_active_language_set _gxe_system_active_language_set
  3875. #if (GX_ANIMATION_POOL_SIZE > 0)
  3876. #define gx_system_animation_get _gxe_system_animation_get
  3877. #define gx_system_animation_free _gxe_system_animation_free
  3878. #endif
  3879. #if defined(GX_DYNAMIC_BIDI_TEXT_SUPPORT)
  3880. #define gx_system_bidi_text_enable _gx_system_bidi_text_enable
  3881. #define gx_system_bidi_text_disable _gx_system_bidi_text_disable
  3882. #endif
  3883. #if defined(GX_THAI_GLYPH_SHAPING_SUPPORT)
  3884. #define gx_system_text_render_style_set _gx_system_text_render_style_set
  3885. #endif
  3886. #define gx_system_canvas_refresh _gxe_system_canvas_refresh
  3887. #define gx_system_dirty_mark(a) _gxe_system_dirty_mark((GX_WIDGET *)a);
  3888. #define gx_system_dirty_partial_add(a, b) _gxe_system_dirty_partial_add((GX_WIDGET *)a, b)
  3889. #define gx_system_draw_context_get _gxe_system_draw_context_get
  3890. #define gx_system_event_fold _gxe_system_event_fold
  3891. #define gx_system_event_send _gxe_system_event_send
  3892. #define gx_system_focus_claim(a) _gxe_system_focus_claim((GX_WIDGET *)a)
  3893. #define gx_system_initialize _gxe_system_initialize
  3894. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3895. #define gx_system_language_table_get _gxe_system_language_table_get
  3896. #define gx_system_language_table_set _gxe_system_language_table_set
  3897. #endif
  3898. #define gx_system_memory_allocator_set _gxe_system_memory_allocator_set
  3899. #define gx_system_pen_configure _gxe_system_pen_configure
  3900. #define gx_system_screen_stack_create(a, b) _gxe_system_screen_stack_create(a, b, sizeof(GX_SCREEN_STACK_CONTROL))
  3901. #define gx_system_screen_stack_get _gxe_system_screen_stack_get
  3902. #define gx_system_screen_stack_pop _gxe_system_screen_stack_pop
  3903. #define gx_system_screen_stack_push _gxe_system_screen_stack_push
  3904. #define gx_system_screen_stack_reset _gx_system_screen_stack_reset
  3905. #define gx_system_scroll_appearance_get _gxe_system_scroll_appearance_get
  3906. #define gx_system_scroll_appearance_set _gxe_system_scroll_appearance_set
  3907. #define gx_system_start _gxe_system_start
  3908. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3909. #define gx_system_string_get _gxe_system_string_get
  3910. #define gx_system_string_table_get _gxe_system_string_table_get
  3911. #define gx_system_string_width_get _gxe_system_string_width_get
  3912. #endif
  3913. #define gx_system_string_width_get_ext _gxe_system_string_width_get_ext
  3914. #define gx_system_timer_start(a, b, c, d) _gxe_system_timer_start((GX_WIDGET *)a, b, c, d)
  3915. #define gx_system_timer_stop(a, b) _gxe_system_timer_stop((GX_WIDGET *)a, b)
  3916. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3917. #define gx_system_version_string_get _gxe_system_version_string_get
  3918. #endif
  3919. #define gx_system_version_string_get_ext _gxe_system_version_string_get_ext
  3920. #define gx_system_widget_find _gxe_system_widget_find
  3921. #define gx_text_button_create(a, b, c, d, e, f, g) _gxe_text_button_create(a, b, (GX_WIDGET *)c, d, e, f, g, sizeof(GX_TEXT_BUTTON))
  3922. #define gx_text_button_draw _gx_text_button_draw
  3923. #define gx_text_button_font_set _gxe_text_button_font_set
  3924. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3925. #define gx_text_button_text_color_set(a, b, c) _gxe_text_button_text_color_set((GX_TEXT_BUTTON *)a, b, c, b)
  3926. #else
  3927. #define gx_text_button_text_color_set _gxe_text_button_text_color_set
  3928. #endif
  3929. #define gx_text_button_text_draw _gx_text_button_text_draw
  3930. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3931. #define gx_text_button_text_get _gxe_text_button_text_get
  3932. #endif
  3933. #define gx_text_button_text_get_ext _gxe_text_button_text_get_ext
  3934. #define gx_text_button_text_id_set _gxe_text_button_text_id_set
  3935. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3936. #define gx_text_button_text_set _gxe_text_button_text_set
  3937. #endif
  3938. #define gx_text_button_text_set_ext _gxe_text_button_text_set_ext
  3939. #define gx_text_input_cursor_blink_interval_set(a, b) _gxe_text_input_cursor_blink_interval_set((GX_TEXT_INPUT_CURSOR *)a, b)
  3940. #define gx_text_input_cursor_height_set(a, b) _gxe_text_input_cursor_height_set((GX_TEXT_INPUT_CURSOR *)a, b)
  3941. #define gx_text_input_cursor_width_set(a, b) _gxe_text_input_cursor_width_set((GX_TEXT_INPUT_CURSOR *)a, b)
  3942. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3943. #define gx_text_scroll_wheel_callback_set(a, b) _gxe_text_scroll_wheel_callback_set((GX_TEXT_SCROLL_WHEEL *)a, (GX_CONST GX_CHAR *(*)(GX_TEXT_SCROLL_WHEEL *, INT)) b)
  3944. #endif
  3945. #define gx_text_scroll_wheel_callback_set_ext(a, b) _gxe_text_scroll_wheel_callback_set_ext((GX_TEXT_SCROLL_WHEEL *)a, (UINT(*)(GX_TEXT_SCROLL_WHEEL *, INT, GX_STRING *)) b)
  3946. #define gx_text_scroll_wheel_font_set(a, b, c) _gxe_text_scroll_wheel_font_set((GX_TEXT_SCROLL_WHEEL *) a, b, c)
  3947. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3948. #define gx_text_scroll_wheel_text_color_set(a, b, c) _gxe_text_scroll_wheel_text_color_set((GX_TEXT_SCROLL_WHEEL *) a, b, c, b)
  3949. #else
  3950. #define gx_text_scroll_wheel_text_color_set(a, b, c, d) _gxe_text_scroll_wheel_text_color_set((GX_TEXT_SCROLL_WHEEL *) a, b, c, d)
  3951. #endif
  3952. #define gx_text_scroll_wheel_create(a, b, c, d, e, f, g) _gxe_text_scroll_wheel_create(a, b, c, d, e, f, g, sizeof(GX_TEXT_SCROLL_WHEEL))
  3953. #define gx_text_scroll_wheel_draw _gx_text_scroll_wheel_draw
  3954. #define gx_utility_gradient_create _gxe_utility_gradient_create
  3955. #define gx_utility_gradient_delete _gxe_utility_gradient_delete
  3956. #define gx_tree_view_create(a, b, c, d, e, f) _gxe_tree_view_create((GX_TREE_VIEW *)a, b, (GX_WIDGET *)c, d, e, f, sizeof(GX_TREE_VIEW))
  3957. #define gx_tree_view_draw _gx_tree_view_draw
  3958. #define gx_tree_view_event_process _gxe_tree_view_event_process
  3959. #define gx_tree_view_indentation_set _gxe_tree_view_indentation_set
  3960. #define gx_tree_view_position _gxe_tree_view_position
  3961. #define gx_tree_view_root_line_color_set _gxe_tree_view_root_line_color_set
  3962. #define gx_tree_view_root_pixelmap_set _gxe_tree_view_root_pixelmap_set
  3963. #define gx_tree_view_selected_get _gxe_tree_view_selected_get
  3964. #define gx_tree_view_selected_set _gxe_tree_view_selected_set
  3965. #define gx_utility_canvas_to_bmp _gxe_utility_canvas_to_bmp
  3966. #define gx_utility_circle_point_get _gxe_utility_circle_point_get
  3967. #define gx_utility_ltoa _gxe_utility_ltoa
  3968. #if defined(GUIX_5_4_0_COMPATIBILITY)
  3969. #define gx_utility_math_acos _gx_utility_math_acos_5_4_0
  3970. #define gx_utility_math_asin _gx_utility_math_asin_5_4_0
  3971. #define gx_utility_math_cos _gx_utility_math_cos_5_4_0
  3972. #define gx_utility_math_sin _gx_utility_math_sin_5_4_0
  3973. #else
  3974. #define gx_utility_math_acos _gx_utility_math_acos
  3975. #define gx_utility_math_asin _gx_utility_math_asin
  3976. #define gx_utility_math_cos _gx_utility_math_cos
  3977. #define gx_utility_math_sin _gx_utility_math_sin
  3978. #endif
  3979. #define gx_utility_math_sqrt _gx_utility_math_sqrt
  3980. #define gx_utility_pixelmap_resize _gxe_utility_pixelmap_resize
  3981. #define gx_utility_pixelmap_rotate _gxe_utility_pixelmap_rotate
  3982. #define gx_utility_pixelmap_simple_rotate _gxe_utility_pixelmap_simple_rotate
  3983. #define gx_utility_rectangle_center _gxe_utility_rectangle_center
  3984. #define gx_utility_rectangle_center_find _gxe_utility_rectangle_center_find
  3985. #define gx_utility_rectangle_combine _gxe_utility_rectangle_combine
  3986. #define gx_utility_rectangle_compare _gxe_utility_rectangle_compare
  3987. #define gx_utility_rectangle_define _gxe_utility_rectangle_define
  3988. #define gx_utility_rectangle_overlap_detect _gxe_utility_rectangle_overlap_detect
  3989. #define gx_utility_rectangle_point_detect _gxe_utility_rectangle_point_detect
  3990. #define gx_utility_rectangle_resize _gxe_utility_rectangle_resize
  3991. #define gx_utility_rectangle_shift _gxe_utility_rectangle_shift
  3992. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  3993. #define gx_utility_string_to_alphamap _gxe_utility_string_to_alphamap
  3994. #endif
  3995. #define gx_utility_string_to_alphamap_ext _gxe_utility_string_to_alphamap_ext
  3996. #define gx_vertical_list_children_position _gxe_vertical_list_children_position
  3997. #define gx_vertical_list_create(a, b, c, d, e, f, g, h) _gxe_vertical_list_create(a, b, (GX_WIDGET *)c, d, e, f, g, h, sizeof(GX_VERTICAL_LIST))
  3998. #define gx_vertical_list_event_process _gxe_vertical_list_event_process
  3999. #define gx_vertical_list_page_index_set(a, b) _gxe_vertical_list_page_index_set((GX_VERTICAL_LIST *)a, b)
  4000. #define gx_vertical_list_selected_index_get(a, b) _gxe_vertical_list_selected_index_get(a, b)
  4001. #define gx_vertical_list_selected_set(a, b) _gxe_vertical_list_selected_set(a, b)
  4002. #define gx_vertical_list_selected_widget_get(a, b) _gxe_vertical_list_selected_widget_get(a, (GX_WIDGET **)b)
  4003. #define gx_vertical_list_total_rows_set(a, b) _gxe_vertical_list_total_rows_set((GX_VERTICAL_LIST *)a, b)
  4004. #define gx_vertical_scrollbar_create(a, b, c, d, e) _gxe_vertical_scrollbar_create(a, b, (GX_WINDOW *)c, d, e, sizeof(GX_SCROLLBAR))
  4005. #define gx_widget_allocate(a, b) _gxe_widget_allocate((GX_WIDGET **)a, b)
  4006. #define gx_widget_attach(a, b) _gxe_widget_attach((GX_WIDGET *)a, (GX_WIDGET *)b)
  4007. #define gx_widget_back_attach(a, b) _gxe_widget_back_attach((GX_WIDGET *)a, (GX_WIDGET *)b)
  4008. #define gx_widget_back_move(a, b) _gxe_widget_back_move((GX_WIDGET *)a, b)
  4009. #define gx_widget_background_draw(a) _gx_widget_background_draw((GX_WIDGET *)a)
  4010. #define gx_widget_block_move(a, b, c, d) _gxe_widget_block_move((GX_WIDGET *)a, b, c, d)
  4011. #define gx_widget_border_draw(a, b, c, d, e) _gx_widget_border_draw((GX_WIDGET *)a, b, c, d, e)
  4012. #define gx_widget_border_style_set(a, b) _gxe_widget_border_style_set((GX_WIDGET *)a, b)
  4013. #define gx_widget_border_width_get(a, b) _gxe_widget_border_width_get((GX_WIDGET *)a, b)
  4014. #define gx_widget_canvas_get(a, b) _gxe_widget_canvas_get((GX_WIDGET *)a, b)
  4015. #define gx_widget_child_detect(a, b, c) _gxe_widget_child_detect((GX_WIDGET *)a, b, c)
  4016. #define gx_widget_children_draw(a) _gx_widget_children_draw((GX_WIDGET *)a)
  4017. #define gx_widget_color_get(a, b, c) _gxe_widget_color_get((GX_WIDGET *)a, b, c)
  4018. #define gx_widget_client_get(a, b, c) _gxe_widget_client_get((GX_WIDGET *)a, b, c)
  4019. #define gx_widget_create(a, b, c, d, e, f) _gxe_widget_create((GX_WIDGET *)a, b, (GX_WIDGET *)c, d, e, f, sizeof(GX_WIDGET))
  4020. #define gx_widget_created_test(a, b) _gxe_widget_created_test((GX_WIDGET *)a, b)
  4021. #define gx_widget_delete(a) _gxe_widget_delete((GX_WIDGET *)a)
  4022. #define gx_widget_detach(a) _gxe_widget_detach((GX_WIDGET *)a)
  4023. #define gx_widget_draw(a) _gx_widget_draw((GX_WIDGET *)a)
  4024. #define gx_widget_draw_set(a, b) _gxe_widget_draw_set((GX_WIDGET *)a, (void (*)(GX_WIDGET *))b)
  4025. #define gx_widget_event_generate(a, b, c) _gxe_widget_event_generate((GX_WIDGET *)a, b, c)
  4026. #define gx_widget_event_process(a, b) _gxe_widget_event_process((GX_WIDGET *)a, b)
  4027. #define gx_widget_event_process_set(a, b) _gxe_widget_event_process_set((GX_WIDGET *)a, (UINT (*)(GX_WIDGET *, GX_EVENT *)) b)
  4028. #define gx_widget_event_to_parent(a, b) _gxe_widget_event_to_parent((GX_WIDGET *)a, b)
  4029. #if defined(GUIX_5_4_0_COMPATIBILITY)
  4030. #define gx_widget_fill_color_set(a, b, c) _gxe_widget_fill_color_set((GX_WIDGET *)a, b, c, b)
  4031. #else
  4032. #define gx_widget_fill_color_set(a, b, c, d) _gxe_widget_fill_color_set((GX_WIDGET *)a, b, c, d)
  4033. #endif
  4034. #define gx_widget_find(a, b, c, d) _gxe_widget_find((GX_WIDGET *)a, b, c, (GX_WIDGET **)d)
  4035. #define gx_widget_first_child_get(a, b) _gxe_widget_first_child_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  4036. #define gx_widget_focus_next(a) _gxe_widget_focus_next((GX_WIDGET *)a)
  4037. #define gx_widget_focus_previous(a) _gxe_widget_focus_previous((GX_WIDGET *)a)
  4038. #define gx_widget_font_get(a, b, c) _gxe_widget_font_get((GX_WIDGET *)a, b, c)
  4039. #define gx_widget_free(a) _gxe_widget_free((GX_WIDGET *)a)
  4040. #define gx_widget_front_move(a, b) _gxe_widget_front_move((GX_WIDGET *)a, b)
  4041. #define gx_widget_height_get(a, b) _gxe_widget_height_get((GX_WIDGET *)a, b)
  4042. #define gx_widget_hide(a) _gxe_widget_hide((GX_WIDGET *)a)
  4043. #define gx_widget_last_child_get(a, b) _gxe_widget_last_child_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  4044. #define gx_widget_next_sibling_get(a, b) _gxe_widget_next_sibling_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  4045. #define gx_widget_parent_get(a, b) _gxe_widget_parent_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  4046. #define gx_widget_pixelmap_get(a, b, c) _gxe_widget_pixelmap_get((GX_WIDGET *)a, b, c)
  4047. #define gx_widget_previous_sibling_get(a, b) _gxe_widget_previous_sibling_get((GX_WIDGET *) a, (GX_WIDGET **) b)
  4048. #define gx_widget_resize(a, b) _gxe_widget_resize((GX_WIDGET *)a, b)
  4049. #define gx_widget_shift(a, b, c, d) _gxe_widget_shift((GX_WIDGET *)a, b, c, d)
  4050. #define gx_widget_show(a) _gxe_widget_show((GX_WIDGET *)a)
  4051. #define gx_widget_status_add(a, b) _gxe_widget_status_add((GX_WIDGET *)a, b)
  4052. #define gx_widget_status_get(a, b) _gxe_widget_status_get((GX_WIDGET *)a, b)
  4053. #define gx_widget_status_remove(a, b) _gxe_widget_status_remove((GX_WIDGET *)a, b)
  4054. #define gx_widget_status_test(a, b, c) _gxe_widget_status_test((GX_WIDGET *)a, b, c)
  4055. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4056. #define gx_widget_string_get(a, b, c) _gxe_widget_string_get((GX_WIDGET *)a, b, c)
  4057. #endif
  4058. #define gx_widget_string_get_ext(a, b, c) _gxe_widget_string_get_ext((GX_WIDGET *)a, b, c)
  4059. #define gx_widget_style_add(a, b) _gxe_widget_style_add((GX_WIDGET *)a, b)
  4060. #define gx_widget_style_get(a, b) _gxe_widget_style_get((GX_WIDGET *)a, b)
  4061. #define gx_widget_style_remove(a, b) _gxe_widget_style_remove((GX_WIDGET *)a, b)
  4062. #define gx_widget_style_set(a, b) _gxe_widget_style_set((GX_WIDGET *)a, b)
  4063. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4064. #define gx_widget_text_blend(a, b, c, d, e, f, g) _gxe_widget_text_blend((GX_WIDGET *)a, b, c, d, e, f, g)
  4065. #define gx_widget_text_draw(a, b, c, d, e, f) _gx_widget_text_draw((GX_WIDGET *)a, b, c, d, e, f)
  4066. #endif
  4067. #define gx_widget_text_blend_ext(a, b, c, d, e, f, g) _gxe_widget_text_blend_ext((GX_WIDGET *)a, b, c, d, e, f, g)
  4068. #define gx_widget_text_draw_ext(a, b, c, d, e, f) _gx_widget_text_draw_ext((GX_WIDGET *)a, b, c, d, e, f)
  4069. #define gx_widget_text_id_draw(a, b, c, d, e, f) _gx_widget_text_id_draw((GX_WIDGET *)a, b, c, d, e, f)
  4070. #define gx_widget_top_visible_child_find(a, b) _gxe_widget_top_visible_child_find((GX_WIDGET *) a, (GX_WIDGET **) b)
  4071. #define gx_widget_type_find(a, b, c) _gxe_widget_type_find((GX_WIDGET *)a, b, (GX_WIDGET **)c)
  4072. #define gx_widget_width_get(a, b) _gxe_widget_width_get((GX_WIDGET *)a, b)
  4073. #define gx_window_background_draw _gx_window_background_draw
  4074. #define gx_window_client_height_get _gxe_window_client_height_get
  4075. #define gx_window_client_scroll _gxe_window_client_scroll
  4076. #define gx_window_client_width_get _gxe_window_client_width_get
  4077. #define gx_window_close _gxe_window_close
  4078. #define gx_window_create(a, b, c, d, e, f) _gxe_window_create(a, b, (GX_WIDGET *)c, d, e, f, sizeof(GX_WINDOW))
  4079. #define gx_window_draw _gx_window_draw
  4080. #define gx_window_event_process _gxe_window_event_process
  4081. #define gx_window_execute _gxe_window_execute
  4082. #define gx_window_root_create(a, b, c, d, e, f) _gxe_window_root_create(a, b, c, d, e, f, sizeof(GX_WINDOW_ROOT))
  4083. #define gx_window_root_delete _gxe_window_root_delete
  4084. #define gx_window_root_event_process _gxe_window_root_event_process
  4085. #define gx_window_root_find _gxe_window_root_find
  4086. #define gx_window_scroll_info_get _gxe_window_scroll_info_get
  4087. #define gx_window_scrollbar_find _gxe_window_scrollbar_find
  4088. #define gx_window_wallpaper_get _gxe_window_wallpaper_get
  4089. #define gx_window_wallpaper_set(a, b, c) _gxe_window_wallpaper_set((GX_WINDOW *)a, b, c)
  4090. /* Define the error checking function prototypes of the GUIX API. */
  4091. UINT _gxe_accordion_menu_create(GX_ACCORDION_MENU *accordion, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4092. ULONG style, USHORT accordion_menu_id, GX_CONST GX_RECTANGLE *size, UINT control_block_size);
  4093. VOID _gx_accordion_menu_draw(GX_ACCORDION_MENU *menu);
  4094. UINT _gxe_accordion_menu_event_process(GX_ACCORDION_MENU *accordion, GX_EVENT *event_ptr);
  4095. UINT _gxe_accordion_menu_position(GX_ACCORDION_MENU *accordion);
  4096. UINT _gxe_animation_canvas_define(GX_ANIMATION *animation, GX_CANVAS *canvas);
  4097. UINT _gxe_animation_create(GX_ANIMATION *animation);
  4098. UINT _gxe_animation_drag_disable(GX_ANIMATION *animation, GX_WIDGET *widget);
  4099. UINT _gxe_animation_drag_enable(GX_ANIMATION *animation, GX_WIDGET *widget, GX_ANIMATION_INFO *info);
  4100. UINT _gxe_animation_landing_speed_set(GX_ANIMATION *animation, USHORT shift_per_step);
  4101. UINT _gxe_animation_start(GX_ANIMATION *animation, GX_ANIMATION_INFO *info);
  4102. UINT _gxe_animation_stop(GX_ANIMATION *animation);
  4103. UINT _gxe_binres_language_count_get(GX_UBYTE *root_address, GX_VALUE *put_count);
  4104. UINT _gxe_binres_language_info_load(GX_UBYTE *root_address, GX_LANGUAGE_HEADER *put_info);
  4105. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4106. UINT _gxe_binres_language_table_load(GX_UBYTE *root_address, GX_UBYTE ****returned_language_table);
  4107. #endif
  4108. UINT _gxe_binres_language_table_load_ext(GX_UBYTE* root_address, GX_STRING*** returned_language_table);
  4109. UINT _gxe_binres_theme_load(GX_UBYTE *root_address, INT theme_id, GX_THEME **returned_theme);
  4110. UINT _gxe_brush_default(GX_BRUSH *brush);
  4111. UINT _gxe_brush_define(GX_BRUSH *brush, GX_COLOR line_color, GX_COLOR fill_color, UINT style);
  4112. VOID _gx_button_background_draw(GX_BUTTON *button);
  4113. UINT _gxe_button_create(GX_BUTTON *button,
  4114. GX_CONST GX_CHAR *name,
  4115. GX_WIDGET *parent,
  4116. ULONG style, USHORT Id,
  4117. GX_CONST GX_RECTANGLE *size,
  4118. UINT button_control_block_size);
  4119. UINT _gxe_button_deselect(GX_BUTTON *button, GX_BOOL gen_event);
  4120. VOID _gx_button_draw(GX_BUTTON *button);
  4121. UINT _gxe_button_event_process(GX_BUTTON *button, GX_EVENT *event_ptr);
  4122. UINT _gxe_button_select(GX_BUTTON *button);
  4123. UINT _gxe_canvas_alpha_set(GX_CANVAS *canvas, GX_UBYTE alpha);
  4124. UINT _gxe_canvas_arc_draw(INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  4125. UINT _gxe_canvas_block_move(GX_RECTANGLE *block, GX_VALUE x_shift, GX_VALUE y_shift, GX_RECTANGLE *dirty);
  4126. UINT _gxe_canvas_circle_draw(INT xcenter, INT ycenter, UINT r);
  4127. UINT _gxe_canvas_create(GX_CANVAS *canvas, GX_CONST GX_CHAR *name,
  4128. GX_DISPLAY *display, UINT type, UINT width, UINT height, GX_COLOR *memory_area,
  4129. ULONG memory_size, UINT canvas_control_block_size);
  4130. UINT _gxe_canvas_delete(GX_CANVAS *canvas);
  4131. UINT _gxe_canvas_drawing_complete(GX_CANVAS *canvas, GX_BOOL Flush);
  4132. UINT _gxe_canvas_drawing_initiate(GX_CANVAS *canvas, GX_WIDGET *who, GX_RECTANGLE *dirty_area);
  4133. UINT _gxe_canvas_ellipse_draw(INT xcenter, INT ycenter, INT a, INT b);
  4134. UINT _gxe_canvas_hardware_layer_bind(GX_CANVAS *canvas, INT layer);
  4135. UINT _gxe_canvas_hide(GX_CANVAS *canvas);
  4136. UINT _gxe_canvas_line_draw(GX_VALUE x_start, GX_VALUE y_start, GX_VALUE x_end, GX_VALUE y_end);
  4137. UINT _gxe_canvas_memory_define(GX_CANVAS *canvas, GX_COLOR *memory, ULONG memsize);
  4138. #if defined (GX_MOUSE_SUPPORT)
  4139. UINT _gxe_canvas_mouse_define(GX_CANVAS *canvas, GX_MOUSE_CURSOR_INFO *info);
  4140. UINT _gxe_canvas_mouse_hide(GX_CANVAS *canvas);
  4141. UINT _gxe_canvas_mouse_show(GX_CANVAS *canvas);
  4142. #endif
  4143. UINT _gxe_canvas_offset_set(GX_CANVAS *canvas, GX_VALUE x, GX_VALUE y);
  4144. UINT _gxe_canvas_pie_draw(INT xcenter, INT ycenter, UINT r, INT start_angle, INT end_angle);
  4145. UINT _gxe_canvas_pixel_draw(GX_POINT position);
  4146. UINT _gxe_canvas_pixelmap_blend(GX_VALUE x_position, GX_VALUE y_position, GX_PIXELMAP *pixelmap, GX_UBYTE alpha);
  4147. UINT _gxe_canvas_pixelmap_draw(GX_VALUE x_position, GX_VALUE y_position, GX_PIXELMAP *pixelmap);
  4148. UINT _gxe_canvas_pixelmap_get(GX_PIXELMAP *pixelmap);
  4149. UINT _gxe_canvas_pixelmap_rotate(GX_VALUE x_position, GX_VALUE y_position, GX_PIXELMAP *pixelmap,
  4150. INT angle, INT rot_cx, INT rot_cy);
  4151. UINT _gxe_canvas_pixelmap_tile(GX_RECTANGLE *fill, GX_PIXELMAP *pixelmap);
  4152. UINT _gxe_canvas_polygon_draw(GX_POINT *point_array, INT number_of_points);
  4153. UINT _gxe_canvas_rectangle_draw(GX_RECTANGLE *rectangle);
  4154. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4155. UINT _gxe_canvas_rotated_text_draw(GX_CONST GX_CHAR *text, GX_VALUE xcenter, GX_VALUE ycenter, INT angle);
  4156. #endif
  4157. UINT _gxe_canvas_rotated_text_draw_ext(GX_CONST GX_STRING* text, GX_VALUE xcenter, GX_VALUE ycenter, INT angle);
  4158. UINT _gxe_canvas_shift(GX_CANVAS *canvas, GX_VALUE x, GX_VALUE y);
  4159. UINT _gxe_canvas_show(GX_CANVAS *canvas);
  4160. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4161. UINT _gxe_canvas_text_draw(GX_VALUE x_start, GX_VALUE y_start, GX_CONST GX_CHAR *string, INT length);
  4162. #endif
  4163. UINT _gxe_canvas_text_draw_ext(GX_VALUE x_start, GX_VALUE y_start, GX_CONST GX_STRING *string);
  4164. UINT _gxe_checkbox_create(GX_CHECKBOX *checkbox, GX_CONST GX_CHAR *name,
  4165. GX_WIDGET *parent, GX_RESOURCE_ID text_id,
  4166. ULONG style, USHORT checkbox_id, GX_CONST GX_RECTANGLE *size,
  4167. UINT checkbox_control_block_size);
  4168. VOID _gx_checkbox_draw(GX_CHECKBOX *checkbox);
  4169. UINT _gxe_checkbox_event_process(GX_CHECKBOX *checkbox, GX_EVENT *event_ptr);
  4170. UINT _gxe_checkbox_pixelmap_set(GX_CHECKBOX *button, GX_RESOURCE_ID unchecked_id, GX_RESOURCE_ID checked_id,
  4171. GX_RESOURCE_ID unchecked_disabled_id, GX_RESOURCE_ID checked_disabled_id);
  4172. UINT _gxe_checkbox_select(GX_CHECKBOX *checkbox);
  4173. UINT _gxe_circular_gauge_angle_get(GX_CIRCULAR_GAUGE *circular_gauge, INT *angle);
  4174. UINT _gxe_circular_gauge_angle_set(GX_CIRCULAR_GAUGE *circular_gauge, INT angle);
  4175. UINT _gxe_circular_gauge_animation_set(GX_CIRCULAR_GAUGE *circular_gauge, INT animation_steps, INT delay);
  4176. VOID _gx_circular_gauge_background_draw(GX_CIRCULAR_GAUGE *gauge);
  4177. UINT _gxe_circular_gauge_create(GX_CIRCULAR_GAUGE *circular_gauge,
  4178. GX_CONST GX_CHAR *name,
  4179. GX_WIDGET *parent,
  4180. GX_CIRCULAR_GAUGE_INFO *circular_gauge_info,
  4181. GX_RESOURCE_ID background,
  4182. ULONG style,
  4183. USHORT circular_gauge_id,
  4184. GX_VALUE xpos, GX_VALUE ypos, UINT checkbox_control_block_size);
  4185. VOID _gx_circular_gauge_draw(GX_CIRCULAR_GAUGE *circular_gauge);
  4186. UINT _gxe_circular_gauge_event_process(GX_CIRCULAR_GAUGE *circular_gauge, GX_EVENT *event_ptr);
  4187. UINT _gxe_context_brush_default(GX_DRAW_CONTEXT *context);
  4188. UINT _gxe_context_brush_define(GX_RESOURCE_ID line_color_id, GX_RESOURCE_ID fill_color_id, UINT style);
  4189. UINT _gxe_context_brush_get(GX_BRUSH **return_brush);
  4190. UINT _gxe_context_brush_pattern_set(ULONG pattern);
  4191. UINT _gxe_context_brush_set(GX_BRUSH *brush);
  4192. UINT _gxe_context_brush_style_set(UINT style);
  4193. UINT _gxe_context_brush_width_set(UINT width);
  4194. UINT _gxe_context_color_get(GX_RESOURCE_ID color_id, GX_COLOR *return_color);
  4195. UINT _gxe_context_fill_color_set(GX_RESOURCE_ID fill_color_id);
  4196. UINT _gxe_context_font_get(GX_RESOURCE_ID font_id, GX_FONT **return_font);
  4197. UINT _gxe_context_font_set(GX_RESOURCE_ID font_id);
  4198. UINT _gxe_context_line_color_set(GX_RESOURCE_ID line_color_id);
  4199. UINT _gxe_context_pixelmap_get(GX_RESOURCE_ID resource_id, GX_PIXELMAP **return_pixelmap);
  4200. UINT _gxe_context_pixelmap_set(GX_RESOURCE_ID pixelmap_id);
  4201. UINT _gxe_context_raw_brush_define(GX_COLOR line_color, GX_COLOR fill_color, UINT style);
  4202. UINT _gxe_context_raw_fill_color_set(GX_COLOR line_color);
  4203. UINT _gxe_context_raw_line_color_set(GX_COLOR line_color);
  4204. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4205. UINT _gxe_context_string_get(GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  4206. #endif
  4207. UINT _gxe_context_string_get_ext(GX_RESOURCE_ID string_id, GX_STRING *return_string);
  4208. UINT _gxe_display_active_language_set(GX_DISPLAY *display, GX_UBYTE language);
  4209. UINT _gxe_display_color_set(GX_DISPLAY *display, GX_RESOURCE_ID resource_id, GX_COLOR new_color);
  4210. UINT _gxe_display_color_table_set(GX_DISPLAY *display, GX_COLOR *color_table, INT number_of_colors);
  4211. UINT _gxe_display_create(GX_DISPLAY *display, GX_CONST GX_CHAR *name, UINT (*display_driver_setup)(GX_DISPLAY *),
  4212. GX_VALUE width, GX_VALUE height, UINT display_control_block_size);
  4213. UINT _gxe_display_delete(GX_DISPLAY *display, VOID (*display_driver_cleanup)(GX_DISPLAY *));
  4214. UINT _gxe_display_font_table_set(GX_DISPLAY *display, GX_FONT **font_table, UINT number_of_fonts);
  4215. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4216. UINT _gxe_display_language_table_get(GX_DISPLAY *display, GX_CHAR ****table, GX_UBYTE *language_count, UINT *string_count);
  4217. UINT _gxe_display_language_table_set(GX_DISPLAY *display, GX_CHAR ***table, GX_UBYTE num_languages, UINT number_of_strings);
  4218. #endif
  4219. UINT _gxe_display_language_table_get_ext(GX_DISPLAY *display, GX_STRING ***table, GX_UBYTE *language_count, UINT *string_count);
  4220. UINT _gxe_display_language_table_set_ext(GX_DISPLAY *display, GX_CONST GX_STRING **table, GX_UBYTE num_languages, UINT number_of_strings);
  4221. UINT _gxe_display_pixelmap_table_set(GX_DISPLAY *display, GX_PIXELMAP **pixelmap_table, UINT number_of_pixelmaps);
  4222. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4223. UINT _gxe_display_string_get(GX_DISPLAY *display, GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  4224. UINT _gxe_display_string_table_get(GX_DISPLAY* display, GX_UBYTE language, GX_CHAR*** table, UINT* size);
  4225. #endif
  4226. UINT _gxe_display_string_get_ext(GX_DISPLAY* display, GX_RESOURCE_ID string_id, GX_STRING *return_string);
  4227. UINT _gxe_display_string_table_get_ext(GX_DISPLAY *display, GX_UBYTE language, GX_STRING **table, UINT *size);
  4228. UINT _gxe_display_theme_install(GX_DISPLAY *display, GX_CONST GX_THEME *theme_ptr);
  4229. UINT _gxe_drop_list_close(GX_DROP_LIST *drop_list);
  4230. UINT _gxe_drop_list_create(GX_DROP_LIST *drop_list, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4231. INT total_rows, INT open_height,
  4232. VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT),
  4233. ULONG style, USHORT drop_list_id, GX_CONST GX_RECTANGLE *size, UINT drop_list_control_block_size);
  4234. UINT _gxe_drop_list_event_process(GX_DROP_LIST *list, GX_EVENT *event_ptr);
  4235. UINT _gxe_drop_list_open(GX_DROP_LIST *list);
  4236. UINT _gxe_drop_list_pixelmap_set(GX_DROP_LIST *drop_list, GX_RESOURCE_ID pixelmap_id);
  4237. UINT _gxe_drop_list_popup_get(GX_DROP_LIST *box, GX_VERTICAL_LIST **return_list);
  4238. UINT _gxe_horizontal_list_children_position(GX_HORIZONTAL_LIST *horizontal_list);
  4239. UINT _gxe_horizontal_list_create(GX_HORIZONTAL_LIST *horizontal_list, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4240. INT total_columns, VOID (*callback)(GX_HORIZONTAL_LIST *, GX_WIDGET *, INT),
  4241. ULONG style, USHORT horizontal_list_id,
  4242. GX_CONST GX_RECTANGLE *size, UINT horizontal_list_control_block_size);
  4243. UINT _gxe_horizontal_list_event_process(GX_HORIZONTAL_LIST *list, GX_EVENT *event_ptr);
  4244. UINT _gxe_horizontal_list_page_index_set(GX_HORIZONTAL_LIST *horizontal_list, INT list_entry);
  4245. UINT _gxe_horizontal_list_selected_index_get(GX_HORIZONTAL_LIST *horizontal_list, INT *return_index);
  4246. UINT _gxe_horizontal_list_selected_set(GX_HORIZONTAL_LIST *horizontal_list, INT index);
  4247. UINT _gxe_horizontal_list_selected_widget_get(GX_HORIZONTAL_LIST *horizontal_list, GX_WIDGET **return_list_entry);
  4248. UINT _gxe_horizontal_list_total_columns_set(GX_HORIZONTAL_LIST *horizontal_list, INT count);
  4249. UINT _gxe_horizontal_scrollbar_create(GX_SCROLLBAR *scrollbar, GX_CONST GX_CHAR *name, GX_WINDOW *parent,
  4250. GX_SCROLLBAR_APPEARANCE *appearance, ULONG style, UINT scrollbar_control_block_size);
  4251. VOID _gx_icon_background_draw(GX_ICON *icon);
  4252. UINT _gxe_icon_button_create(GX_ICON_BUTTON *button, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4253. GX_RESOURCE_ID icon_id, ULONG style, USHORT icon_button_id,
  4254. GX_CONST GX_RECTANGLE *size, UINT button_control_block_size);
  4255. VOID _gx_icon_button_draw(GX_ICON_BUTTON *button);
  4256. UINT _gxe_icon_button_pixelmap_set(GX_ICON_BUTTON *button, GX_RESOURCE_ID icon_id);
  4257. UINT _gxe_icon_create(GX_ICON *icon, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4258. GX_RESOURCE_ID pixelmap_id, ULONG style, USHORT icon_id,
  4259. GX_VALUE x, GX_VALUE y, UINT icon_control_block_size);
  4260. VOID _gx_icon_draw(GX_ICON *icon);
  4261. UINT _gxe_icon_event_process(GX_ICON *icon, GX_EVENT *event_ptr);
  4262. UINT _gxe_icon_pixelmap_set(GX_ICON *icon, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id);
  4263. UINT _gxe_image_reader_create(GX_IMAGE_READER *image_reader,
  4264. GX_CONST GX_UBYTE *read_data,
  4265. INT read_data_size,
  4266. GX_UBYTE color_format,
  4267. GX_UBYTE mode);
  4268. UINT _gxe_image_reader_palette_set(GX_IMAGE_READER *image_reader, GX_COLOR *pal, UINT palsize);
  4269. UINT _gxe_image_reader_start(GX_IMAGE_READER *image_reader, GX_PIXELMAP *outmap);
  4270. VOID _gx_line_chart_axis_draw(GX_LINE_CHART *chart);
  4271. UINT _gxe_line_chart_create(GX_LINE_CHART *chart,
  4272. GX_CONST GX_CHAR *name,
  4273. GX_WIDGET *parent,
  4274. GX_CONST GX_LINE_CHART_INFO *info,
  4275. ULONG style,
  4276. USHORT chart_id,
  4277. GX_CONST GX_RECTANGLE *size,
  4278. UINT chart_control_block_size);
  4279. VOID _gx_line_chart_data_draw(GX_LINE_CHART *chart);
  4280. VOID _gx_line_chart_draw(GX_LINE_CHART *chart);
  4281. UINT _gxe_line_chart_update(GX_LINE_CHART *chart, INT *data, INT data_count);
  4282. UINT _gxe_line_chart_y_scale_calculate(GX_LINE_CHART *chart, INT *return_val);
  4283. UINT _gxe_menu_create(GX_MENU *menu, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4284. GX_RESOURCE_ID text_id, GX_RESOURCE_ID fill_id,
  4285. ULONG style, USHORT menu_id, GX_CONST GX_RECTANGLE *size, UINT control_block_size);
  4286. VOID _gx_menu_draw(GX_MENU *menu);
  4287. UINT _gxe_menu_insert(GX_MENU *menu, GX_WIDGET *widget);
  4288. UINT _gxe_menu_remove(GX_MENU *menu, GX_WIDGET *widget);
  4289. VOID _gx_menu_text_draw(GX_MENU *menu);
  4290. UINT _gxe_menu_text_offset_set(GX_MENU *menu, GX_VALUE x_offset, GX_VALUE y_offset);
  4291. UINT _gxe_multi_line_text_button_create(GX_MULTI_LINE_TEXT_BUTTON *button, GX_CONST GX_CHAR *name,
  4292. GX_WIDGET *parent, GX_RESOURCE_ID text_id, ULONG style, USHORT Id,
  4293. GX_CONST GX_RECTANGLE *size, UINT control_block_size);
  4294. VOID _gx_multi_line_text_button_draw(GX_MULTI_LINE_TEXT_BUTTON *button);
  4295. UINT _gxe_multi_line_text_button_event_process(GX_MULTI_LINE_TEXT_BUTTON *button, GX_EVENT *event_ptr);
  4296. VOID _gx_multi_line_text_button_text_draw(GX_MULTI_LINE_TEXT_BUTTON *button);
  4297. UINT _gxe_multi_line_text_button_text_id_set(GX_MULTI_LINE_TEXT_BUTTON *button, GX_RESOURCE_ID string_id);
  4298. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4299. UINT _gxe_multi_line_text_button_text_set(GX_MULTI_LINE_TEXT_BUTTON *button, GX_CONST GX_CHAR *text);
  4300. #endif
  4301. UINT _gxe_multi_line_text_button_text_set_ext(GX_MULTI_LINE_TEXT_BUTTON* button, GX_CONST GX_STRING* text);
  4302. UINT _gxe_multi_line_text_input_backspace(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4303. UINT _gxe_multi_line_text_input_buffer_clear(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr);
  4304. UINT _gxe_multi_line_text_input_buffer_get(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, GX_CHAR **buffer_address,
  4305. UINT *content_size, UINT *buffer_size);
  4306. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4307. UINT _gxe_multi_line_text_input_char_insert(GX_MULTI_LINE_TEXT_INPUT *text_input, GX_UBYTE *str, UINT str_size);
  4308. #endif
  4309. UINT _gxe_multi_line_text_input_char_insert_ext(GX_MULTI_LINE_TEXT_INPUT* text_input, GX_CONST GX_STRING* str);
  4310. UINT _gxe_multi_line_text_input_create(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, GX_CONST GX_CHAR *name_ptr,
  4311. GX_WIDGET *parent, GX_CHAR *input_buffer, UINT buffer_size,
  4312. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size,
  4313. UINT text_input_control_block_size);
  4314. UINT _gxe_multi_line_text_input_cursor_pos_get(GX_MULTI_LINE_TEXT_INPUT *input, GX_POINT *cursor_pos);
  4315. UINT _gxe_multi_line_text_input_delete(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4316. UINT _gxe_multi_line_text_input_down_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4317. UINT _gxe_multi_line_text_input_end(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4318. UINT _gxe_multi_line_text_input_event_process(GX_MULTI_LINE_TEXT_INPUT *input, GX_EVENT *event_ptr);
  4319. UINT _gxe_multi_line_text_input_style_add(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, ULONG cursor_type);
  4320. UINT _gxe_multi_line_text_input_style_remove(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, ULONG cursor_type);
  4321. UINT _gxe_multi_line_text_input_style_set(GX_MULTI_LINE_TEXT_INPUT *text_input_ptr, ULONG cursor_type);
  4322. UINT _gxe_multi_line_text_input_fill_color_set(GX_MULTI_LINE_TEXT_INPUT *view,
  4323. GX_RESOURCE_ID normal_color_id,
  4324. GX_RESOURCE_ID selected_color_id,
  4325. GX_RESOURCE_ID disabled_color_id,
  4326. GX_RESOURCE_ID readonly_color_id);
  4327. UINT _gxe_multi_line_text_input_home(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4328. UINT _gxe_multi_line_text_input_left_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4329. UINT _gxe_multi_line_text_input_right_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4330. UINT _gxe_multi_line_text_input_text_color_set(GX_MULTI_LINE_TEXT_INPUT *view,
  4331. GX_RESOURCE_ID normal_color_id,
  4332. GX_RESOURCE_ID selected_color_id,
  4333. GX_RESOURCE_ID disabled_color_id,
  4334. GX_RESOURCE_ID readonly_color_id);
  4335. UINT _gxe_multi_line_text_input_text_select(GX_MULTI_LINE_TEXT_INPUT *input, UINT start_index, UINT end_index);
  4336. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4337. UINT _gxe_multi_line_text_input_text_set(GX_MULTI_LINE_TEXT_INPUT *text_input, GX_CONST GX_CHAR *text);
  4338. #endif
  4339. UINT _gxe_multi_line_text_input_text_set_ext(GX_MULTI_LINE_TEXT_INPUT* text_input, GX_CONST GX_STRING *text);
  4340. UINT _gxe_multi_line_text_input_up_arrow(GX_MULTI_LINE_TEXT_INPUT *text_input);
  4341. UINT _gxe_multi_line_text_view_create(GX_MULTI_LINE_TEXT_VIEW *text_view_ptr, GX_CONST GX_CHAR *name_ptr,
  4342. GX_WIDGET *parent, GX_RESOURCE_ID text_id,
  4343. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size,
  4344. UINT text_view_control_block_size);
  4345. VOID _gx_multi_line_text_view_draw(GX_MULTI_LINE_TEXT_VIEW *view);
  4346. UINT _gxe_multi_line_text_view_event_process(GX_MULTI_LINE_TEXT_VIEW *view, GX_EVENT *event_ptr);
  4347. UINT _gxe_multi_line_text_view_font_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_RESOURCE_ID font_id);
  4348. UINT _gxe_multi_line_text_view_line_space_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_BYTE line_space);
  4349. UINT _gxe_multi_line_text_view_scroll_info_get(GX_MULTI_LINE_TEXT_VIEW *view, ULONG style, GX_SCROLL_INFO *return_scroll_info);
  4350. UINT _gxe_multi_line_text_view_text_color_set(GX_MULTI_LINE_TEXT_VIEW *view,
  4351. GX_RESOURCE_ID normal_color_id,
  4352. GX_RESOURCE_ID selected_color_id,
  4353. GX_RESOURCE_ID disabled_color_id);
  4354. UINT _gxe_multi_line_text_view_text_id_set(GX_MULTI_LINE_TEXT_VIEW *text_view_ptr, GX_RESOURCE_ID text_id);
  4355. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4356. UINT _gxe_multi_line_text_view_text_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_CONST GX_CHAR *text);
  4357. #endif
  4358. UINT _gxe_multi_line_text_view_text_set_ext(GX_MULTI_LINE_TEXT_VIEW *view, GX_CONST GX_STRING *text);
  4359. UINT _gxe_multi_line_text_view_whitespace_set(GX_MULTI_LINE_TEXT_VIEW *view, GX_UBYTE whitespace);
  4360. UINT _gxe_numeric_pixelmap_prompt_create(GX_NUMERIC_PIXELMAP_PROMPT *prompt,
  4361. GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4362. GX_RESOURCE_ID text_id, GX_RESOURCE_ID fill_id,
  4363. ULONG style, USHORT pixelmap_prompt_id,
  4364. GX_CONST GX_RECTANGLE *size,
  4365. UINT control_block_size);
  4366. UINT _gxe_numeric_pixelmap_prompt_format_function_set(GX_NUMERIC_PIXELMAP_PROMPT *prompt, VOID (*format_func)(GX_NUMERIC_PIXELMAP_PROMPT *, INT));
  4367. UINT _gxe_numeric_pixelmap_prompt_value_set(GX_NUMERIC_PIXELMAP_PROMPT *prompt, INT value);
  4368. UINT _gxe_numeric_prompt_create(GX_NUMERIC_PROMPT *prompt, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4369. GX_RESOURCE_ID text_id, ULONG style, USHORT prompt_id, GX_CONST GX_RECTANGLE *size,
  4370. UINT control_block_size);
  4371. UINT _gxe_numeric_prompt_format_function_set(GX_NUMERIC_PROMPT *prompt, VOID (*format_func)(GX_NUMERIC_PROMPT *, INT));
  4372. UINT _gxe_numeric_prompt_value_set(GX_NUMERIC_PROMPT *prompt, INT value);
  4373. UINT _gxe_numeric_scroll_wheel_create(GX_NUMERIC_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4374. INT start_val, INT end_val,
  4375. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size,
  4376. UINT numeric_scroll_control_block_size);
  4377. UINT _gxe_numeric_scroll_wheel_range_set(GX_NUMERIC_SCROLL_WHEEL *wheel, INT start_val, INT end_val);
  4378. UINT _gxe_pixelmap_button_create(GX_PIXELMAP_BUTTON *button, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4379. GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id,
  4380. GX_RESOURCE_ID disabled_id, ULONG style, USHORT pixelmap_button_id,
  4381. GX_CONST GX_RECTANGLE *size, UINT button_control_block_size);
  4382. VOID _gx_pixelmap_button_draw(GX_PIXELMAP_BUTTON *button);
  4383. UINT _gxe_pixelmap_button_event_process(GX_PIXELMAP_BUTTON *button, GX_EVENT *event_ptr);
  4384. UINT _gxe_pixelmap_button_pixelmap_set(GX_PIXELMAP_BUTTON *button, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id,
  4385. GX_RESOURCE_ID disabled_id);
  4386. UINT _gxe_pixelmap_prompt_create(GX_PIXELMAP_PROMPT *prompt, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4387. GX_RESOURCE_ID text_id, GX_RESOURCE_ID normal_pixelmap_id,
  4388. ULONG style, USHORT prompt_id, GX_CONST GX_RECTANGLE *size,
  4389. UINT pixelmap_prompt_control_block_size);
  4390. VOID _gx_pixelmap_prompt_draw(GX_PIXELMAP_PROMPT *prompt);
  4391. UINT _gxe_pixelmap_prompt_pixelmap_set(GX_PIXELMAP_PROMPT *prompt,
  4392. GX_RESOURCE_ID normal_left_id,
  4393. GX_RESOURCE_ID normal_fill_id,
  4394. GX_RESOURCE_ID normal_right_id,
  4395. GX_RESOURCE_ID selected_left_id,
  4396. GX_RESOURCE_ID selected_fill_id,
  4397. GX_RESOURCE_ID selected_right_id);
  4398. UINT _gxe_pixelmap_slider_create(GX_PIXELMAP_SLIDER *slider, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4399. GX_SLIDER_INFO *info,
  4400. GX_PIXELMAP_SLIDER_INFO *pixelmap_info,
  4401. ULONG style, USHORT pixelmap_slider_id, GX_CONST GX_RECTANGLE *size,
  4402. UINT pixelmap_slider_control_block_size);
  4403. VOID _gx_pixelmap_slider_draw(GX_PIXELMAP_SLIDER *slider);
  4404. UINT _gxe_pixelmap_slider_event_process(GX_PIXELMAP_SLIDER *slider, GX_EVENT *event_prt);
  4405. UINT _gxe_pixelmap_slider_pixelmap_set(GX_PIXELMAP_SLIDER *slider, GX_PIXELMAP_SLIDER_INFO *info);
  4406. VOID _gx_progress_bar_background_draw(GX_PROGRESS_BAR *progress_bar);
  4407. UINT _gxe_progress_bar_create(GX_PROGRESS_BAR *progress_bar, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4408. GX_PROGRESS_BAR_INFO *progress_bar_info, ULONG style,
  4409. USHORT progress_bar_id, GX_CONST GX_RECTANGLE *size,
  4410. UINT progress_bar_control_block_size);
  4411. VOID _gx_progress_bar_draw(GX_PROGRESS_BAR *progress_bar);
  4412. UINT _gxe_progress_bar_event_process(GX_PROGRESS_BAR *progress_bar, GX_EVENT *event_ptr);
  4413. UINT _gxe_progress_bar_font_set(GX_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID font_id);
  4414. UINT _gxe_progress_bar_info_set(GX_PROGRESS_BAR *progress_bar, GX_PROGRESS_BAR_INFO *info);
  4415. UINT _gxe_progress_bar_pixelmap_set(GX_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID pixelmap);
  4416. UINT _gxe_progress_bar_range_set(GX_PROGRESS_BAR *progress_bar, INT min_value, INT max_value);
  4417. UINT _gxe_progress_bar_text_color_set(GX_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID normal_text_color_id,
  4418. GX_RESOURCE_ID selected_text_color_id, GX_RESOURCE_ID disabled_text_color_id);
  4419. VOID _gx_progress_bar_text_draw(GX_PROGRESS_BAR *progress_bar);
  4420. UINT _gxe_progress_bar_value_set(GX_PROGRESS_BAR *progress_bar, INT new_value);
  4421. UINT _gxe_prompt_create(GX_PROMPT *prompt, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4422. GX_RESOURCE_ID text_id, ULONG style, USHORT prompt_id,
  4423. GX_CONST GX_RECTANGLE *size, UINT prompt_control_block_size);
  4424. VOID _gx_prompt_draw(GX_PROMPT *prompt);
  4425. UINT _gxe_prompt_font_set(GX_PROMPT *prompt, GX_RESOURCE_ID fontid);
  4426. UINT _gxe_prompt_text_color_set(GX_PROMPT *prompt,
  4427. GX_RESOURCE_ID normal_text_color_id,
  4428. GX_RESOURCE_ID selected_text_color_id,
  4429. GX_RESOURCE_ID disabled_text_color_id);
  4430. VOID _gx_prompt_text_draw(GX_PROMPT *prompt);
  4431. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4432. UINT _gxe_prompt_text_get(GX_PROMPT *prompt, GX_CONST GX_CHAR **return_text);
  4433. #endif
  4434. UINT _gxe_prompt_text_get_ext(GX_PROMPT* prompt, GX_STRING* return_text);
  4435. UINT _gxe_prompt_text_id_set(GX_PROMPT *prompt, GX_RESOURCE_ID string_id);
  4436. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4437. UINT _gxe_prompt_text_set(GX_PROMPT *prompt, GX_CONST GX_CHAR *text);
  4438. #endif
  4439. UINT _gxe_prompt_text_set_ext(GX_PROMPT *prompt, GX_CONST GX_STRING *text);
  4440. UINT _gxe_radial_progress_bar_anchor_set(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_VALUE angle);
  4441. VOID _gx_radial_progress_bar_background_draw(GX_RADIAL_PROGRESS_BAR *progress_bar);
  4442. UINT _gxe_radial_progress_bar_create(GX_RADIAL_PROGRESS_BAR *progress_bar,
  4443. GX_CONST GX_CHAR *name,
  4444. GX_WIDGET *parent,
  4445. GX_RADIAL_PROGRESS_BAR_INFO *progress_bar_info,
  4446. ULONG style,
  4447. USHORT progress_bar_id,
  4448. UINT progress_bar_control_block_size);
  4449. VOID _gx_radial_progress_bar_draw(GX_RADIAL_PROGRESS_BAR *progress_bar);
  4450. UINT _gxe_radial_progress_bar_event_process(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_EVENT *event_ptr);
  4451. UINT _gxe_radial_progress_bar_font_set(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_RESOURCE_ID font_id);
  4452. UINT _gxe_radial_progress_bar_info_set(GX_RADIAL_PROGRESS_BAR *bar, GX_RADIAL_PROGRESS_BAR_INFO *info);
  4453. UINT _gxe_radial_progress_bar_text_color_set(GX_RADIAL_PROGRESS_BAR *progress_bar,
  4454. GX_RESOURCE_ID normal_text_color_id,
  4455. GX_RESOURCE_ID selected_text_color_id,
  4456. GX_RESOURCE_ID disabled_text_color_id);
  4457. VOID _gx_radial_progress_bar_text_draw(GX_RADIAL_PROGRESS_BAR *bar);
  4458. UINT _gxe_radial_progress_bar_value_set(GX_RADIAL_PROGRESS_BAR *progress_bar, GX_VALUE new_value);
  4459. UINT _gxe_radial_slider_anchor_angles_set(GX_RADIAL_SLIDER *slider, GX_VALUE *anchor_angles, USHORT anchor_count);
  4460. UINT _gxe_radial_slider_animation_set(GX_RADIAL_SLIDER *slider, USHORT steps, USHORT delay, USHORT animation_style,
  4461. VOID(*animation_update_callback)(GX_RADIAL_SLIDER *slider));
  4462. UINT _gxe_radial_slider_animation_start(GX_RADIAL_SLIDER *slider, GX_VALUE new_value);
  4463. UINT _gxe_radial_slider_create(GX_RADIAL_SLIDER *slider, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4464. GX_RADIAL_SLIDER_INFO *info, ULONG style, USHORT slider_id, GX_CONST GX_RECTANGLE *size, UINT control_block_size);
  4465. VOID _gx_radial_slider_draw(GX_RADIAL_SLIDER *slider);
  4466. UINT _gxe_radial_slider_event_process(GX_RADIAL_SLIDER *slider, GX_EVENT *event_ptr);
  4467. UINT _gxe_radial_slider_info_get(GX_RADIAL_SLIDER *slider, GX_RADIAL_SLIDER_INFO **info);
  4468. UINT _gxe_radial_slider_info_set(GX_RADIAL_SLIDER *slider, GX_RADIAL_SLIDER_INFO *info);
  4469. UINT _gxe_radial_slider_pixelmap_set(GX_RADIAL_SLIDER *slider, GX_RESOURCE_ID background_pixelmap, GX_RESOURCE_ID needle_pixelmap);
  4470. UINT _gxe_radial_slider_angle_set(GX_RADIAL_SLIDER *slider, GX_VALUE new_angle);
  4471. UINT _gxe_radio_button_create(GX_RADIO_BUTTON *button, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4472. GX_RESOURCE_ID text_id, ULONG style, USHORT radio_button_id,
  4473. GX_CONST GX_RECTANGLE *size, UINT radio_button_control_block_size);
  4474. VOID _gx_radio_button_draw(GX_RADIO_BUTTON *button);
  4475. UINT _gxe_radio_button_pixelmap_set(GX_RADIO_BUTTON *button, GX_RESOURCE_ID unchecked_id, GX_RESOURCE_ID checked_id,
  4476. GX_RESOURCE_ID unchecked_disabled_id, GX_RESOURCE_ID checked_disabled_id);
  4477. UINT _gxe_screen_stack_create(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET **memory, INT size);
  4478. UINT _gxe_screen_stack_pop(GX_SCREEN_STACK_CONTROL *control);
  4479. UINT _gxe_screen_stack_push(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET *screen, GX_WIDGET *new_screen);
  4480. UINT _gxe_screen_stack_reset(GX_SCREEN_STACK_CONTROL *control);
  4481. UINT _gxe_scroll_thumb_create(GX_SCROLL_THUMB *scroll_thumb, GX_SCROLLBAR *parent, ULONG style, UINT scroll_thumb_control_block_size);
  4482. VOID _gx_scroll_thumb_draw(GX_SCROLL_THUMB *scroll_thumb);
  4483. UINT _gxe_scroll_thumb_event_process(GX_SCROLL_THUMB *scroll_thumb, GX_EVENT *event_ptr);
  4484. VOID _gx_scrollbar_draw(GX_SCROLLBAR *scrollbar);
  4485. UINT _gxe_scrollbar_event_process(GX_SCROLLBAR *scrollbar, GX_EVENT *event_ptr);
  4486. UINT _gxe_scrollbar_limit_check(GX_SCROLLBAR *scrollbar);
  4487. UINT _gxe_scrollbar_reset(GX_SCROLLBAR *scrollbar, GX_SCROLL_INFO *info);
  4488. UINT _gxe_scrollbar_value_set(GX_SCROLLBAR *scrollbar, INT value);
  4489. UINT _gxe_scroll_wheel_create(GX_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT total_rows,
  4490. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size, UINT control_block_size);
  4491. UINT _gxe_scroll_wheel_event_process(GX_SCROLL_WHEEL *wheel, GX_EVENT *event_ptr);
  4492. UINT _gxe_scroll_wheel_gradient_alpha_set(GX_SCROLL_WHEEL *wheel, GX_UBYTE start_alpha, GX_UBYTE end_alpha);
  4493. UINT _gxe_scroll_wheel_row_height_set(GX_SCROLL_WHEEL *wheel, GX_VALUE row_height);
  4494. UINT _gxe_scroll_wheel_selected_background_set(GX_SCROLL_WHEEL *wheel, GX_RESOURCE_ID selected_bg);
  4495. UINT _gxe_scroll_wheel_selected_get(GX_SCROLL_WHEEL *wheel, INT *row);
  4496. UINT _gxe_scroll_wheel_selected_set(GX_SCROLL_WHEEL *wheel, INT row);
  4497. UINT _gxe_scroll_wheel_speed_set(GX_SCROLL_WHEEL *wheel, GX_FIXED_VAL start_speed_rate, GX_FIXED_VAL end_speed_rate, GX_VALUE max_steps, GX_VALUE delay);
  4498. UINT _gxe_scroll_wheel_total_rows_set(GX_SCROLL_WHEEL *wheel, INT total_rows);
  4499. UINT _gxe_single_line_text_input_backspace(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4500. UINT _gxe_single_line_text_input_buffer_clear(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4501. UINT _gxe_single_line_text_input_buffer_get(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_CHAR **buffer_address,
  4502. UINT *content_size, UINT *buffer_size);
  4503. UINT _gxe_single_line_text_input_character_delete(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4504. UINT _gxe_single_line_text_input_character_insert(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_UBYTE *str, UINT str_size);
  4505. UINT _gxe_single_line_text_input_create(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr,
  4506. GX_CONST GX_CHAR *name, GX_WIDGET *parent, GX_CHAR *input_buffer,
  4507. UINT buffer_size, UINT style, USHORT text_input_id,
  4508. GX_CONST GX_RECTANGLE *size,
  4509. UINT text_input_control_block_size);
  4510. VOID _gx_single_line_text_input_draw(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4511. UINT _gxe_single_line_text_input_draw_position_get(GX_SINGLE_LINE_TEXT_INPUT *input, GX_VALUE *xpos, GX_VALUE *ypos);
  4512. UINT _gxe_single_line_text_input_end(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4513. UINT _gxe_single_line_text_input_event_process(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_EVENT *event_ptr);
  4514. UINT _gxe_single_line_text_input_home(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4515. UINT _gxe_single_line_text_input_left_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4516. UINT _gxe_single_line_text_input_position_get(GX_SINGLE_LINE_TEXT_INPUT *text_input, INT pixel_position);
  4517. UINT _gxe_single_line_text_input_right_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input);
  4518. UINT _gxe_single_line_text_input_style_add(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style);
  4519. UINT _gxe_single_line_text_input_style_remove(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style);
  4520. UINT _gxe_single_line_text_input_style_set(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style);
  4521. UINT _gxe_single_line_text_input_fill_color_set(GX_SINGLE_LINE_TEXT_INPUT *input,
  4522. GX_RESOURCE_ID normal_color_id,
  4523. GX_RESOURCE_ID selected_color_id,
  4524. GX_RESOURCE_ID disabled_color_id,
  4525. GX_RESOURCE_ID readonly_color_id);
  4526. UINT _gxe_single_line_text_input_text_color_set(GX_SINGLE_LINE_TEXT_INPUT *input,
  4527. GX_RESOURCE_ID normal_color_id,
  4528. GX_RESOURCE_ID selected_color_id,
  4529. GX_RESOURCE_ID disabled_color_id,
  4530. GX_RESOURCE_ID readonly_color_id);
  4531. UINT _gxe_single_line_text_input_text_select(GX_SINGLE_LINE_TEXT_INPUT *input, UINT start_index, UINT end_index);
  4532. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4533. UINT _gxe_single_line_text_input_text_set(GX_SINGLE_LINE_TEXT_INPUT *input, GX_CONST GX_CHAR *text);
  4534. #endif
  4535. UINT _gxe_single_line_text_input_text_set_ext(GX_SINGLE_LINE_TEXT_INPUT *input, GX_CONST GX_STRING *text);
  4536. UINT _gxe_slider_create(GX_SLIDER *slider, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4537. INT tick_count, GX_SLIDER_INFO *slider_info, ULONG style, USHORT slider_id,
  4538. GX_CONST GX_RECTANGLE *size, UINT slider_control_block_size);
  4539. VOID _gx_slider_draw(GX_SLIDER *widget);
  4540. UINT _gxe_slider_event_process(GX_SLIDER *widget, GX_EVENT *event_ptr);
  4541. UINT _gxe_slider_info_set(GX_SLIDER *slider, GX_SLIDER_INFO *info);
  4542. VOID _gx_slider_needle_draw(GX_SLIDER *slider);
  4543. UINT _gxe_slider_needle_position_get(GX_SLIDER *slider, GX_SLIDER_INFO *slider_info, GX_RECTANGLE *return_position);
  4544. VOID _gx_slider_tickmarks_draw(GX_SLIDER *slider);
  4545. UINT _gxe_slider_travel_get(GX_SLIDER *widget, GX_SLIDER_INFO *info, INT *mintravel, INT *maxtravel);
  4546. UINT _gxe_slider_value_calculate(GX_SLIDER *slider, GX_SLIDER_INFO *info, INT new_position);
  4547. UINT _gxe_slider_value_set(GX_SLIDER *slider, GX_SLIDER_INFO *info, INT new_value);
  4548. UINT _gxe_sprite_create(GX_SPRITE *sprite, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4549. GX_SPRITE_FRAME *frame_list, USHORT framecount,
  4550. ULONG style, USHORT sprite_id, GX_CONST GX_RECTANGLE *size, UINT sprite_control_block_size);
  4551. UINT _gxe_sprite_current_frame_set(GX_SPRITE *sprite, USHORT frame);
  4552. UINT _gxe_sprite_frame_list_set(GX_SPRITE *sprite, GX_SPRITE_FRAME *frame_list, USHORT frame_count);
  4553. UINT _gxe_sprite_start(GX_SPRITE *sprite, USHORT start_frame);
  4554. UINT _gxe_sprite_stop(GX_SPRITE *sprite);
  4555. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4556. UINT _gxe_string_scroll_wheel_create(GX_STRING_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT value_count,
  4557. GX_CONST GX_CHAR **string_list,
  4558. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size,
  4559. UINT control_block_size);
  4560. #endif
  4561. UINT _gxe_string_scroll_wheel_create_ext(GX_STRING_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT total_rows,
  4562. GX_CONST GX_STRING *string_list,
  4563. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size,
  4564. UINT control_block_size);
  4565. UINT _gxe_string_scroll_wheel_string_id_list_set(GX_STRING_SCROLL_WHEEL *wheel,
  4566. GX_CONST GX_RESOURCE_ID *string_id_list,
  4567. INT id_count);
  4568. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4569. UINT _gxe_string_scroll_wheel_string_list_set(GX_STRING_SCROLL_WHEEL *wheel,
  4570. GX_CONST GX_CHAR **string_list,
  4571. INT string_count);
  4572. #endif
  4573. UINT _gxe_string_scroll_wheel_string_list_set_ext(GX_STRING_SCROLL_WHEEL* wheel,
  4574. GX_CONST GX_STRING* string_list,
  4575. INT string_count);
  4576. UINT _gxe_system_active_language_set(GX_UBYTE language);
  4577. UINT _gxe_system_animation_get(GX_ANIMATION **animation);
  4578. UINT _gxe_system_animation_free(GX_ANIMATION *animation);
  4579. #if defined(GX_DYNAMIC_BIDI_TEXT_SUPPORT)
  4580. UINT _gx_system_bidi_text_enable(VOID);
  4581. UINT _gx_system_bidi_text_disable(VOID);
  4582. #endif
  4583. #if defined(GX_THAI_GLYPH_SHAPING_SUPPORT)
  4584. UINT _gx_system_text_render_style_set(GX_UBYTE style);
  4585. #endif
  4586. UINT _gxe_system_canvas_refresh(VOID);
  4587. UINT _gxe_system_dirty_mark(GX_WIDGET *widget);
  4588. UINT _gxe_system_dirty_partial_add(GX_WIDGET *widget, GX_RECTANGLE *dirty_area);
  4589. UINT _gxe_system_draw_context_get(GX_DRAW_CONTEXT **current_context);
  4590. UINT _gxe_system_event_fold(GX_EVENT *event_ptr);
  4591. UINT _gxe_system_event_send(GX_EVENT *event_ptr);
  4592. UINT _gxe_system_focus_claim(GX_WIDGET *widget);
  4593. UINT _gxe_system_initialize(VOID);
  4594. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4595. UINT _gxe_system_language_table_get(GX_CHAR ****language_table, GX_UBYTE *language_count, UINT *string_count);
  4596. UINT _gxe_system_language_table_set(GX_CHAR ***language_table, GX_UBYTE number_of_languages, UINT number_of_strings);
  4597. #endif
  4598. UINT _gxe_system_memory_allocator_set(VOID *(*allocate)(ULONG size), VOID (*release)(VOID *));
  4599. UINT _gxe_system_pen_configure(GX_PEN_CONFIGURATION *pen_configuration);
  4600. UINT _gxe_system_screen_stack_create(GX_WIDGET **memory, INT size, UINT control_block_size);
  4601. UINT _gxe_system_screen_stack_get(GX_WIDGET **popped_parent, GX_WIDGET **popped_screen);
  4602. UINT _gxe_system_screen_stack_pop(VOID);
  4603. UINT _gxe_system_screen_stack_push(GX_WIDGET *screen);
  4604. UINT _gx_system_screen_stack_get(GX_WIDGET **popped_parent, GX_WIDGET **popped_screen);
  4605. UINT _gx_system_screen_stack_reset(VOID);
  4606. UINT _gxe_system_scroll_appearance_get(ULONG style, GX_SCROLLBAR_APPEARANCE *return_appearance);
  4607. UINT _gxe_system_scroll_appearance_set(ULONG style, GX_SCROLLBAR_APPEARANCE *appearance);
  4608. UINT _gxe_system_start(VOID);
  4609. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4610. UINT _gxe_system_string_get(GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  4611. UINT _gxe_system_string_table_get(GX_UBYTE language, GX_CHAR ***get_table, UINT *get_size);
  4612. UINT _gxe_system_string_width_get(GX_CONST GX_FONT *font, GX_CONST GX_CHAR *string, INT string_length, GX_VALUE *return_width);
  4613. #endif
  4614. UINT _gxe_system_string_width_get_ext(GX_CONST GX_FONT* font, GX_CONST GX_STRING* string, GX_VALUE* return_width);
  4615. UINT _gxe_system_timer_start(GX_WIDGET *owner, UINT timer_id, UINT initial_ticks, UINT reschedule_ticks);
  4616. UINT _gxe_system_timer_stop(GX_WIDGET *owner, UINT timer_id);
  4617. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4618. UINT _gxe_system_version_string_get(GX_CHAR **return_string);
  4619. #endif
  4620. UINT _gxe_system_version_string_get_ext(GX_STRING* return_string);
  4621. UINT _gxe_system_widget_find(USHORT widget_id, INT search_level, GX_WIDGET **return_search_result);
  4622. UINT _gxe_text_button_create(GX_TEXT_BUTTON *button, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4623. GX_RESOURCE_ID text_id, ULONG style, USHORT Id,
  4624. GX_CONST GX_RECTANGLE *size, UINT text_button_control_block_size);
  4625. VOID _gx_text_button_draw(GX_TEXT_BUTTON *button);
  4626. UINT _gxe_text_button_font_set(GX_TEXT_BUTTON *button, GX_RESOURCE_ID font_id);
  4627. UINT _gxe_text_button_text_color_set(GX_TEXT_BUTTON *_text_button,
  4628. GX_RESOURCE_ID normal_text_color_id,
  4629. GX_RESOURCE_ID selected_text_color_id,
  4630. GX_RESOURCE_ID disabled_text_color_id);
  4631. VOID _gx_text_button_text_draw(GX_TEXT_BUTTON *button);
  4632. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4633. UINT _gxe_text_button_text_get(GX_TEXT_BUTTON *button, GX_CONST GX_CHAR **return_text);
  4634. #endif
  4635. UINT _gxe_text_button_text_get_ext(GX_TEXT_BUTTON* button, GX_STRING* return_text);
  4636. UINT _gxe_text_button_text_id_set(GX_TEXT_BUTTON *button, GX_RESOURCE_ID string_id);
  4637. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4638. UINT _gxe_text_button_text_set(GX_TEXT_BUTTON *button, GX_CONST GX_CHAR *text);
  4639. #endif
  4640. UINT _gxe_text_button_text_set_ext(GX_TEXT_BUTTON *button, GX_CONST GX_STRING *text);
  4641. UINT _gxe_text_input_cursor_blink_interval_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE blink_interval);
  4642. UINT _gxe_text_input_cursor_height_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE height);
  4643. UINT _gxe_text_input_cursor_width_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE width);
  4644. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4645. UINT _gxe_text_scroll_wheel_callback_set(GX_TEXT_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *(*callback)(GX_TEXT_SCROLL_WHEEL *, INT));
  4646. #endif
  4647. UINT _gxe_text_scroll_wheel_callback_set_ext(GX_TEXT_SCROLL_WHEEL* wheel, UINT (*callback)(GX_TEXT_SCROLL_WHEEL*, INT, GX_STRING *));
  4648. UINT _gxe_text_scroll_wheel_font_set(GX_TEXT_SCROLL_WHEEL *wheel, GX_RESOURCE_ID normal_font, GX_RESOURCE_ID selected_font);
  4649. UINT _gxe_text_scroll_wheel_text_color_set(GX_TEXT_SCROLL_WHEEL *wheel, GX_RESOURCE_ID normal_text_color,
  4650. GX_RESOURCE_ID selected_text_color, GX_RESOURCE_ID disabled_text_color);
  4651. UINT _gxe_text_scroll_wheel_create(GX_TEXT_SCROLL_WHEEL *wheel, GX_CONST GX_CHAR *name, GX_WIDGET *parent, INT value_count,
  4652. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size,
  4653. UINT control_block_size);
  4654. VOID _gx_text_scroll_wheel_draw(GX_TEXT_SCROLL_WHEEL *wheel);
  4655. UINT _gxe_tree_view_create(GX_TREE_VIEW *tree, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4656. ULONG style, USHORT tree_id, GX_CONST GX_RECTANGLE *size, UINT control_block_size);
  4657. VOID _gx_tree_view_draw(GX_TREE_VIEW *tree);
  4658. UINT _gxe_tree_view_event_process(GX_TREE_VIEW *tree, GX_EVENT *event_ptr);
  4659. UINT _gxe_tree_view_indentation_set(GX_TREE_VIEW *tree, GX_VALUE indentation);
  4660. UINT _gxe_tree_view_position(GX_TREE_VIEW *tree);
  4661. UINT _gxe_tree_view_root_line_color_set(GX_TREE_VIEW *tree, GX_RESOURCE_ID color);
  4662. UINT _gxe_tree_view_root_pixelmap_set(GX_TREE_VIEW *tree, GX_RESOURCE_ID expand_map_id, GX_RESOURCE_ID collapse_map_id);
  4663. UINT _gxe_tree_view_selected_get(GX_TREE_VIEW *tree, GX_WIDGET **selected);
  4664. UINT _gxe_tree_view_selected_set(GX_TREE_VIEW *tree, GX_WIDGET *selected);
  4665. UINT _gxe_utility_gradient_create(GX_GRADIENT *gradient, GX_VALUE width, GX_VALUE height, UCHAR type, UCHAR alpha_start, UCHAR alpha_end);
  4666. UINT _gxe_utility_gradient_delete(GX_GRADIENT *gradient);
  4667. UINT _gxe_utility_canvas_to_bmp(GX_CANVAS *canvas, GX_RECTANGLE *rect, UINT(*write_data)(GX_UBYTE *byte_data, UINT data_count));
  4668. UINT _gxe_utility_circle_point_get(INT xcenter, INT ycenter, UINT r, INT angle, GX_POINT *point);
  4669. UINT _gxe_utility_ltoa(LONG value, GX_CHAR *return_buffer, UINT return_buffer_size);
  4670. #if defined(GUIX_5_4_0_COMPATIBILITY)
  4671. INT _gx_utility_math_acos_5_4_0(INT x);
  4672. INT _gx_utility_math_asin_5_4_0(INT x);
  4673. INT _gx_utility_math_cos_5_4_0(INT angle);
  4674. INT _gx_utility_math_sin_5_4_0(INT angle);
  4675. #else
  4676. INT _gx_utility_math_acos(GX_FIXED_VAL x);
  4677. INT _gx_utility_math_asin(GX_FIXED_VAL x);
  4678. GX_FIXED_VAL _gx_utility_math_cos(GX_FIXED_VAL angle);
  4679. GX_FIXED_VAL _gx_utility_math_sin(GX_FIXED_VAL angle);
  4680. #endif
  4681. UINT _gx_utility_math_sqrt(UINT n);
  4682. UINT _gxe_utility_pixelmap_resize(GX_PIXELMAP *src, GX_PIXELMAP *destination, INT width, INT height);
  4683. UINT _gxe_utility_pixelmap_rotate(GX_PIXELMAP *src, INT angle, GX_PIXELMAP *destination, INT *rot_cx, INT *rot_cy);
  4684. UINT _gxe_utility_pixelmap_simple_rotate(GX_PIXELMAP *src, INT angle, GX_PIXELMAP *destination, INT *rot_cx, INT *rot_cy);
  4685. UINT _gxe_utility_rectangle_center(GX_RECTANGLE *rectangle, GX_RECTANGLE *within);
  4686. UINT _gxe_utility_rectangle_center_find(GX_RECTANGLE *rectangle, GX_POINT *return_center);
  4687. UINT _gxe_utility_rectangle_combine(GX_RECTANGLE *first_rectangle, GX_RECTANGLE *second_rectangle);
  4688. GX_BOOL _gxe_utility_rectangle_compare(GX_RECTANGLE *first_rectangle, GX_RECTANGLE *second_rectangle);
  4689. UINT _gxe_utility_rectangle_define(GX_RECTANGLE *rectangle, GX_VALUE left, GX_VALUE top, GX_VALUE right, GX_VALUE bottom);
  4690. GX_BOOL _gxe_utility_rectangle_overlap_detect(GX_RECTANGLE *first_rectangle, GX_RECTANGLE *second_rectangle, GX_RECTANGLE *return_overlap_area);
  4691. GX_BOOL _gxe_utility_rectangle_point_detect(GX_RECTANGLE *rectangle, GX_POINT point);
  4692. UINT _gxe_utility_rectangle_resize(GX_RECTANGLE *rectangle, GX_VALUE adjust);
  4693. UINT _gxe_utility_rectangle_shift(GX_RECTANGLE *rectangle, GX_VALUE x_shift, GX_VALUE y_shift);
  4694. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4695. UINT _gxe_utility_string_to_alphamap(GX_CONST GX_CHAR *text, GX_CONST GX_FONT *font, GX_PIXELMAP *textmap);
  4696. #endif
  4697. UINT _gxe_utility_string_to_alphamap_ext(GX_CONST GX_STRING *text, GX_CONST GX_FONT *font, GX_PIXELMAP *textmap);
  4698. UINT _gxe_vertical_list_children_position(GX_VERTICAL_LIST *vertical_list);
  4699. UINT _gxe_vertical_list_create(GX_VERTICAL_LIST *vertical_list, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4700. INT total_rows,
  4701. VOID (*callback)(GX_VERTICAL_LIST *, GX_WIDGET *, INT),
  4702. ULONG style, USHORT vertical_list_id, GX_CONST GX_RECTANGLE *size,
  4703. UINT vertical_list_control_block_size);
  4704. UINT _gxe_vertical_list_event_process(GX_VERTICAL_LIST *list, GX_EVENT *event_ptr);
  4705. UINT _gxe_vertical_list_page_index_set(GX_VERTICAL_LIST *list, INT index);
  4706. UINT _gxe_vertical_list_selected_index_get(GX_VERTICAL_LIST *vertical_list, INT *return_index);
  4707. UINT _gxe_vertical_list_selected_set(GX_VERTICAL_LIST *vertical_list, INT index);
  4708. UINT _gxe_vertical_list_selected_widget_get(GX_VERTICAL_LIST *vertical_list, GX_WIDGET **return_list_entry);
  4709. UINT _gxe_vertical_list_total_rows_set(GX_VERTICAL_LIST *list, INT count);
  4710. UINT _gxe_vertical_scrollbar_create(GX_SCROLLBAR *scrollbar, GX_CONST GX_CHAR *name, GX_WINDOW *parent,
  4711. GX_SCROLLBAR_APPEARANCE *settings,
  4712. ULONG style, UINT scrollbar_control_blcok_size);
  4713. UINT _gxe_widget_allocate(GX_WIDGET **widget, ULONG memsize);
  4714. UINT _gxe_widget_attach(GX_WIDGET *parent, GX_WIDGET *widget);
  4715. UINT _gxe_widget_back_attach(GX_WIDGET *parent, GX_WIDGET *widget);
  4716. UINT _gxe_widget_back_move(GX_WIDGET *widget, GX_BOOL *widget_moved);
  4717. VOID _gx_widget_background_draw(GX_WIDGET *a);
  4718. UINT _gxe_widget_block_move(GX_WIDGET *widget, GX_RECTANGLE *block, INT x_shift, INT y_shift);
  4719. VOID _gx_widget_border_draw(GX_WIDGET* widget, GX_RESOURCE_ID border_color, GX_RESOURCE_ID upper_color, GX_RESOURCE_ID lower_color, GX_BOOL fill);
  4720. UINT _gxe_widget_border_style_set(GX_WIDGET *widget, ULONG Style);
  4721. UINT _gxe_widget_border_width_get(GX_WIDGET *widget, GX_VALUE *return_width);
  4722. UINT _gxe_widget_canvas_get(GX_WIDGET *widget, GX_CANVAS **return_canvas);
  4723. UINT _gxe_widget_color_get(GX_WIDGET *widget, GX_RESOURCE_ID color_id, GX_COLOR *return_color);
  4724. UINT _gxe_widget_child_detect(GX_WIDGET *parent, GX_WIDGET *child, GX_BOOL *return_detect);
  4725. VOID _gx_widget_children_draw(GX_WIDGET *widget);
  4726. UINT _gxe_widget_client_get(GX_WIDGET *widget, GX_VALUE border_width, GX_RECTANGLE *return_size);
  4727. UINT _gxe_widget_create(GX_WIDGET *widget,
  4728. GX_CONST GX_CHAR *name,
  4729. GX_WIDGET *parent,
  4730. ULONG style, USHORT Id,
  4731. GX_CONST GX_RECTANGLE *size,
  4732. UINT widget_block_size);
  4733. UINT _gxe_widget_created_test(GX_WIDGET *widget, GX_BOOL *return_test);
  4734. UINT _gxe_widget_delete(GX_WIDGET *widget);
  4735. UINT _gxe_widget_detach(GX_WIDGET *widget);
  4736. VOID _gx_widget_draw(GX_WIDGET *widget);
  4737. UINT _gxe_widget_draw_set(GX_WIDGET *widget, VOID (*draw_func)(GX_WIDGET *));
  4738. UINT _gxe_widget_event_generate(GX_WIDGET *widget, USHORT event_type, LONG value);
  4739. UINT _gxe_widget_event_process(GX_WIDGET *widget, GX_EVENT *event_ptr);
  4740. UINT _gxe_widget_event_process_set(GX_WIDGET *widget, UINT (*event_processing_function)(GX_WIDGET *, GX_EVENT *));
  4741. UINT _gxe_widget_event_to_parent(GX_WIDGET *widget, GX_EVENT *event_ptr);
  4742. UINT _gxe_widget_fill_color_set(GX_WIDGET *widget, GX_RESOURCE_ID normal_color, GX_RESOURCE_ID selected_color, GX_RESOURCE_ID disabled_color);
  4743. UINT _gxe_widget_find(GX_WIDGET *parent, USHORT widget_id, INT search_depth, GX_WIDGET **return_widget);
  4744. UINT _gxe_widget_first_child_get(GX_WIDGET *parent, GX_WIDGET **child_return);
  4745. UINT _gxe_widget_focus_next(GX_WIDGET *widget);
  4746. UINT _gxe_widget_focus_previous(GX_WIDGET *widget);
  4747. UINT _gxe_widget_font_get(GX_WIDGET *widget, GX_RESOURCE_ID font_id, GX_FONT **return_font);
  4748. UINT _gxe_widget_free(GX_WIDGET *widget);
  4749. UINT _gxe_widget_front_move(GX_WIDGET *widget, GX_BOOL *widget_moved);
  4750. UINT _gxe_widget_height_get(GX_WIDGET *widget, GX_VALUE *return_height);
  4751. UINT _gxe_widget_hide(GX_WIDGET *widget);
  4752. UINT _gxe_widget_last_child_get(GX_WIDGET *parent, GX_WIDGET **child_return);
  4753. UINT _gxe_widget_next_sibling_get(GX_WIDGET *current, GX_WIDGET **sibling_return);
  4754. UINT _gxe_widget_parent_get(GX_WIDGET *current, GX_WIDGET **parent_return);
  4755. UINT _gxe_widget_pixelmap_get(GX_WIDGET *widget, GX_RESOURCE_ID pixelmap_id, GX_PIXELMAP **return_pixelmap);
  4756. UINT _gxe_widget_previous_sibling_get(GX_WIDGET *current, GX_WIDGET **sibling_return);
  4757. UINT _gxe_widget_resize(GX_WIDGET *widget, GX_RECTANGLE *newsize);
  4758. UINT _gxe_widget_shift(GX_WIDGET *widget, GX_VALUE x_shift, GX_VALUE y_shift, GX_BOOL mark_dirty);
  4759. UINT _gxe_widget_show(GX_WIDGET *widget);
  4760. UINT _gxe_widget_status_add(GX_WIDGET *widget, ULONG status);
  4761. UINT _gxe_widget_status_get(GX_WIDGET *widget, ULONG *return_status);
  4762. UINT _gxe_widget_status_remove(GX_WIDGET *widget, ULONG status);
  4763. UINT _gxe_widget_status_test(GX_WIDGET *widget, ULONG status, GX_BOOL *return_test);
  4764. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4765. UINT _gxe_widget_string_get(GX_WIDGET *widget, GX_RESOURCE_ID string_id, GX_CONST GX_CHAR **return_string);
  4766. #endif
  4767. UINT _gxe_widget_string_get_ext(GX_WIDGET* widget, GX_RESOURCE_ID string_id, GX_STRING* return_string);
  4768. UINT _gxe_widget_style_add(GX_WIDGET *widget, ULONG style);
  4769. UINT _gxe_widget_style_get(GX_WIDGET *widget, ULONG *return_style);
  4770. UINT _gxe_widget_style_remove(GX_WIDGET *widget, ULONG style);
  4771. UINT _gxe_widget_style_set(GX_WIDGET *widget, ULONG style);
  4772. #if defined(GX_ENABLE_DEPRECATED_STRING_API)
  4773. UINT _gxe_widget_text_blend(GX_WIDGET *widget, UINT tColor, UINT font_id, GX_CONST GX_CHAR *string,
  4774. INT x_offset, INT y_offset, UCHAR alpha);
  4775. VOID _gx_widget_text_draw(GX_WIDGET* widget, UINT tColor, UINT font_id, GX_CONST GX_CHAR* string,
  4776. INT x_offset, INT y_offset);
  4777. #endif
  4778. UINT _gxe_widget_text_blend_ext(GX_WIDGET *widget, UINT tColor, UINT font_id, GX_CONST GX_STRING *string,
  4779. INT x_offset, INT y_offset, UCHAR alpha);
  4780. VOID _gx_widget_text_draw_ext(GX_WIDGET* widget, UINT tColor, UINT font_id, GX_CONST GX_STRING* string,
  4781. INT x_offset, INT y_offset);
  4782. VOID _gx_widget_text_id_draw(GX_WIDGET *widget, UINT tColor,
  4783. UINT font_id, UINT text_id,
  4784. INT x_offset, INT y_offset);
  4785. UINT _gxe_widget_top_visible_child_find(GX_WIDGET *parent, GX_WIDGET **child_return);
  4786. UINT _gxe_widget_type_find(GX_WIDGET *parent, USHORT widget_type, GX_WIDGET **return_widget);
  4787. UINT _gxe_widget_width_get(GX_WIDGET *widget, GX_VALUE *return_width);
  4788. VOID _gx_window_background_draw(GX_WINDOW *window);
  4789. UINT _gxe_window_client_height_get(GX_WINDOW *window, GX_VALUE *return_height);
  4790. UINT _gxe_window_client_scroll(GX_WINDOW *window, GX_VALUE xscroll, GX_VALUE yscroll);
  4791. UINT _gxe_window_client_width_get(GX_WINDOW *window, GX_VALUE *return_width);
  4792. UINT _gxe_window_close(GX_WINDOW *window);
  4793. UINT _gxe_window_create(GX_WINDOW *window, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
  4794. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size, UINT window_control_block_size);
  4795. VOID _gx_window_draw(GX_WINDOW *window);
  4796. UINT _gxe_window_event_process(GX_WINDOW *window, GX_EVENT *event_ptr);
  4797. UINT _gxe_window_execute(GX_WINDOW *window, ULONG *return_ptr);
  4798. UINT _gxe_window_root_create(GX_WINDOW_ROOT *root_window, GX_CONST GX_CHAR *name, GX_CANVAS *canvas,
  4799. ULONG style, USHORT Id, GX_CONST GX_RECTANGLE *size, UINT root_window_control_block_size);
  4800. UINT _gxe_window_root_delete(GX_WINDOW_ROOT *root_window);
  4801. UINT _gxe_window_root_event_process(GX_WINDOW_ROOT *root, GX_EVENT *event_ptr);
  4802. UINT _gxe_window_root_find(GX_WIDGET *widget, GX_WINDOW_ROOT **return_root_window);
  4803. UINT _gxe_window_scroll_info_get(GX_WINDOW *window, ULONG type, GX_SCROLL_INFO *return_scroll_info);
  4804. UINT _gxe_window_scrollbar_find(GX_WINDOW *window, USHORT type, GX_SCROLLBAR **return_scrollbar);
  4805. UINT _gxe_window_wallpaper_get(GX_WINDOW *window, GX_RESOURCE_ID *return_wallpaper_id);
  4806. UINT _gxe_window_wallpaper_set(GX_WINDOW *window, GX_RESOURCE_ID wallpaper_id, GX_BOOL tile);
  4807. #endif
  4808. #endif
  4809. /* Determine if a C++ compiler is being used. If so, complete the standard
  4810. C conditional started above. */
  4811. #ifdef __cplusplus
  4812. }
  4813. #endif
  4814. #ifdef GX_MULTITHREAD_SUPPORT
  4815. #define GX_ENTER_CRITICAL _gx_system_lock();
  4816. #define GX_EXIT_CRITICAL _gx_system_unlock();
  4817. #else
  4818. #define GX_ENTER_CRITICAL
  4819. #define GX_EXIT_CRITICAL
  4820. #endif
  4821. #ifndef GX_THREADX_BINDING
  4822. /* pull in custom rtos porting header */
  4823. #include <string.h>
  4824. #include <stdlib.h>
  4825. #include "gx_system_rtos_bind.h"
  4826. #endif
  4827. #endif