{"id":337,"date":"2017-11-23T21:13:15","date_gmt":"2017-11-23T20:13:15","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=337"},"modified":"2017-12-31T01:52:45","modified_gmt":"2017-12-31T00:52:45","slug":"27-simple_gui-library-stm32f429","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/27-simple_gui-library-stm32f429\/","title":{"rendered":"27-Simple_GUI-Library (STM32F429)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/26-lcd_vga-mode-library-stm32f429\/\" title=\"26-LCD_VGA-Mode-Library (STM32F429)\"><span class=\"meta-nav\">\u2190<\/span> 26-LCD_VGA-Mode-Library (STM32F429)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/28-ubasic-library-stm32f429\/\" title=\"28-uBasic-Library (STM32F429)\">28-uBasic-Library (STM32F429) <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p>Diese Library erm\u00f6glicht es eine \u201ceinfache\u201d Graphische Benutzeroberfl\u00e4che<br \/>\nmit dem STM32F429 und einem Grafik-Display (mit Touch) zu realisieren.<\/p>\n<p>Hier ein paar Bilder wie das ganze aussieht :<\/p>\n<div id=\"gallery-1\" class=\"gallery galleryid-4723 gallery-columns-3 gallery-size-thumbnail\">\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_v100\" href=\"wp-content\/uploads\/2015\/02\/sgui_v1001.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_v1001-150x150.jpg\" alt=\"Simple GUI\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Simple GUI<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_text\" href=\"wp-content\/uploads\/2015\/02\/sgui_text1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_text1-150x150.jpg\" alt=\"Texte\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Texte<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_slider\" href=\"wp-content\/uploads\/2015\/02\/sgui_slider1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_slider1-150x150.jpg\" alt=\"Slider\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Slider<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_selectbtn\" href=\"wp-content\/uploads\/2015\/02\/sgui_selectbtn1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_selectbtn1-150x150.jpg\" alt=\"Select-Buttons\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Select-Buttons<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_radiobtn\" href=\"wp-content\/uploads\/2015\/02\/sgui_radiobtn1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_radiobtn1-150x150.jpg\" alt=\"Radio-Buttons\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Radio-Buttons<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_panel\" href=\"wp-content\/uploads\/2015\/02\/sgui_panel1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_panel1-150x150.jpg\" alt=\"Panels\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Panels<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_listbox\" href=\"wp-content\/uploads\/2015\/02\/sgui_listbox1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_listbox1-150x150.jpg\" alt=\"Listbox\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Listbox<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_led\" href=\"wp-content\/uploads\/2015\/02\/sgui_led1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_led1-150x150.jpg\" alt=\"LEDs\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">LEDs<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_label\" href=\"wp-content\/uploads\/2015\/02\/sgui_label1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_label1-150x150.jpg\" alt=\"Label\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Label<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_intedit\" href=\"wp-content\/uploads\/2015\/02\/sgui_intedit1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_intedit1-150x150.jpg\" alt=\"Integer-Edit\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Integer-Edit<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_gauge\" href=\"wp-content\/uploads\/2015\/02\/sgui_gauge1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_gauge1-150x150.jpg\" alt=\"Gauge\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Gauge<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_floatedit\" href=\"wp-content\/uploads\/2015\/02\/sgui_floatedit1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_floatedit1-150x150.jpg\" alt=\"Float-Edit\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Float-Edit<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_dropdwn\" href=\"wp-content\/uploads\/2015\/02\/sgui_dropdwn1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_dropdwn1-150x150.jpg\" alt=\"DropDown-Box\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">DropDown-Box<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_chkbox\" href=\"wp-content\/uploads\/2015\/02\/sgui_chkbox1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_chkbox1-150x150.jpg\" alt=\"Checkbox\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Checkbox<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_btn\" href=\"wp-content\/uploads\/2015\/02\/sgui_btn1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/02\/sgui_btn1-150x150.jpg\" alt=\"Buttons\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Buttons<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_picture\" href=\"wp-content\/uploads\/2015\/04\/sgui_picture.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/04\/sgui_picture-150x150.jpg\" alt=\"Picture\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Picture<\/dd>\n<\/dl>\n<dl class=\"gallery-item\">\n<dt class=\"gallery-icon\"><a title=\"sgui_graph\" href=\"wp-content\/uploads\/2015\/05\/sgui_graph.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-thumbnail\" src=\"wp-content\/uploads\/2015\/05\/sgui_graph-150x150.jpg\" alt=\"Graph\" width=\"150\" height=\"150\" \/><\/a><\/dt>\n<dd class=\"wp-caption-text gallery-caption\">Graph<\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<\/div>\n<p><strong>File-Aufbau :<\/strong><\/p>\n<p>Die SGUI-Library besteht aus mehreren Files.<br \/>\nAls Hierachiebaum sieht das ganze so aus :<\/p>\n<pre>User-Projekt\r\n  |\r\n  +stm32_ub_sgui\r\n    |\r\n    +ub_sgui_screen\r\n    +ub_sgui_window\r\n    +ub_sgui_text\r\n    |\r\n    +ub_sgui_panel\r\n    +ub_sgui_button\r\n    +ub_sgui_led\r\n    +ub_sgui_label\r\n    +ub_sgui_checkbox\r\n    +ub_sgui_gauge\r\n    +ub_sgui_radiobtn<\/pre>\n<p>Wie zu sehen ist, muss der User nur ein File includen \u201cstm32_ub_sgui\u201d<br \/>\nder Rest wird automatisch \u201cangeh\u00e4ngt\u201d<\/p>\n<p>\u201cSGUI_SCREEN\u201d , \u201cSGUI_Window\u201d und \u201cSGUI_Text\u201d muss im Projekt vorhanden sein<br \/>\ndie anderen Objekte (Button, LED usw) k\u00f6nnen falls nicht ben\u00f6tigt<br \/>\nauch weggelassen werden.<\/p>\n<p><strong>Funktionsweise :<\/strong><\/p>\n<p>Der User muss folgende Dinge in seinem Programm einbauen :<br \/>\n1. Die Init-Funktion von SGUI muss als erstes nach Power-On aufgerufen werden<br \/>\n2. Alle Seiten (Windows) die sp\u00e4ter zu sehen sein sollen,<br \/>\nm\u00fcssen einmal \u201cerstellt\u201d werden. (Erkl\u00e4rung folgt)<br \/>\n(das muss bzw. darf nur einmal nach Power-On gemacht werden)<br \/>\n3. Die Funktion \u201cSGUI_DO\u201d muss zyklisch aufgerufen werden<br \/>\n(die k\u00fcmmert sich um das zeichen\/touchabfrage usw)<\/p>\n<p><strong>Hello-World Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">#include \"stm32_ub_sgui.h\"\r\n\r\nint main(void) {\r\n  SBUTTON_t* btn;\r\n\r\n  SystemInit();\r\n\r\n  SGUI_Init();\r\n\r\n  SGUI_WindowCreateMain(1);\r\n  btn=SGUI_ButtonCreate(10,20,100,50);\r\n  SGUI_ButtonSetText(btn,\"Hello\");\r\n\r\n  while(1) {\r\n    SGUI_Do();\r\n  }\r\n}\r\n<\/pre>\n<p>Hier ein miminal Beispiel das ein leeres Fenster erzeugt (mit Nr. 1),<br \/>\ndarauf einen Button platziert und die Beschriftung vom Button \u00e4ndert.<\/p>\n<p>Der Button hat zwar keine Funktion aber die SGUI-Library k\u00fcmmert sich<br \/>\n(durch die SGUI_DO) das man den Button per Touch dr\u00fccken kann.<\/p>\n<p><strong>Allgemeine Hinweise :<\/strong><\/p>\n<p>Alle Objekte besitzen Parameter die beim \u201cCreate\u201d erstmal auf einen<br \/>\nStandardwert gesetzt werden (z.B. Farbe, Schriftart, Rahmendicke usw)<\/p>\n<p>Alle Parameter k\u00f6nnen aber nachtr\u00e4glich (auch w\u00e4hrend dem Programmlauf)<br \/>\nge\u00e4ndert werden. Falls der User einen Parameter von einem Objekt \u00e4ndert,<br \/>\nund dieses gerade sichtbar ist, wird es automatisch neu gezeichnet.<\/p>\n<p>Die Software reserviert erst beim \u201cCreate\u201d Speicherplatz im RAM f\u00fcr das Objekt.<br \/>\nSo das es eigentlich (au\u00dfer der RAM-Gr\u00f6\u00dfe) kein oberes Limit f\u00fcr die Anzahl<br \/>\nder Objekte gibt. Ich habe aber eine \u201cmaximal Anzahl\u201d f\u00fcr die Objekte<br \/>\nim jeweiligen H-File festgelegt (im Moment 100 von jeder Art). nur zur Info.<\/p>\n<p>Wer das Display im Landscape-Mode betreiben will, muss den Define<br \/>\nim \u00a0File \u201cub_sgui_screen.h\u201d \u00e4ndern.<\/p>\n<p><strong>Objekt : Window<\/strong><\/p>\n<p>Ein \u201cWindow\u201d ist die Zeichenunterlage f\u00fcr alle anderen Objekte (au\u00dfer andere Windows)<br \/>\nEs gibt zwei Typen : \u201cMain\u201d und \u201cChild\u201d<br \/>\nMain-Windows f\u00fcllen den kompletten Screen (Gr\u00f6\u00dfe kann nicht eingestellt werden)<br \/>\nChild-Windows k\u00f6nnen eine beliebige Gr\u00f6\u00dfe und Position besitzen.<\/p>\n<p>Wenn ein Child-Window angezeigt wird, bleibt das darunter liegende Main-Window<br \/>\nzum Teil sichtbar. Das Child liegt also im Vordergrund.<\/p>\n<p>Hinweis : ohne ein Window , kann kein anderes Objekt erzeugt werden.<br \/>\nJedes Objekt wird beim erzeugen dem aktuellen Window zugeordnet.<\/p>\n<p>Beim zeichnen von einem Window werden alle Objekte gezeichnet,<br \/>\ndie diesem Window zugeordnet sind. Und nur diese Objekte reagieren<br \/>\nauf Touch eingaben.<\/p>\n<p><strong>Objekt-Liste :<\/strong><\/p>\n<p>Hier eine Liste aller im Moment verf\u00fcgbaren Objekte<br \/>\ndie auf einem Window platziert werden k\u00f6nnen.<br \/>\nEinige davon k\u00f6nnen per Touch gesteuert werden.<br \/>\n(Eine Doku zu allen Objekten ist in der Library dabei)<\/p>\n<p>&gt; Text<br \/>\n&gt; Panel<br \/>\n&gt; Button<br \/>\n&gt; LED<br \/>\n&gt; Label<br \/>\n&gt; Checkbox<br \/>\n&gt; Radio-Button<br \/>\n&gt; Gauge<br \/>\n&gt; Slider<br \/>\n&gt; Select-Button<br \/>\n&gt; Listbox<br \/>\n&gt; DropDown-Box<br \/>\n&gt; IntEdit<br \/>\n&gt; FloatEdit<br \/>\n&gt; Picture<br \/>\n&gt; Graph<\/p>\n<p><strong>Beispiel :<\/strong><\/p>\n<pre lang=\"c\" line=\"1\">\/\/--------------------------------------------------------------\r\n\/\/ File     : main.c\r\n\/\/ Datum    : 17.01.2015\r\n\/\/ Version  : 1.0\r\n\/\/ Autor    : UB\r\n\/\/ EMail    : mc-4u(@)t-online.de\r\n\/\/ Web      : www.mikrocontroller-4u.de\r\n\/\/ CPU      : STM32F429\r\n\/\/ IDE      : CooCox CoIDE 1.7.4\r\n\/\/ GCC      : 4.7 2012q4\r\n\/\/ Module   : CMSIS_BOOT, M4_CMSIS_CORE\r\n\/\/ Funktion : Demo der SGUI\r\n\/\/ Hinweis  : Diese zwei Files muessen auf 8MHz stehen\r\n\/\/              \"cmsis_boot\/stm32f4xx.h\"\r\n\/\/              \"cmsis_boot\/system_stm32f4xx.c\"\r\n\/\/ In Configuration diese Define hinzuf\u00fcgen :\r\n\/\/ \"STM32F429_439xx\" , \"__ASSEMBLY__\" , \"USE_STDPERIPH_DRIVER\"\r\n\/\/--------------------------------------------------------------\r\n\r\n#include \"main.h\"\r\n#include \"stm32_ub_sgui.h\"\r\n\r\nSLABEL_t *label;\r\nSBUTTON_t *btn1, *btn2;\r\n\r\n\/\/--------------------------------------------------------------\r\nvoid create_Window1(void);\r\nvoid create_Window2(void);\r\n\/\/--------------------------------------------------------------\r\nvoid btn1_fkt(bool aktiv);\r\nvoid btn2_fkt(bool aktiv);\r\n\/\/--------------------------------------------------------------\r\n\r\n\/\/--------------------------------------------------------------\r\n\/\/ Demoprogramm der \"Simple-GUI\"\r\n\/\/ es werden zwei Fenster erzeugt mit jeweil einem Button\r\n\/\/ mit den Buttons kann zwischen den Fenstern gewechselt werden\r\n\/\/--------------------------------------------------------------\r\nint main(void)\r\n{\r\n  SystemInit(); \/\/ Quarz Einstellungen aktivieren\r\n\r\n  \/\/ init der SGUI\r\n  SGUI_Init();\r\n\r\n  \/\/ Fenster erzeugen\r\n  create_Window1();\r\n  create_Window2();\r\n\r\n  \/\/ Window-1 anzeigen\r\n  SGUI_WindowShow(1);\r\n\r\n  while(1)\r\n  {\r\n\t  SGUI_Do(); \/\/ SGUI bearbeiten\r\n  }\r\n}\r\n\r\n\/\/--------------------------------------------------------------\r\nvoid create_Window1(void)\r\n{\r\n  \/\/ ein Window erstellen (Nr. 1)\r\n  SGUI_WindowCreateMain(1);\r\n  \/\/ ein Label platzieren und beschriften\r\n  label=SGUI_LabelCreate(10,10,220,50);\r\n  SGUI_LabelSetText(label,\"Window-1\");\r\n  \/\/ einen Button platzieren und beschriften\r\n  btn1=SGUI_ButtonCreate(10,100,100,50);\r\n  SGUI_ButtonSetText(btn1,\"Btn-1\");\r\n  \/\/ einen Handler fuer den Button einrichten\r\n  SGUI_ButtonSetHandler(btn1,btn1_fkt);\r\n}\r\n\/\/--------------------------------------------------------------\r\nvoid create_Window2(void)\r\n{\r\n  \/\/ ein Window erstellen (Nr. 2)\r\n  SGUI_WindowCreateMain(2);\r\n  \/\/ ein Label platzieren und beschriften\r\n  label=SGUI_LabelCreate(10,10,220,50);\r\n  SGUI_LabelSetText(label,\"Window-2\");\r\n  \/\/ einen Button platzieren und beschriften\r\n  btn2=SGUI_ButtonCreate(10,100,100,50);\r\n  SGUI_ButtonSetText(btn2,\"Btn-2\");\r\n  \/\/ einen Handler fuer den Button einrichten\r\n  SGUI_ButtonSetHandler(btn2,btn2_fkt);\r\n}\r\n\r\n\/\/--------------------------------------------------------------\r\nvoid btn1_fkt(bool aktiv) {\r\n  \/\/ beim verlassen von Button-1 das Window-2 anzeigen\r\n  if(aktiv==false) SGUI_WindowShow(2);\r\n}\r\n\/\/--------------------------------------------------------------\r\nvoid btn2_fkt(bool aktiv) {\r\n  \/\/ beim verlassen von Button-2 das Window-1 anzeigen\r\n  if(aktiv==false) SGUI_WindowShow(1);\r\n}\r\n<\/pre>\n<p>Hier die komplette Doku als <strong>PDF-File<\/strong> (Danke an Michael daf\u00fcr) :<\/p>\n<p><a href=\"wp-content\/uploads\/2015\/06\/SGUI_13.pdf\">SGUI_13<\/a><\/p>\n<p>Hier die Library zum\u00a0<strong>Download :<\/strong><\/p>\n<p><a href=\"wp-content\/uploads\/2015\/05\/sgui_f429_v103.zip\">sgui_f429_v103<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download : (Hello-World)<\/strong><\/p>\n<p><a href=\"wp-content\/uploads\/2015\/05\/Demo_F429_27.zip\">Demo_F429_27<\/a><\/p>\n<p>Hier der komplette CooCox-Projektordner zum\u00a0<strong>Download : (Demo aller Objekte)<\/strong><\/p>\n<p><a href=\"wp-content\/uploads\/2015\/05\/Demo_F429_27b.zip\">Demo_F429_27b<\/a><\/p>\n<hr \/>\n<h3 id=\"comments-title\">53 Antworten auf <em>27-Simple_GUI-Library (STM32F429)<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-2839\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2839\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/af5be9fa3f95b3ec9c424ed130b7f2d3?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Cortex-Einsteiger<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">17. Januar 2015 um 17:25<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>wow, das ist wirklich cool!<br \/>\nAllerdings muss man sich dort definitiv mehr einlesen und probieren als in andere Projekte, nur includen und loslegen ist da nicht m\u00f6glich.<\/p>\n<p>Ist die gr\u00fcne Led PG13 unabh\u00e4ngig von der blinkenden Led auf dem Display?<br \/>\nDie sind n\u00e4mlich je nach Zustand nicht synchron.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2840\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2840\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">18. Januar 2015 um 10:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ja, wenn man es richtig machen will brauchen Code und Doku ca 50:50 der Zeit vom Projekt. Ich spare mir meist die Doku und versuche das mit Kommentaren im Code auszugleichen. Versuche die Kommentare zu verstehen und ich versuche hier zu jedem Objekt zumindest ein Beispiel zu bringen.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2843\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-2843\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">18. Januar 2015 um 13:55<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Nice,<\/p>\n<p>I\u2019m waiting for function like SGUI_WindowGetPrevActive() to get previous active window.<br \/>\nWhy would this be good?<br \/>\nIf you make child window with \u201cAre you sure?\u201d box and \u201cClose\/OK\u201d buttons, if you click \u201cClose\u201d, you get back previous window and you don\u2019t need to take care for that.<\/p>\n<p>I\u2019ve added already this in your implementation for testing, works great.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2844\" class=\"comment odd alt depth-2\">\n<div id=\"comment-2844\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">18. Januar 2015 um 13:59<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I\u2019m also missing relative path.<\/p>\n<p>So if you make a child window (like alert message), then I\u2019m expecting that all buttons\/labels\/whatever\u2019s position is relative to this window.<\/p>\n<p>If window is at location 10,10, then if button has x,y = 10,10 then this is actual value in LCD at x,y = 20,20. If you understand.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2845\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-3\">\n<div id=\"comment-2845\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">18. Januar 2015 um 16:39<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>please try Version B.02 for \u201cSGUI_WindowShowPrev\u201d and offset in Child-Windows.<br \/>\nI have also changed the touch behavior : to aktivate an object the touch must be released first. And the function \u201cTextCreateDec\u201d now needs a parameter for the digits and leading zeros can be enabled.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2857\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-2857\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Januar 2015 um 23:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>You are going nice <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/><\/p>\n<p>One feature will be to select whether LED is circle or rectangle.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2861\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2861\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Januar 2015 um 10:06<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>yep, no problem. what do you think about the syntax ? too many single<br \/>\nfunctions to set the properties of one objekt ? Or should i use \u201cglobal\u201d settings<br \/>\nlike \u201cSGUI_SetFont\u201d and all other created objekts use this font ?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2862\" class=\"comment odd alt depth-3\">\n<div id=\"comment-2862\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Januar 2015 um 11:33<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Use global functions and one structure with default settings.<br \/>\nFor single LED: SGUI_LedSetMode(ledpointer, LED_RECTANGLE);<\/p>\n<p>For global default led settings<br \/>\nSGUI_LedSetDefaultMode(LED_RECTANGLE);<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2858\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-2858\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Januar 2015 um 00:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Example on how you can use \u201cAre you sure?\u201d alert box for more than just 1 operation.<\/p>\n<p><a href=\"http:\/\/pastebin.com\/HRDxtNsW\" rel=\"nofollow\">http:\/\/pastebin.com\/HRDxtNsW<\/a><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2860\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2860\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. Januar 2015 um 09:58<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>nice example<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2866\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2866\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. Januar 2015 um 01:26<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Really nice.<br \/>\nI was trying the one I was also expecting that it will be bug.<\/p>\n<p>If I use drowdown for example in child window, which is smaller than dropdown, then when I open dropdown, and close it back, not all is cleared, because it is on inactive window.<\/p>\n<p>This is hard to make easy to clean.<br \/>\nI suggest you that you don\u2019t allow that dropdown goes outside the child box.<\/p>\n<p>Keep up a great work!<br \/>\nAlso, I saw your great sollution for strings using double pointers! Nice work!<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2869\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2869\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. Januar 2015 um 11:07<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>thanks for testing, its hard to think at all combinations.<br \/>\nYou are right i must restrict the size of the box and i must add a scroll bar too.<br \/>\n(or should i repaint both windows ?) i will add one more objekt to show decimal values with arrows to change<br \/>\nand then i make a bugfix week. so please post all bugs you found in B.04<br \/>\n(e.g how many objekts can you add before a RAM overflow <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2870\" class=\"comment even depth-3\">\n<div id=\"comment-2870\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. Januar 2015 um 14:06<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I think that you don\u2019t need to repaint both windows.<br \/>\nJust add limit to where you can go.<br \/>\nAnd maybe integrated slider for that if list is longer than window.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2871\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-2871\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. Januar 2015 um 14:40<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Another very useful feature will be that every function returnes pointer.<\/p>\n<p>For example: If I work with buttons I would like that all button related functions returns button pointer.<br \/>\nThen, this can be done:<\/p>\n<p>SGUI_ButtonSetColor(SGUI_ButtonSetText(SGUI_ButtonCreate(\u2026),\u2026));<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2877\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2877\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. Januar 2015 um 19:54<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>i think thats hard to read with all functions in one line.<br \/>\nbut you have the source, include it if you want.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2875\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-2875\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. Januar 2015 um 17:32<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi UVE.<br \/>\nI have found another bug.<\/p>\n<p>If I have slider akt_value set to 10 and then I changed Max to 100 and Min to greater than current, everything fails <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_biggrin.gif\" alt=\":D\" \/><br \/>\nWhen you set min and max value, you should also check for actual current value.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2876\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2876\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. Januar 2015 um 19:52<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>fixed in B.07<br \/>\nDropDown-Box is now with scrollbar if too many items.<br \/>\nThe function \u201cSGUI_WindowGetUsedRam\u201d returns the used ram space.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2880\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-2880\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a7fff991982875211e148fbdac247ede?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\"><a class=\"url\" href=\"http:\/\/noone.com\/\" rel=\"external nofollow\">noone<\/a><\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. Januar 2015 um 21:54<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Try to set string larger than is dropdown\u2019s width <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";)\" \/><br \/>\nYou are going nice through, but you still need a lot of work for that.<\/p>\n<p>I have a lot of ideas but as I know you don\u2019t allow your libs for production mode, so I won\u2019t tell it here.<br \/>\nWill do my own gui with them.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2882\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-2882\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">29. Januar 2015 um 19:51<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>of course you can spend 100 h to reprogram STemWin\u2026but that was not my intent. the project name is \u201csimple\u201d gui ..so its a running base gui and the user can add the features he want and fix bugs like the string length limitation by its own <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2883\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-2883\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/46d4f3a37b8e10851f3fc2b3b268077c?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Markus<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">30. Januar 2015 um 01:46<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo,<\/p>\n<p>wird es die M\u00f6glichkeit geben, die GUI zu drehen (also Landscape Mode)?<\/p>\n<p>Gru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2934\" class=\"comment even depth-2\">\n<div id=\"comment-2934\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/81d3d44d8430bb0fb76b44e025db57c9?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Uwe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">3. M\u00e4rz 2015 um 23:57<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Also Markus, genau das war auch meine erste Frage\u2026 ich hab mal kurz herumgespielt und habe folgende Zeile entdeckt:<\/p>\n<p>ub_sgui_screen.h<\/p>\n<p>in Zeile 28: SGUI_SCREEN_ORIENTATION 1 \/\/ 1=landscape<\/p>\n<p>Danach dreht sich die Orientierung von Display- Inhalt und Touch. Ob es noch andere Auswirkungen gibt, kann ich derzeit noch nicht sagen\u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-2936\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-2936\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/af895582669592f057478b8ab90567f3?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Manuel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">4. M\u00e4rz 2015 um 10:30<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi I could help, just ask him to place their information in English please in text files.<br \/>\nGreetings \u2026<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-2955\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-2955\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/af895582669592f057478b8ab90567f3?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Manuel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">10. M\u00e4rz 2015 um 02:54<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Very good job UB,<br \/>\nI\u2019m from Mexico and I\u2019m learning to program in C language, I\u2019m learning with ARM microcontrollers, and your libraries are helping me to make things easier.<\/p>\n<p>Thank you very much for their libraries.<\/p>\n<p>I wonder if you could develop something similar to the development environment \u201cGUIBuilder\u201d but focused on your graphics libraries.<br \/>\nSGUI with SGUI_Builder.<br \/>\nThis would be very interesting.<\/p>\n<p>Again thank you very much.<br \/>\nGreetings \u2026<br \/>\nSorry for my bad English.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-2956\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-2956\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">10. M\u00e4rz 2015 um 09:53<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>hi,<br \/>\n\u201csgui\u201d is \u201csimple\u201d, so its not made to load an external file<br \/>\nand create a gui out of this.<br \/>\nthe onle simplification with a computer-tool is to genereate<br \/>\n\u201cscripts-snippets\u201d e.g. to add a buttton :<br \/>\n<code><br \/>\nSBUTTON_t* btn;<br \/>\nbtn=SGUI_ButtonCreate(10,20,100,25);<br \/>\nSGUI_ButtonSetText(btn,\"Text\");<br \/>\n<\/code><br \/>\nand the user must cop&amp;paste this script into the c-file.<br \/>\nBut thats a lot of work and in my opinion not usefull at all.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3142\" class=\"comment even thread-odd thread-alt depth-1\">\n<div id=\"comment-3142\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">18. April 2015 um 18:20<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<\/p>\n<p>gibt es die M\u00f6glichkeit Bilder auf einem Window anzuzeigen?<br \/>\nIch habe versucht einfach in das Create eines Windows das Bild miteinzubinden, leider wird das Bild nur ganz am Anfang ganz kurz angezeigt.<\/p>\n<p>void create_Window1(void)<br \/>\n{<br \/>\n\/\/ ein Window erstellen (Nr. 1)<br \/>\nSGUI_WindowCreateMain(1);<br \/>\n\/\/ ein Label platzieren und beschriften<br \/>\nlabel=SGUI_LabelCreate(10,10,220,50);<br \/>\nSGUI_LabelSetText(label,\u201dWindow-1\u2033);<br \/>\n\/\/ einen Button platzieren und beschriften<br \/>\nbtn1=SGUI_ButtonCreate(10,100,100,50);<br \/>\nSGUI_ButtonSetText(btn1,\u201dBtn-1\u2033);<br \/>\n\/\/ einen Handler fuer den Button einrichten<br \/>\nSGUI_ButtonSetHandler(btn1,btn1_fkt);<br \/>\n\/\/ Ein Image (aus dem Flash) Zeichnen<br \/>\nUB_Graphic_DrawImage(&amp;Druck,50,50);<br \/>\n}<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3148\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-3148\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. April 2015 um 19:04<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>nein, das Bild (oder ein Text) wird immer wieder \u00fcberschrieben bei redraw.<br \/>\nMan m\u00fcsste ein neues Objekt \u201cPicture\u201d zu diesem Zweck erstellen.<br \/>\nKlingt nicht so schwer\u2026besonders wenn es nur aus dem Flash gezeichnet werden muss\u2026gib mir ein paar Tage.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3150\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-3150\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. April 2015 um 22:16<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Das w\u00e4re echt super wenn Du da etwas einbauen k\u00f6nntest.<br \/>\nEin Bild aus dem Flash reicht voll und ganz.<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3160\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-3160\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. April 2015 um 19:27<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>probier mal die Version 1.2 aus. Es gibt zwei neue Befehle<br \/>\n\u201cCreatePicture\u201d erstellt eine Picture-Objekt<br \/>\n\u201cPictureSetImage\u201d teilt ein Bild aus dem Flash zu.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3163\" class=\"comment even depth-3\">\n<div id=\"comment-3163\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">24. April 2015 um 21:52<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Funktioniert super. W\u00e4re toll wenn Du das bei Gelegenheit auch noch in die sgui Lib f\u00fcr den 407er integrieren k\u00f6nntest.<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3164\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-3164\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 09:56<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>theoretisch k\u00f6nnte man daraus auch einen \u201cButton\u201d machen. event. mit zwei gleich gro\u00dfen Bildern f\u00fcr die zwei Zust\u00e4nde.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3165\" class=\"comment even depth-5\">\n<div id=\"comment-3165\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 10:22<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Das w\u00e4re nat\u00fcrlich absolut perfekt. So k\u00f6nnte man z.B. ein Zahnrad Bild f\u00fcr einen Einstellungsbutton nutzen.<br \/>\nW\u00e4re super wenn Du das einbauen k\u00f6nntest.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3166\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-2\">\n<div id=\"comment-3166\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 11:55<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>schon fertig (Versionsnummer hab ich nicht hochgez\u00e4hlt)<br \/>\npro Picture k\u00f6nnen zwei Bilder definiert werden damit<br \/>\nman gedr\u00fcckt\/nicht gedr\u00fcckt unterscheiden kann.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3167\" class=\"comment even depth-3\">\n<div id=\"comment-3167\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 14:15<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Super, konnte auf Anhieb einen Zahnrad Button erstellen.<br \/>\nDanke f\u00fcr die schnelle Umsetzung.<br \/>\nKann ich die neuen Funktionen auch in die Lib f\u00fcr den 407er integrieren?<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3168\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-3168\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 14:21<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>die Version f\u00fcr den F407 ist auch schon fertig und online.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3169\" class=\"comment even depth-5\">\n<div id=\"comment-3169\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 14:48<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Top, vielen Dank.<br \/>\nEine etwas spezifische Frage h\u00e4tte ich jedoch noch.<br \/>\nWie w\u00fcrdest Du vorgehen wenn Du \u00e4hnlich dem Oszi Show Projekt einen kleinen Graphen in ein Main Window plotten wolltest?<br \/>\nGru\u00df Joe<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3170\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-3170\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 16:00<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>du kannst mit der Funktion \u201cSGUI_ScreenDrawPixel(x,y,color)\u201d beliebige<br \/>\nKurven auf das Display zeichnen. Damit diese allerdings sichtbar bleibt,<br \/>\nmuss das Window schon komplett gezeichnet sein.<br \/>\nIch w\u00fcrde in der Main-Loop unterhalb der \u201cSGUI_Do\u201d<br \/>\nmit einem \u201cif(SGUI_WindowGetActivNr()==oszi_page)\u201d<br \/>\npr\u00fcfen ob die richtige Seite angezeigt wird und dann mit einer For-n<br \/>\ndie Kurve plotten.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-3171\" class=\"comment byuser comment-author-admin_ub bypostauthor even thread-even depth-1\">\n<div id=\"comment-3171\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 16:57<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>mir ist gerade eingefallen\u2026nat\u00fcrlich k\u00f6nnte man auch ein Objekt daraus machen.<br \/>\nWenn es nicht auf die Updategeschwindigkeit ankommt sondern nur um das darstellen von einem Zahlen-Array geht. Mehr wie 300 Punkte machen eh keinen Sinn (weil das Display nur 320 Pixel breit ist) und ein uint8 pro Wert w\u00fcrde theoretisch auch reichen.<br \/>\nSchreib mal was du genau vorhast und ob es eine statische Anzeige sein soll oder etwas das schnell refreshed werden muss.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3172\" class=\"comment odd alt depth-2\">\n<div id=\"comment-3172\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. April 2015 um 18:04<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ich logge u.a. die Werte eines externen Temperatursensors min\u00fctlich auf eine SD Karte. Ich dachte es w\u00e4re dann nicht schlecht den Temperaturverlauf auf dem Display darstellen zu k\u00f6nnen.<br \/>\nAlso schnell refreshed werden m\u00fcsste es nicht, eher im Sekunden\/Minutenbereich.<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3177\" class=\"comment even depth-3\">\n<div id=\"comment-3177\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. April 2015 um 15:12<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Also die Werte w\u00e4ren dann wie von Dir schon geschrieben in einem Zahlenarray welches dann \u201cnur\u201d dargestellt werden m\u00fcsste.<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3179\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-4\">\n<div id=\"comment-3179\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. April 2015 um 20:49<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ok, ich muss mal schauen wie man das am einfachsten implementieren kann.<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3180\" class=\"comment even depth-5\">\n<div id=\"comment-3180\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">26. April 2015 um 21:17<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Das w\u00e4re super, danke.<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3183\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-3183\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">27. April 2015 um 18:24<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>ich habe mal eine Alpha hochgeladen (auf der Startseite) damit kannst du mal rumspielen. Die Grundfunktionen habe ich getestet. Das k\u00f6nnte man jetzt noch beliebig komplex machen (Grid, Y-Offset usw)<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3192\" class=\"comment even depth-2\">\n<div id=\"comment-3192\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e0d6fe76b57df72af3fc300acf637642?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joe<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. April 2015 um 21:19<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Super, werde ich mal testen.<br \/>\nGru\u00df<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3256\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-3256\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a1409b1fe6254bc7fbdcfa48b73a1ee9?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joerg B.<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. Mai 2015 um 15:57<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<br \/>\nich wollte mal eben schnell mit deiner Gui ein kleines Programm schreiben\u2026.<\/p>\n<p>Jetzt bin ich gerade etwas Ratlos. Wie gebe ich einen sich st\u00e4ndig \u00e4ndernden Wert als Text in einem Fenster aus?<\/p>\n<p>Echt mal Hut ab, da hast du ein wirklich nettes Tool mal wieder geschrieben. Ich w\u00fcnschte ich h\u00e4tte so viel Zeit das selbst zu k\u00f6nnen <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";)\" \/><\/p>\n<p>Gr\u00fc\u00dfe<\/p>\n<p>J\u00f6rg<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3257\" class=\"comment even depth-2\">\n<div id=\"comment-3257\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a1409b1fe6254bc7fbdcfa48b73a1ee9?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joerg B.<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. Mai 2015 um 21:30<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Da ist zwar dein Beispiel:<\/p>\n<p>Beispiel-4 :<br \/>\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014-<br \/>\nWert von einer Zahl \u00e4ndern<\/p>\n<p>void foo(void) {<br \/>\nint a=12;<br \/>\nSTEXT_t *txt;<\/p>\n<p>SGUI_WindowCreateMain(1); \/\/ nr=1<br \/>\nSGUI_TextCreateString(\u201cMesswert=\u201d);<br \/>\ntxt=SGUI_TextCreateInt(a,4,true); \/\/ mit 4 stellen mit f\u00fchrende Null<br \/>\nSGUI_TextCreateString(\u201cmV\u201d); Anzeige = \u201cMesswert=0012mV\u201d<\/p>\n<p>a+=13;<br \/>\nSGUI_TextSetInt(txt, a); \/\/ neuen Zahlenwert darstellen<br \/>\n\/\/ Anzeige = \u201cMesswert=0025mV\u201d<br \/>\n}<\/p>\n<p>Da wird der Wert ja aber in Foo ge\u00e4ndert. Ich will \/ muss den Wert ja aus der while Schleife des Mains \u00e4ndern<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-3258\" class=\"comment byuser comment-author-admin_ub bypostauthor odd alt depth-3\">\n<div id=\"comment-3258\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. Mai 2015 um 21:43<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>mach einfach den Pointer auf den Text \u201cglobal\u201d<\/p>\n<pre lang=\"c\" line=\"1\">STEXT_t *txt; \/\/ globaler Pointer\r\n\r\nvoid create_fkt(int zahl) {\r\n  SGUI_WindowCreateMain(1);\r\n  SGUI_TextCreateString(\u201cMesswert=\u201d);\r\n  txt=SGUI_TextCreateInt(zahl,4,true);\r\n  SGUI_TextCreateString(\u201cmV\u201d);\r\n}\r\n\r\nvoid main {\r\n  int a=12;\r\n  create_fkt(a);\r\n  \r\n  while(1) {\r\n    SGUI_Do(); \/\/ SGUI bearbeiten\r\n    SGUI_TextSetInt(txt, a);\r\n    a+=13;    \r\n  }\r\n}\r\n\r\n<\/pre>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-3260\" class=\"comment even depth-3\">\n<div id=\"comment-3260\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a1409b1fe6254bc7fbdcfa48b73a1ee9?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Joerg B.<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">14. Mai 2015 um 22:16<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Ok habs selbst raus bekommen\u2026 War mal wieder blind <img decoding=\"async\" class=\"wp-smiley\" src=\"wp-includes\/images\/smilies\/icon_wink.gif\" alt=\";)\" \/><\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-3272\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-3272\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/ffc042c9f930d5c92a3e286b3dd23b84?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Michael<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">20. Mai 2015 um 09:14<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<\/p>\n<p>an dieser Stelle m\u00f6chte ich Dir ein dickes Lob aussprechen. Die SGUI ist genau das was ich gesucht habe.<\/p>\n<p>LG Michael DD4MS<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4092\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-4092\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/7fe87055feb9316088c728f88b329a20?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Pavel<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">25. August 2015 um 11:19<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hallo Uwe,<br \/>\nerstmal ein gro\u00dfes Dankesch\u00f6n f\u00fcr deine Bibliotheken.<br \/>\nSGUI_FloatEditSetStyle funktioniert leider nicht mit STYLE_RAISED, es wird lowered angezeigt. Ich habe zwar hinbekommen, dass alle 3 Styles normal nutzbar sind, kommt mir aber ziemlich komisch vor. Vor allem weil ich unter anderem (ub_sgui_floatedit.c, Zeile 504)<br \/>\nif((ptr-&gt;status&amp;SFLOATEDIT_BIT_3DSTYLE)==0) zu<br \/>\nif((ptr-&gt;status&amp;SFLOATEDIT_BIT_3DSTYLE)!=0) \u00e4ndern musste.<br \/>\nBei der Listbox m\u00fcsste dann, glaube ich, das selbe Problem sein. Vielleicht auch noch bei paar anderen. Ich bitte um Nachbesserung.<br \/>\nSch\u00f6ne Gr\u00fc\u00dfe, Pavel<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4103\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-4103\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/fe9c87add19ac5f5594515da49a57760?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Lisa<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">31. August 2015 um 22:13<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hi,<br \/>\nI\u2019m trying to understand how this library works, but I can\u2019t find the definition of the UB_\u2026 functions like e.g. UB_Graphic2D_DrawPixelNormal. Where can I find them?<\/p>\n<p>Thanks<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4106\" class=\"comment byuser comment-author-admin_ub bypostauthor even depth-2\">\n<div id=\"comment-4106\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/67426419ead44d5afa132e92685bb460?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">admin_ub<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">1. September 2015 um 19:28<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>sorry there is no english translation for the manual.<br \/>\nplease download the complete project files from \u201cDemo_F429_27\u2033<br \/>\nSo you have all necessary files included.<br \/>\nYou find all my \u201clolevel\u201d libs in sub-folder \u201cub_lib\u201d<br \/>\nand the grafic-functions e.g.\u201dUB_Graphic2D_DrawPixelNormal\u201d<br \/>\nin the file \u201cstm32_ub_graphic2d.c\u201d.<br \/>\ndont hesitate to ask another question<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<li id=\"li-comment-4781\" class=\"comment odd alt thread-even depth-1\">\n<div id=\"comment-4781\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e83298b1f93e53fb2522c1b1a15aa0f4?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">wissem<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">27. Juli 2016 um 18:17<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>Hello,<br \/>\nFirst I\u2019d like to thank you for your amazing work, I downloaded the SGUI library and demo project for STM32F429 disc, and after setting up the project for the lite version of atollic, I noticed that all objects work as expected but the integer ones , only letters are displayed instead of values (Integer=d, Integer=5d etc, while it should be Integer=123, Integer=00123), is this related to your library?<br \/>\nPS: The coocox version is working out of the box<br \/>\nThanks in advance<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/p>\n<ul class=\"children\">\n<li id=\"li-comment-4782\" class=\"comment even depth-2\">\n<div id=\"comment-4782\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/e83298b1f93e53fb2522c1b1a15aa0f4?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">wissem<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">28. Juli 2016 um 11:25<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I fixed this, it\u2019s because the Newlib-nano<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Diese Library erm\u00f6glicht es eine \u201ceinfache\u201d Graphische Benutzeroberfl\u00e4che mit dem STM32F429 und einem Grafik-Display (mit Touch) zu realisieren. Hier ein paar Bilder wie das ganze aussieht : Simple GUI Texte Slider &nbsp; Select-Buttons Radio-Buttons Panels &nbsp; Listbox LEDs Label &nbsp; &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/stm32f429\/komplette-library-liste-stm32f429\/27-simple_gui-library-stm32f429\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":160,"menu_order":27,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[129],"tags":[9,155,102],"class_list":["post-337","page","type-page","status-publish","hentry","category-stm32f429","tag-library","tag-sgui","tag-stm32f429"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=337"}],"version-history":[{"count":5,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/337\/revisions"}],"predecessor-version":[{"id":1774,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/337\/revisions\/1774"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/160"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}