12#ifndef _GUISLICE_GEN_H
13#define _GUISLICE_GEN_H
20#include "GUIslice_drv.h"
25#include "elem/XListbox.h"
26#include "elem/XSlider.h"
34#if !defined(DRV_DISP_TFT_ESPI)
35 #error E_PROJECT_OPTIONS tab->Graphics Library should be Adafruit_GFX
44extern "C" const unsigned short bootLogo[] PROGMEM;
45extern "C" const unsigned short homeButton[] PROGMEM;
46extern "C" const unsigned short settingsButton[] PROGMEM;
53enum {E_PG_BASE,E_PG_MAIN,E_PG_Settings,E_PG_RFID,E_PG_SubGHz,E_PG_WIFI
54 ,E_PG_USB,E_PG_BLE,E_PG_IR,E_Popup_Boot,E_Popup_HandshakeCapture};
55enum {BLE_Button_Send,Base_Button_home,Base_Button_settings
56 ,Base_Line_topBar,Base_Text_Bat,Base_Text_PageLabel
57 ,Boot_Image_logo,HandshakeCapture_Box_background
58 ,HandshakeCapture_Button_active,HandshakeCapture_Button_exit
59 ,HandshakeCapture_Button_passive,HandshakeCapture_Text_title
60 ,IR_Button_Back,IR_Button_Capture,IR_Button_Jam,IR_Button_Select
61 ,IR_Listbox_stored,IR_Listscroll_stored,Main_Button_BLE
62 ,Main_Button_BadUSB,Main_Button_IR,Main_Button_RFID
63 ,Main_Button_SubGHz,Main_Button_WIFI
64 ,Settings_Button_calibrateTouch,Settings_Button_vibrationToggle
65 ,SubGHz_Button_capture,SubGHz_Button_frequency
66 ,SubGHz_Button_jaming,SubGHz_Button_transmit
67 ,SubGHz_Listbox_signals,SubGHz_Listscroll_signals
68 ,WiFi_Button_deauth,WiFi_Button_handshake
69 ,WiFi_Button_rickRollBeacon,WiFi_Button_scanNetworks
70 ,WiFi_Listbox_networks,WiFi_Listscroll_networks};
72enum {E_BUILTIN10X16,E_BUILTIN5X8,MAX_FONT};
103#define MAX_ELEM_PG_BASE 5
104#define MAX_ELEM_PG_BASE_RAM MAX_ELEM_PG_BASE
106#define MAX_ELEM_PG_MAIN 6
107#define MAX_ELEM_PG_MAIN_RAM MAX_ELEM_PG_MAIN
109#define MAX_ELEM_PG_Settings 2
110#define MAX_ELEM_PG_Settings_RAM MAX_ELEM_PG_Settings
112#define MAX_ELEM_PG_RFID 0
113#define MAX_ELEM_PG_RFID_RAM MAX_ELEM_PG_RFID
115#define MAX_ELEM_PG_SubGHz 7
116#define MAX_ELEM_PG_SubGHz_RAM MAX_ELEM_PG_SubGHz
118#define MAX_ELEM_PG_WIFI 7
119#define MAX_ELEM_PG_WIFI_RAM MAX_ELEM_PG_WIFI
121#define MAX_ELEM_PG_USB 0
122#define MAX_ELEM_PG_USB_RAM MAX_ELEM_PG_USB
124#define MAX_ELEM_PG_BLE 1
125#define MAX_ELEM_PG_BLE_RAM MAX_ELEM_PG_BLE
127#define MAX_ELEM_PG_IR 7
128#define MAX_ELEM_PG_IR_RAM MAX_ELEM_PG_IR
130#define MAX_ELEM_Popup_Boot 1
131#define MAX_ELEM_Popup_Boot_RAM MAX_ELEM_Popup_Boot
133#define MAX_ELEM_Popup_HandshakeCapture 5
134#define MAX_ELEM_Popup_HandshakeCapture_RAM MAX_ELEM_Popup_HandshakeCapture
142gslc_tsFont m_asFont[MAX_FONT];
143gslc_tsPage m_asPage[MAX_PAGE];
146gslc_tsElem m_asBasePage1Elem[MAX_ELEM_PG_BASE_RAM];
147gslc_tsElemRef m_asBasePage1ElemRef[MAX_ELEM_PG_BASE];
148gslc_tsElem m_asPage1Elem[MAX_ELEM_PG_MAIN_RAM];
149gslc_tsElemRef m_asPage1ElemRef[MAX_ELEM_PG_MAIN];
150gslc_tsElem m_asPage3Elem[MAX_ELEM_PG_Settings_RAM];
151gslc_tsElemRef m_asPage3ElemRef[MAX_ELEM_PG_Settings];
152gslc_tsElem m_asPage4Elem[MAX_ELEM_PG_RFID_RAM];
153gslc_tsElemRef m_asPage4ElemRef[MAX_ELEM_PG_RFID];
154gslc_tsElem m_asPage5Elem[MAX_ELEM_PG_SubGHz_RAM];
155gslc_tsElemRef m_asPage5ElemRef[MAX_ELEM_PG_SubGHz];
156gslc_tsElem m_asPage6Elem[MAX_ELEM_PG_WIFI_RAM];
157gslc_tsElemRef m_asPage6ElemRef[MAX_ELEM_PG_WIFI];
158gslc_tsElem m_asPage7Elem[MAX_ELEM_PG_USB_RAM];
159gslc_tsElemRef m_asPage7ElemRef[MAX_ELEM_PG_USB];
160gslc_tsElem m_asPage8Elem[MAX_ELEM_PG_BLE_RAM];
161gslc_tsElemRef m_asPage8ElemRef[MAX_ELEM_PG_BLE];
162gslc_tsElem m_asPage9Elem[MAX_ELEM_PG_IR_RAM];
163gslc_tsElemRef m_asPage9ElemRef[MAX_ELEM_PG_IR];
164gslc_tsElem m_asPopup1Elem[MAX_ELEM_Popup_Boot_RAM];
165gslc_tsElemRef m_asPopup1ElemRef[MAX_ELEM_Popup_Boot];
166gslc_tsElem m_asPopup2Elem[MAX_ELEM_Popup_HandshakeCapture_RAM];
167gslc_tsElemRef m_asPopup2ElemRef[MAX_ELEM_Popup_HandshakeCapture];
168gslc_tsXListbox m_sListbox2;
170char m_acListboxBuf2[50 + XLISTBOX_BUF_OH_R];
171gslc_tsXSlider m_sListScroll2;
172gslc_tsXListbox m_sListbox1;
174char m_acListboxBuf1[50 + XLISTBOX_BUF_OH_R];
175gslc_tsXSlider m_sListScroll1;
176gslc_tsXListbox m_sListbox3;
178char m_acListboxBuf3[500 + XLISTBOX_BUF_OH_R];
179gslc_tsXSlider m_sListScroll3;
191extern gslc_tsElemRef* batteryChrgTxt;
192extern gslc_tsElemRef* m_pBLEselectButtonTxt;
193extern gslc_tsElemRef* m_pElemBtn10;
194extern gslc_tsElemRef* m_pElemListbox_IR;
195extern gslc_tsElemRef* m_pElemListbox_SubGHz;
196extern gslc_tsElemRef* m_pElemListbox_WiFi;
197extern gslc_tsElemRef* m_pElemOutTxt1;
198extern gslc_tsElemRef* m_pIRselectButtonTxt;
199extern gslc_tsElemRef* m_pListSlider_IR;
200extern gslc_tsElemRef* m_pListSlider_SubGHz;
201extern gslc_tsElemRef* m_pListSlider_WiFi;
202extern gslc_tsElemRef* m_pSettingsVibroButtonTxt;
203extern gslc_tsElemRef* m_pSubGHzJammingButton;
204extern gslc_tsElemRef* m_pWiFiDeauthButtonTxt;
205extern gslc_tsElemRef* m_pWiFiDeauthButtonTxt16_18;
206extern gslc_tsElemRef* m_pWiFiRickButtonTxt;
210static int16_t DebugOut(
char ch);
218bool CbBtnCommon(
void* pvGui,
void* pvElemRef, gslc_teTouch eTouch, int16_t nX, int16_t nY);
219bool CbCheckbox(
void* pvGui,
void* pvElemRef, int16_t nSelId,
bool bState);
220bool CbDrawScanner(
void* pvGui,
void* pvElemRef, gslc_teRedrawType eRedraw);
221bool CbKeypad(
void* pvGui,
void* pvElemRef, int16_t nState,
void* pvData);
222bool CbListbox(
void* pvGui,
void* pvElemRef, int16_t nSelId);
223bool CbSlidePos(
void* pvGui,
void* pvElemRef, int16_t nPos);
224bool CbSpinner(
void* pvGui,
void* pvElemRef, int16_t nState,
void* pvData);
225bool CbTickScanner(
void* pvGui,
void* pvScope);
230void InitGUIslice_gen() {
231 gslc_tsElemRef* pElemRef = NULL;
233 if (!gslc_Init(&m_gui, &m_drv, m_asPage, MAX_PAGE, m_asFont, MAX_FONT)) {
241 if (!gslc_FontSet(&m_gui,E_BUILTIN10X16,GSLC_FONTREF_PTR,NULL,2)) {
return; }
242 if (!gslc_FontSet(&m_gui,E_BUILTIN5X8,GSLC_FONTREF_PTR,NULL,1)) {
return; }
246 gslc_PageAdd(&m_gui,E_PG_BASE,m_asBasePage1Elem,MAX_ELEM_PG_BASE_RAM,m_asBasePage1ElemRef,MAX_ELEM_PG_BASE);
247 gslc_PageAdd(&m_gui,E_PG_MAIN,m_asPage1Elem,MAX_ELEM_PG_MAIN_RAM,m_asPage1ElemRef,MAX_ELEM_PG_MAIN);
248 gslc_PageAdd(&m_gui,E_PG_Settings,m_asPage3Elem,MAX_ELEM_PG_Settings_RAM,m_asPage3ElemRef,MAX_ELEM_PG_Settings);
249 gslc_PageAdd(&m_gui,E_PG_RFID,m_asPage4Elem,MAX_ELEM_PG_RFID_RAM,m_asPage4ElemRef,MAX_ELEM_PG_RFID);
250 gslc_PageAdd(&m_gui,E_PG_SubGHz,m_asPage5Elem,MAX_ELEM_PG_SubGHz_RAM,m_asPage5ElemRef,MAX_ELEM_PG_SubGHz);
251 gslc_PageAdd(&m_gui,E_PG_WIFI,m_asPage6Elem,MAX_ELEM_PG_WIFI_RAM,m_asPage6ElemRef,MAX_ELEM_PG_WIFI);
252 gslc_PageAdd(&m_gui,E_PG_USB,m_asPage7Elem,MAX_ELEM_PG_USB_RAM,m_asPage7ElemRef,MAX_ELEM_PG_USB);
253 gslc_PageAdd(&m_gui,E_PG_BLE,m_asPage8Elem,MAX_ELEM_PG_BLE_RAM,m_asPage8ElemRef,MAX_ELEM_PG_BLE);
254 gslc_PageAdd(&m_gui,E_PG_IR,m_asPage9Elem,MAX_ELEM_PG_IR_RAM,m_asPage9ElemRef,MAX_ELEM_PG_IR);
255 gslc_PageAdd(&m_gui,E_Popup_Boot,m_asPopup1Elem,MAX_ELEM_Popup_Boot_RAM,m_asPopup1ElemRef,MAX_ELEM_Popup_Boot);
256 gslc_PageAdd(&m_gui,E_Popup_HandshakeCapture,m_asPopup2Elem,MAX_ELEM_Popup_HandshakeCapture_RAM,m_asPopup2ElemRef,MAX_ELEM_Popup_HandshakeCapture);
260 gslc_SetPageBase(&m_gui, E_PG_BASE);
265 gslc_SetPageCur(&m_gui,E_PG_MAIN);
268 gslc_SetBkgndColor(&m_gui,GSLC_COL_BLACK);
275 static char m_sDisplayText1[16] =
"Main Menu";
276 pElemRef = gslc_ElemCreateTxt(&m_gui,Base_Text_PageLabel,E_PG_BASE,(gslc_tsRect){70,18,180,16},
277 (
char*)m_sDisplayText1,16,E_BUILTIN10X16);
278 gslc_ElemSetTxtAlign(&m_gui,pElemRef,GSLC_ALIGN_MID_MID);
279 gslc_ElemSetFillEn(&m_gui,pElemRef,
false);
280 m_pElemOutTxt1 = pElemRef;
283 static char m_sDisplayText2[7] =
"100%";
284 pElemRef = gslc_ElemCreateTxt(&m_gui,Base_Text_Bat,E_PG_BASE,(gslc_tsRect){243,19,72,16},
285 (
char*)m_sDisplayText2,7,E_BUILTIN10X16);
286 gslc_ElemSetTxtAlign(&m_gui,pElemRef,GSLC_ALIGN_MID_RIGHT);
287 gslc_ElemSetFillEn(&m_gui,pElemRef,
false);
288 batteryChrgTxt = pElemRef;
291 pElemRef = gslc_ElemCreateLine(&m_gui,Base_Line_topBar,E_PG_BASE,0,49,320,49);
292 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLACK,GSLC_COL_GRAY_LT3,GSLC_COL_GRAY_LT3);
295 pElemRef = gslc_ElemCreateBtnImg(&m_gui,Base_Button_home,E_PG_BASE,(gslc_tsRect){8,8,32,32},
296 gslc_GetImageFromProg((
const unsigned char*)homeButton,GSLC_IMGREF_FMT_BMP24),
297 gslc_GetImageFromProg((
const unsigned char*)homeButton,GSLC_IMGREF_FMT_BMP24),
301 pElemRef = gslc_ElemCreateBtnImg(&m_gui,Base_Button_settings,E_PG_BASE,(gslc_tsRect){48,8,32,32},
302 gslc_GetImageFromProg((
const unsigned char*)settingsButton,GSLC_IMGREF_FMT_BMP24),
303 gslc_GetImageFromProg((
const unsigned char*)settingsButton,GSLC_IMGREF_FMT_BMP24),
311 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Main_Button_RFID,E_PG_MAIN,
312 (gslc_tsRect){40,80,96,96},(
char*)
"RFID",0,E_BUILTIN10X16,&CbBtnCommon);
313 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
316 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Main_Button_SubGHz,E_PG_MAIN,
317 (gslc_tsRect){184,80,96,96},(
char*)
"Sub-GHz",0,E_BUILTIN10X16,&CbBtnCommon);
318 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
321 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Main_Button_WIFI,E_PG_MAIN,
322 (gslc_tsRect){40,208,96,96},(
char*)
"WiFi",0,E_BUILTIN10X16,&CbBtnCommon);
323 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
326 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Main_Button_BadUSB,E_PG_MAIN,
327 (gslc_tsRect){40,336,96,96},(
char*)
"Bad USB",0,E_BUILTIN10X16,&CbBtnCommon);
328 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
331 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Main_Button_BLE,E_PG_MAIN,
332 (gslc_tsRect){184,208,96,96},(
char*)
"BLE",0,E_BUILTIN10X16,&CbBtnCommon);
333 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
336 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Main_Button_IR,E_PG_MAIN,
337 (gslc_tsRect){184,336,96,96},(
char*)
"IR",0,E_BUILTIN10X16,&CbBtnCommon);
338 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
345 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Settings_Button_calibrateTouch,E_PG_Settings,
346 (gslc_tsRect){40,64,240,32},(
char*)
"Touch Calibration",0,E_BUILTIN5X8,&CbBtnCommon);
347 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
350 static char m_strbtn12[21] =
"Vibration Disabled";
351 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,Settings_Button_vibrationToggle,E_PG_Settings,
352 (gslc_tsRect){40,112,240,32},
353 (
char*)m_strbtn12,21,E_BUILTIN5X8,&CbBtnCommon);
354 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE_DK2,GSLC_COL_RED_DK2,GSLC_COL_BLUE_DK1);
355 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
356 gslc_ElemSetFrameEn(&m_gui,pElemRef,
false);
357 m_pSettingsVibroButtonTxt = pElemRef;
368 static char m_strbtn16[27] =
"Jamming Dissabled";
369 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,SubGHz_Button_jaming,E_PG_SubGHz,
370 (gslc_tsRect){40,104,240,32},
371 (
char*)m_strbtn16,27,E_BUILTIN5X8,&CbBtnCommon);
372 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE_DK2,GSLC_COL_RED_DK2,GSLC_COL_BLUE_DK1);
373 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
374 gslc_ElemSetFrameEn(&m_gui,pElemRef,
false);
375 m_pSubGHzJammingButton = pElemRef;
378 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,SubGHz_Button_capture,E_PG_SubGHz,
379 (gslc_tsRect){40,144,240,32},(
char*)
"Capture Signals",0,E_BUILTIN5X8,&CbBtnCommon);
380 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
383 static char m_strbtn18[27] =
"Change Frequency";
384 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,SubGHz_Button_frequency,E_PG_SubGHz,
385 (gslc_tsRect){40,64,240,32},
386 (
char*)m_strbtn18,27,E_BUILTIN5X8,&CbBtnCommon);
387 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
388 m_pWiFiDeauthButtonTxt16_18 = pElemRef;
391 pElemRef = gslc_ElemCreateBox(&m_gui,GSLC_ID_AUTO,E_PG_SubGHz,(gslc_tsRect){40,224,240,247});
392 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_GRAY_LT2);
395 pElemRef = gslc_ElemXListboxCreate(&m_gui,SubGHz_Listbox_signals,E_PG_SubGHz,&m_sListbox2,
396 (gslc_tsRect){40+2,224+4,240-4-15,247-7},E_BUILTIN5X8,
397 (uint8_t*)&m_acListboxBuf2,
sizeof(m_acListboxBuf2),0);
398 gslc_ElemXListboxSetSize(&m_gui, pElemRef, 10, 1);
399 gslc_ElemXListboxItemsSetSize(&m_gui, pElemRef, -1, -1);
400 gslc_ElemSetTxtMarginXY(&m_gui, pElemRef, 5, 5);
401 gslc_ElemSetTxtCol(&m_gui,pElemRef,GSLC_COL_YELLOW);
402 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_GRAY_LT2);
403 gslc_ElemXListboxSetSelFunc(&m_gui, pElemRef, &CbListbox);
404 gslc_ElemXListboxItemsSetGap(&m_gui, pElemRef, 5,GSLC_COL_BLACK);
405 gslc_ElemSetFrameEn(&m_gui,pElemRef,
true);
406 m_pElemListbox_SubGHz = pElemRef;
409 pElemRef = gslc_ElemXSliderCreate(&m_gui,SubGHz_Listscroll_signals,E_PG_SubGHz,&m_sListScroll2,
410 (gslc_tsRect){40+240-2-15,224+4,15,247-8},0,100,0,5,
true);
411 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_BLUE);
412 gslc_ElemXSliderSetPosFunc(&m_gui,pElemRef,&CbSlidePos);
413 m_pListSlider_SubGHz = pElemRef;
416 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,SubGHz_Button_transmit,E_PG_SubGHz,
417 (gslc_tsRect){40,184,240,32},(
char*)
"Transmit Captured Signal",0,E_BUILTIN5X8,&CbBtnCommon);
418 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
425 static char m_strbtn8[27] =
"Rick Roll Beacon Spam";
426 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,WiFi_Button_rickRollBeacon,E_PG_WIFI,
427 (gslc_tsRect){40,64,240,32},
428 (
char*)m_strbtn8,27,E_BUILTIN5X8,&CbBtnCommon);
429 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE_DK2,GSLC_COL_RED_DK2,GSLC_COL_BLUE_DK1);
430 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
431 gslc_ElemSetFrameEn(&m_gui,pElemRef,
false);
432 m_pWiFiRickButtonTxt = pElemRef;
435 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,WiFi_Button_scanNetworks,E_PG_WIFI,
436 (gslc_tsRect){40,104,240,32},(
char*)
"Scan WiFi Networks",0,E_BUILTIN5X8,&CbBtnCommon);
437 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
440 static char m_strbtn9[27] =
"Deauthentication Dissabled";
441 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,WiFi_Button_deauth,E_PG_WIFI,
442 (gslc_tsRect){40,184,240,32},
443 (
char*)m_strbtn9,27,E_BUILTIN5X8,&CbBtnCommon);
444 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE_DK2,GSLC_COL_RED_DK2,GSLC_COL_BLUE_DK1);
445 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
446 gslc_ElemSetFrameEn(&m_gui,pElemRef,
false);
447 m_pWiFiDeauthButtonTxt = pElemRef;
450 static char m_strbtn10[31] =
"Handshake Capture";
451 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,WiFi_Button_handshake,E_PG_WIFI,
452 (gslc_tsRect){40,144,240,32},
453 (
char*)m_strbtn10,31,E_BUILTIN5X8,&CbBtnCommon);
454 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
455 m_pElemBtn10 = pElemRef;
458 pElemRef = gslc_ElemCreateBox(&m_gui,GSLC_ID_AUTO,E_PG_WIFI,(gslc_tsRect){40,224,240,247});
459 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_GRAY_LT2);
462 pElemRef = gslc_ElemXListboxCreate(&m_gui,WiFi_Listbox_networks,E_PG_WIFI,&m_sListbox1,
463 (gslc_tsRect){40+2,224+4,240-4-15,247-7},E_BUILTIN5X8,
464 (uint8_t*)&m_acListboxBuf1,
sizeof(m_acListboxBuf1),0);
465 gslc_ElemXListboxSetSize(&m_gui, pElemRef, 10, 1);
466 gslc_ElemXListboxItemsSetSize(&m_gui, pElemRef, -1, -1);
467 gslc_ElemSetTxtMarginXY(&m_gui, pElemRef, 5, 5);
468 gslc_ElemSetTxtCol(&m_gui,pElemRef,GSLC_COL_YELLOW);
469 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_GRAY_LT2);
470 gslc_ElemXListboxSetSelFunc(&m_gui, pElemRef, &CbListbox);
471 gslc_ElemXListboxItemsSetGap(&m_gui, pElemRef, 5,GSLC_COL_BLACK);
472 gslc_ElemSetFrameEn(&m_gui,pElemRef,
true);
473 m_pElemListbox_WiFi = pElemRef;
476 pElemRef = gslc_ElemXSliderCreate(&m_gui,WiFi_Listscroll_networks,E_PG_WIFI,&m_sListScroll1,
477 (gslc_tsRect){40+240-2-15,224+4,15,247-8},0,100,0,5,
true);
478 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_BLUE);
479 gslc_ElemXSliderSetPosFunc(&m_gui,pElemRef,&CbSlidePos);
480 m_pListSlider_WiFi = pElemRef;
491 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,BLE_Button_Send,E_PG_BLE,
492 (gslc_tsRect){40,64,240,32},(
char*)
"Never gonna what?",0,E_BUILTIN5X8,&CbBtnCommon);
493 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE_DK2,GSLC_COL_RED,GSLC_COL_BLUE_DK1);
494 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
495 gslc_ElemSetFrameEn(&m_gui,pElemRef,
false);
496 m_pBLEselectButtonTxt = pElemRef;
503 pElemRef = gslc_ElemCreateBox(&m_gui,GSLC_ID_AUTO,E_PG_IR,(gslc_tsRect){40,104,240,247});
504 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_GRAY_LT2);
507 pElemRef = gslc_ElemXListboxCreate(&m_gui,IR_Listbox_stored,E_PG_IR,&m_sListbox3,
508 (gslc_tsRect){40+2,104+4,240-4-15,247-7},E_BUILTIN5X8,
509 (uint8_t*)&m_acListboxBuf3,
sizeof(m_acListboxBuf3),0);
510 gslc_ElemXListboxSetSize(&m_gui, pElemRef, 10, 1);
511 gslc_ElemXListboxItemsSetSize(&m_gui, pElemRef, -1, -1);
512 gslc_ElemSetTxtMarginXY(&m_gui, pElemRef, 5, 5);
513 gslc_ElemSetTxtCol(&m_gui,pElemRef,GSLC_COL_YELLOW);
514 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_GRAY_LT2);
515 gslc_ElemXListboxSetSelFunc(&m_gui, pElemRef, &CbListbox);
516 gslc_ElemXListboxItemsSetGap(&m_gui, pElemRef, 5,GSLC_COL_BLACK);
517 gslc_ElemSetFrameEn(&m_gui,pElemRef,
true);
518 m_pElemListbox_IR = pElemRef;
521 pElemRef = gslc_ElemXSliderCreate(&m_gui,IR_Listscroll_stored,E_PG_IR,&m_sListScroll3,
522 (gslc_tsRect){40+240-2-15,104+4,15,247-8},0,100,0,5,
true);
523 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE,GSLC_COL_BLACK,GSLC_COL_BLUE);
524 gslc_ElemXSliderSetPosFunc(&m_gui,pElemRef,&CbSlidePos);
525 m_pListSlider_IR = pElemRef;
528 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,IR_Button_Select,E_PG_IR,
529 (gslc_tsRect){40,64,240,32},(
char*)
"Select",0,E_BUILTIN5X8,&CbBtnCommon);
530 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
531 m_pIRselectButtonTxt = pElemRef;
534 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,IR_Button_Back,E_PG_IR,
535 (gslc_tsRect){40,360,240,32},(
char*)
"Back",0,E_BUILTIN5X8,&CbBtnCommon);
536 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
539 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,IR_Button_Capture,E_PG_IR,
540 (gslc_tsRect){40,400,240,32},(
char*)
"Capture IR",0,E_BUILTIN5X8,&CbBtnCommon);
541 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
544 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,IR_Button_Jam,E_PG_IR,
545 (gslc_tsRect){40,440,240,32},(
char*)
"Jamming Disabled",0,E_BUILTIN5X8,&CbBtnCommon);
546 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
553 pElemRef = gslc_ElemCreateImg(&m_gui,Boot_Image_logo,E_Popup_Boot,(gslc_tsRect){0,0,320,480},
554 gslc_GetImageFromProg((
const unsigned char*)bootLogo,GSLC_IMGREF_FMT_BMP24));
561 pElemRef = gslc_ElemCreateBox(&m_gui,HandshakeCapture_Box_background,E_Popup_HandshakeCapture,(gslc_tsRect){32,136,256,264});
562 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
565 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,HandshakeCapture_Button_passive,E_Popup_HandshakeCapture,
566 (gslc_tsRect){40,208,240,32},(
char*)
"Passive",0,E_BUILTIN5X8,&CbBtnCommon);
567 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
570 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,HandshakeCapture_Button_active,E_Popup_HandshakeCapture,
571 (gslc_tsRect){40,248,240,32},(
char*)
"Active",0,E_BUILTIN5X8,&CbBtnCommon);
572 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
575 pElemRef = gslc_ElemCreateBtnTxt(&m_gui,HandshakeCapture_Button_exit,E_Popup_HandshakeCapture,
576 (gslc_tsRect){40,352,240,32},(
char*)
"Exit",0,E_BUILTIN5X8,&CbBtnCommon);
577 gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_BLUE_DK2,GSLC_COL_RED_DK2,GSLC_COL_BLUE_DK1);
578 gslc_ElemSetRoundEn(&m_gui, pElemRef,
true);
579 gslc_ElemSetFrameEn(&m_gui,pElemRef,
false);
582 pElemRef = gslc_ElemCreateTxt(&m_gui,HandshakeCapture_Text_title,E_Popup_HandshakeCapture,(gslc_tsRect){72,152,180,8},
583 (
char*)
"Select Deauthentication Method",0,E_BUILTIN5X8);
584 gslc_ElemSetTxtAlign(&m_gui,pElemRef,GSLC_ALIGN_MID_MID);
588 gslc_GuiRotate(&m_gui, 0);