package Ġorg . gui V ista . gui . widget Ċ Ċ import Ġg lib 2 . FALSE Ċ import Ġg lib 2 . TRUE Ċ import Ġg lib 2 . g pointer Ċ import Ġgtk 3 .* Ċ import Ġkotlinx . c interop . C Function Ċ import Ġkotlinx . c interop . CP o inter Ċ import Ġkotlinx . c interop . reinterpret Ċ import Ġorg . gui V ista . core . connect G Signal Ċ import Ġorg . gui V ista . core . disconnect G Signal Ċ import Ġorg . gui V ista . gui . Adjustment Ċ Ċ public Ġactual Ġinterface ĠRange Ġ: ĠWidget Base Ġ{ ĊĠĠĠ Ġpublic Ġval Ġgtk Range Ptr : ĠC Pointer < Gtk Range >? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk Widget Ptr ?. reinterpret () ĊĊĠĠĠ Ġ/** ĠContains Ġthe Ġcurrent Ġvalue Ġof Ġthis Ġrange Ġobject . Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġadjustment : ĠAdjust ment ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġgtk _ range _ get _ adjust ment ( gtk Range Ptr ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( tmp Ġ!= Ġnull ) ĠAdjust ment ( tmp ) Ġelse Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ adjust ment ( gtk Range Ptr , Ġvalue ?. gtk Adjustment Ptr ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġfill Ġlevel Ġ( e . g . Ġpre buffer ing Ġof Ġa Ġnetwork Ġstream ), Ġwhich Ġis Ġbest Ġdescribed Ġby Ġits Ġmost Ġprom inent Ġuse Ġcase . ĊĠĠĠĠ Ġ* ĠIt Ġis Ġan Ġindicator Ġfor Ġthe Ġamount Ġof Ġpre - buffer ing Ġin Ġa Ġstreaming Ġmedia Ġplayer . ĠIn Ġthat Ġuse Ġcase Ġthe Ġvalue Ġof ĊĠĠĠĠ Ġ* Ġthe Ġrange Ġwould Ġindicate Ġthe Ġcurrent Ġplay Ġposition , Ġand Ġthe Ġfill Ġlevel Ġwould Ġbe Ġthe Ġposition Ġup Ġto Ġwhich Ġthe ĊĠĠĠĠ Ġ* Ġfile / stream Ġhas Ġbeen Ġdownloaded . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġamount Ġof Ġpre Ġbuffer ing Ġcan Ġbe Ġdisplayed Ġon Ġthe Ġrange âĢĻ s Ġt rough Ġand Ġis Ġtheme able Ġseparately Ġfrom Ġthe Ġt rough . ĊĠĠĠĠ Ġ* ĠTo Ġenable Ġfill Ġlevel Ġdisplay Ġuse Ġ` gtk _ range _ set _ show _ fill _ level ()`. ĠThe Ġrange Ġdefaults Ġto Ġnot Ġshowing Ġthe Ġfill ĊĠĠĠĠ Ġ* Ġlevel . ĠAdditionally Ġit âĢĻ s Ġpossible Ġto Ġrestrict Ġthe Ġrange âĢĻ s Ġslider Ġposition Ġto Ġvalues Ġwhich Ġare Ġsmaller Ġthan Ġthe ĊĠĠĠĠ Ġ* Ġfill Ġlevel . ĠThis Ġis Ġcontrolled Ġby Ġ` gtk _ range _ set _ restrict _ to _ fill _ level ()`, Ġand Ġis Ġby Ġdefault Ġenabled . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠDefault Ġvalue Ġis Ġ* 1 . 7 9 7 6 9 e + 3 0 8 *. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġfill Level : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ fill _ level ( gtk Range Ptr ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ fill _ level ( gtk Range Ptr , Ġvalue ) ĊĊĠĠĠ Ġ/** ĠIn vert Ġdirection Ġslider Ġmoves Ġto Ġincrease Ġrange Ġvalue . ĠDefault Ġvalue Ġis Ġ* false *. Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġinverted : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ inverted ( gtk Range Ptr ) Ġ== ĠTRUE ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ inverted ( gtk Range Ptr , Ġif Ġ( value ) ĠTRUE Ġelse ĠFALSE ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsensitivity Ġpolicy Ġfor Ġthe Ġstep per Ġthat Ġpoints Ġto Ġthe Ġadjustment 's Ġlower Ġside . ĠDefault Ġvalue Ġis ĊĠĠĠĠ Ġ* Ġ* Gtk Sensitivity Type . GTK _ S ENS IT IVITY _ AUTO *. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġlower Step per Sensitivity : ĠGtk Sensitivity Type ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ lower _ step per _ s ensitivity ( gtk Range Ptr ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ lower _ step per _ s ensitivity ( gtk Range Ptr , Ġvalue ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠControls Ġwhether Ġslider Ġmovement Ġis Ġrestricted Ġto Ġan Ġupper Ġboundary Ġset Ġby Ġthe Ġfill Ġlevel . ĠDefault Ġvalue Ġis ĊĠĠĠĠ Ġ* Ġ* true *. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġrestrict To Fill Level : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ restrict _ to _ fill _ level ( gtk Range Ptr ) Ġ== ĠTRUE ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ restrict _ to _ fill _ level ( gtk Range Ptr , Ġif Ġ( value ) ĠTRUE Ġelse ĠFALSE ) ĊĊĠĠĠ Ġ/** ĠThe Ġnumber Ġof Ġdigits Ġto Ġround Ġthe Ġvalue Ġto Ġwhen Ġit Ġchanges , Ġor Ġ- 1 . ĠDefault Ġvalue Ġis Ġ* - 1 *. Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġround Digits : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ round _ digits ( gtk Range Ptr ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ>= Ġ- 1 ) Ġgtk _ range _ set _ round _ digits ( gtk Range Ptr , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠControls Ġwhether Ġfill Ġlevel Ġindicator Ġgraphics Ġare Ġdisplayed Ġon Ġthe Ġt rough . ĠDefault Ġvalue Ġis Ġ* false *. Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġshow Fill Level : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ show _ fill _ level ( gtk Range Ptr ) Ġ== ĠTRUE ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ show _ fill _ level ( gtk Range Ptr , Ġif Ġ( value ) ĠTRUE Ġelse ĠFALSE ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsensitivity Ġpolicy Ġfor Ġthe Ġstep per Ġthat Ġpoints Ġto Ġthe Ġadjustment 's Ġupper Ġside . ĠDefault Ġvalue Ġis ĊĠĠĠĠ Ġ* Ġ* Gtk Sensitivity Type . GTK _ S ENS IT IVITY _ AUTO *. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġupper Step per Sensitivity : ĠGtk Sensitivity Type ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġgtk _ range _ get _ upper _ step per _ s ensitivity ( gtk Range Ptr ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġgtk _ range _ set _ upper _ step per _ s ensitivity ( gtk Range Ptr , Ġvalue ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConnect s Ġthe Ġ* adjust - bounds * Ġsignal Ġto Ġa Ġ[ slot ] Ġon Ġa Ġ[ Range ]. ĠThe Ġ* adjust - bounds * Ġsignal Ġis Ġused Ġto Ġgive Ġthe ĊĠĠĠĠ Ġ* Ġapplication Ġa Ġchance Ġto Ġadjust Ġthe Ġbounds . ĊĠĠĠĠ Ġ* Ġ@ param Ġslot ĠThe Ġevent Ġhandler Ġfor Ġthe Ġsignal . ĊĠĠĠĠ Ġ* Ġ@ param ĠuserData ĠUser Ġdata Ġto Ġpass Ġthrough Ġto Ġthe Ġ[ slot ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġconnect Adjust Bounds Signal ( slot : ĠC Pointer < Adjust Bounds Slot >, ĠuserData : Ġg pointer ): ĠU Long Ġ= ĊĠĠĠĠĠĠĠ Ġconnect G Signal ( obj Ġ= Ġgtk Range Ptr , Ġsignal Ġ= Ġ" adjust - bounds ", Ġslot Ġ= Ġslot , Ġdata Ġ= ĠuserData ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConnect s Ġthe Ġ* change - value * Ġsignal Ġto Ġa Ġ[ slot ] Ġon Ġa Ġ[ Range ]. ĠThe Ġ* change - value * Ġsignal Ġis Ġused Ġwhen Ġa Ġscroll ĊĠĠĠĠ Ġ* Ġaction Ġis Ġperformed Ġon Ġa Ġ[ Range ]. ĠIt Ġallows Ġan Ġapplication Ġto Ġdetermine Ġthe Ġtype Ġof Ġscroll Ġevent Ġthat Ġoccurred ĊĠĠĠĠ Ġ* Ġand Ġthe Ġnew Ġvalue . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġapplication Ġcan Ġhandle Ġthe Ġevent Ġitself Ġand Ġreturn Ġ* true * Ġto Ġprevent Ġfurther Ġprocessing , ĊĠĠĠĠ Ġ* Ġor Ġby Ġreturning Ġ* false * Ġit Ġcan Ġpass Ġthe Ġevent Ġto Ġother Ġhandlers Ġuntil Ġthe Ġdefault ĠG TK Ġhandler Ġis Ġreached . ĠThe ĊĠĠĠĠ Ġ* Ġvalue Ġparameter Ġisn 't Ġrounded . ĠAn Ġapplication Ġthat Ġoverrides Ġthe ĠGtk Range :: change - value Ġsignal Ġis Ġresponsible ĊĠĠĠĠ Ġ* Ġfor Ġclamp ing Ġthe Ġvalue Ġto Ġthe Ġdesired Ġnumber Ġof Ġdecimal Ġdigits ; Ġthe Ġdefault ĠG TK Ġhandler Ġclamp s Ġthe Ġvalue Ġbased ĊĠĠĠĠ Ġ* Ġon ĠâĢľ round - digits âĢĿ. ĊĠĠĠĠ Ġ* Ġ@ param Ġslot ĠThe Ġevent Ġhandler Ġfor Ġthe Ġsignal . ĊĠĠĠĠ Ġ* Ġ@ param ĠuserData ĠUser Ġdata Ġto Ġpass Ġthrough Ġto Ġthe Ġ[ slot ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġconnect Change Value Signal ( slot : ĠC Pointer < Change Value Slot >, ĠuserData : Ġg pointer ): ĠU Long Ġ= ĊĠĠĠĠĠĠĠ Ġconnect G Signal ( obj Ġ= Ġgtk Range Ptr , Ġsignal Ġ= Ġ" change - value ", Ġslot Ġ= Ġslot , Ġdata Ġ= ĠuserData ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConnect s Ġthe Ġ* move - slider * Ġsignal Ġto Ġa Ġ[ slot ] Ġon Ġa Ġ[ Range ]. ĠThe Ġ* move - slider * Ġsignal Ġis Ġused Ġfor Ġkey Ġbindings ĊĠĠĠĠ Ġ* Ġwhen Ġa Ġslider Ġmoves . ĊĠĠĠĠ Ġ* Ġ@ param Ġslot ĠThe Ġevent Ġhandler Ġfor Ġthe Ġsignal . ĊĠĠĠĠ Ġ* Ġ@ param ĠuserData ĠUser Ġdata Ġto Ġpass Ġthrough Ġto Ġthe Ġ[ slot ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġconnect Move Slider Signal ( slot : ĠC Pointer < Move Slider Slot >, ĠuserData : Ġg pointer ): ĠU Long Ġ= ĊĠĠĠĠĠĠĠ Ġconnect G Signal ( obj Ġ= Ġgtk Range Ptr , Ġsignal Ġ= Ġ" move - slider ", Ġslot Ġ= Ġslot , Ġdata Ġ= ĠuserData ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConnect s Ġthe Ġ* value - changed * Ġsignal Ġto Ġa Ġ[ slot ] Ġon Ġa Ġ[ Range ]. ĠThe Ġ* value - changed * Ġsignal Ġis Ġused Ġwhen Ġthe ĊĠĠĠĠ Ġ* Ġrange d Ġvalue Ġchanges . ĊĠĠĠĠ Ġ* Ġ@ param Ġslot ĠThe Ġevent Ġhandler Ġfor Ġthe Ġsignal . ĊĠĠĠĠ Ġ* Ġ@ param ĠuserData ĠUser Ġdata Ġto Ġpass Ġthrough Ġto Ġthe Ġ[ slot ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġconnect ValueChanged Signal ( slot : ĠC Pointer < ValueChanged Slot >, ĠuserData : Ġg pointer ): ĠU Long Ġ= ĊĠĠĠĠĠĠĠ Ġconnect G Signal ( obj Ġ= Ġgtk Range Ptr , Ġsignal Ġ= Ġ" value - changed ", Ġslot Ġ= Ġslot , Ġdata Ġ= ĠuserData ) ĊĊĠĠĠ Ġoverride Ġfun Ġdisconnect Signal ( handler Id : ĠU Long ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . disconnect Signal ( handler Id ) ĊĠĠĠĠĠĠĠ Ġdisconnect G Signal ( gtk Range Ptr , Ġhandler Id ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠThe Ġevent Ġhandler Ġfor Ġthe Ġ* adjust - bounds * Ġsignal . ĠArguments : Ċ Ġ* Ġ 1 . Ġrange : ĠC Pointer < Gtk Range > Ċ Ġ* Ġ 2 . Ġvalue : ĠDouble Ċ Ġ* Ġ 3 . ĠuserData : Ġg pointer Ċ Ġ*/ Ċ public Ġtype alias ĠAdjust Bounds Slot Ġ= ĠC Function <( range : ĠC Pointer < Gtk Range >, Ġvalue : ĠDouble , ĠuserData : Ġg pointer ) Ġ-> ĠUnit > Ċ Ċ /** Ċ Ġ* ĠThe Ġevent Ġhandler Ġfor Ġthe Ġ* change - value * Ġsignal . ĠArguments : Ċ Ġ* Ġ 1 . Ġrange : ĠC Pointer < Gtk Range > Ċ Ġ* Ġ 2 . Ġscroll : ĠGtk Scroll Type Ċ Ġ* Ġ 3 . Ġvalue : Ġdouble Ċ Ġ* Ġ 4 . ĠuserData : Ġg pointer Ċ Ġ* Ċ Ġ* ĠReturn Ġ* true * Ġto Ġprevent Ġother Ġhandlers Ġfrom Ġbeing Ġinvoked Ġfor Ġthe Ġsignal , Ġotherwise Ġ* false * Ġto Ġpropagate Ġthe Ċ Ġ* Ġsignal Ġfurther . Ċ Ġ*/ Ċ public Ġtype alias ĠChange Value Slot Ġ= ĠC Function <( range : ĠC Pointer < Gtk Range >, Ġscroll : ĠGtk Scroll Type , Ġvalue : ĠDouble , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserData : Ġg pointer ) Ġ-> ĠBoolean > Ċ Ċ /** Ċ Ġ* ĠThe Ġevent Ġhandler Ġfor Ġthe Ġ* move - slider * Ġsignal . ĠArguments : Ċ Ġ* Ġ 1 . Ġrange : ĠC Pointer < Gtk Range > Ċ Ġ* Ġ 2 . Ġstep : ĠGtk Scroll Type Ċ Ġ* Ġ 3 . ĠuserData : Ġg pointer Ċ Ġ*/ Ċ public Ġtype alias ĠMove Slider Slot Ġ= ĠC Function <( ĊĠĠĠ Ġrange : ĠC Pointer < Gtk Range >, ĊĠĠĠ Ġstep : ĠGtk Scroll Type , ĊĠĠĠ ĠuserData : Ġg pointer Ċ ) Ġ-> ĠUnit > Ċ Ċ /** Ċ Ġ* ĠThe Ġevent Ġhandler Ġfor Ġthe Ġ* value - changed * Ġsignal . ĠArguments : Ċ Ġ* Ġ 1 . Ġrange : ĠC Pointer < Gtk Range > Ċ Ġ* Ġ 2 . ĠuserData : Ġg pointer Ċ Ġ*/ Ċ public Ġtype alias ĠValue Changed Slot Ġ= ĠC Function <( range : ĠC Pointer < Gtk Range >, ĠuserData : Ġg pointer ) Ġ-> ĠUnit > Ċ