Difference between revisions of "Slider"
From uGFX Wiki
(Created page with "A slider is a bar shaped element in which a much smaller bar can be moved from the lowest (0) to the highest (100) value. The text attribute of the slider is displayed in the...") |
|||
Line 3: | Line 3: | ||
== API reference == | == API reference == | ||
The API reference of the slider widget can be found [http://ugfx.org/images/resources/doxygen/master/group___slider.html here]. | The API reference of the slider widget can be found [http://ugfx.org/images/resources/doxygen/master/group___slider.html here]. | ||
+ | |||
+ | == Custom Draw Routines == | ||
+ | The slider widget predefines a number of custom draw routines. They can be set using <code>gwinSetCustomDraw()</code> or by specifying the custom draw routine in the GWidgetInit structure during creation. The predefined custom draw routines are: | ||
+ | {| class="wikitable" | ||
+ | ! scope="col"|Custom Draw Routine | ||
+ | ! scope="col"|Description | ||
+ | |- | ||
+ | |gwinSliderDraw_Std | ||
+ | | The standard slider look. | ||
+ | |- | ||
+ | |gwinSliderDraw_Image | ||
+ | | The parameter is an open gdispImage that is tiled to fill the active part of the slider. | ||
+ | |} | ||
== Example == | == Example == |
Revision as of 06:30, 16 August 2014
A slider is a bar shaped element in which a much smaller bar can be moved from the lowest (0) to the highest (100) value. The text attribute of the slider is displayed in the very center of the slider bar.
API reference
The API reference of the slider widget can be found here.
Custom Draw Routines
The slider widget predefines a number of custom draw routines. They can be set using gwinSetCustomDraw()
or by specifying the custom draw routine in the GWidgetInit structure during creation. The predefined custom draw routines are:
Custom Draw Routine | Description |
---|---|
gwinSliderDraw_Std | The standard slider look. |
gwinSliderDraw_Image | The parameter is an open gdispImage that is tiled to fill the active part of the slider. |
Example
The following example shows how to create and use a vertical and a horizontal slider:
#include "gfx.h" static GListener gl; static GHandle ghSlider1, ghSlider2; static void createWidgets(void) { GWidgetInit wi; // Apply some default values for GWIN wi.customDraw = 0; wi.customParam = 0; wi.customStyle = 0; wi.g.show = TRUE; // create Slider1 wi.g.y = 10; wi.g.x = 10; wi.g.width = 200; wi.g.height = 20; wi.text = "S1"; ghSlider1 = gwinSliderCreate(NULL, &wi); // create Slider2 wi.g.y = 40; wi.g.x = 10; wi.g.width = 20; wi.g.height = 200; wi.text = "S2"; ghSlider2 = gwinSliderCreate(NULL, &wi); } int main(void) { GEvent* pe; // Initialize the display gfxInit(); // Set the widget defaults gwinSetDefaultFont(gdispOpenFont("UI2")); gwinSetDefaultStyle(&WhiteWidgetStyle, FALSE); gdispClear(White); // Attach the mouse input gwinAttachMouse(0); // create the widget createWidgets(); // We want to listen for widget events geventListenerInit(&gl); gwinAttachListener(&gl); while(1) { // Get an Event pe = geventEventWait(&gl, TIME_INFINITE); switch(pe->type) { case GEVENT_GWIN_SLIDER: printf("Slider %s = %d\n", gwinGetText(((GEventGWinSlider *)pe)->slider), ((GEventGWinSlider *)pe)->position ); break; default: break; } } return 0; }