Example that shows how to use emWin. This example is based on NXP's POS demo available at lpcware.com
Dependencies: EALib ewgui mbed
OrderEntryDLG.cpp
- Committer:
- embeddedartists
- Date:
- 2014-04-14
- Revision:
- 2:cbf00ac63f35
- Parent:
- 0:2052561807c5
File content as of revision 2:cbf00ac63f35:
/********************************************************************* * * * SEGGER Microcontroller GmbH & Co. KG * * Solutions for real time microcontroller applications * * * ********************************************************************** * * * C-file generated by: * * * * GUI_Builder for emWin version 5.14 * * Compiled Jan 12 2012, 10:28:50 * * (c) 2011 Segger Microcontroller GmbH & Co. KG * * * ********************************************************************** * * * Internet: www.segger.com Support: support@segger.com * * * ********************************************************************** */ // USER START (Optionally insert additional includes) #include <stdio.h> #include <string.h> #include "DIALOG.h" #include "BlueboardPOS.h" //AR #include "CLRC663.h" // USER END /********************************************************************* * * Defines * ********************************************************************** */ #define ID_WINDOW_0 (GUI_ID_USER + 0x01) #define ID_BUTTON_0 (GUI_ID_USER + 0x02) #define ID_BUTTON_1 (GUI_ID_USER + 0x03) #define ID_BUTTON_2 (GUI_ID_USER + 0x04) #define ID_BUTTON_3 (GUI_ID_USER + 0x05) #define ID_BUTTON_4 (GUI_ID_USER + 0x06) #define ID_BUTTON_5 (GUI_ID_USER + 0x07) #define ID_BUTTON_6 (GUI_ID_USER + 0x08) #define ID_BUTTON_7 (GUI_ID_USER + 0x09) #define ID_BUTTON_8 (GUI_ID_USER + 0x0A) #define ID_LISTVIEW_0 (GUI_ID_USER + 0x0E) #define ID_BUTTON_9 (GUI_ID_USER + 0x0B) #define ID_BUTTON_10 (GUI_ID_USER + 0x0C) #define ID_TEXT_0 (GUI_ID_USER + 0x0F) #define ID_BUTTON_11 (GUI_ID_USER + 0x0D) // USER START (Optionally insert additional defines) #define ID_IMAGE_0 (GUI_ID_USER + 0x20) #define ID_IMAGE_1 (GUI_ID_USER + 0x21) #define BUTTON_BitmapSkin DrawCustomSkin // USER END /********************************************************************* * * Static data * ********************************************************************** */ // USER START (Optionally insert additional static data) /* extern const uint8_t _acImage_0[385078]; extern GUI_CONST_STORAGE GUI_BITMAP bmnxplogo_small; extern GUI_CONST_STORAGE GUI_BITMAP bmblack_coffee; extern GUI_CONST_STORAGE GUI_BITMAP bmchocolate_doughnut; extern GUI_CONST_STORAGE GUI_BITMAP bmmilk; extern GUI_CONST_STORAGE GUI_BITMAP bmlatte_coffee; extern GUI_CONST_STORAGE GUI_BITMAP bmglazed_doughnut; extern GUI_CONST_STORAGE GUI_BITMAP bmorangejuice; extern GUI_CONST_STORAGE GUI_BITMAP bmnewspaper; extern GUI_CONST_STORAGE GUI_BITMAP bmdanish; extern GUI_CONST_STORAGE GUI_BITMAP bmbottledwater; */ //#include "Background.cpp" #include "nxplogo_small.cpp" #include "black_coffee.cpp" #include "chocolate_doughnut.cpp" #include "milk.cpp" #include "latte_coffee.cpp" #include "glazed_doughnut.cpp" #include "orangejuice.cpp" #include "newspaper.cpp" #include "danish.cpp" #include "bottledwater.cpp" // USER END /********************************************************************* * * _aDialogCreate */ static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { { WINDOW_CreateIndirect, "OrderEntry", ID_WINDOW_0, 0, 0, 800, 480, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button3", ID_BUTTON_0, 30, 15, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button4", ID_BUTTON_1, 150, 15, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button5", ID_BUTTON_2, 270, 15, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button6", ID_BUTTON_3, 30, 135, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button7", ID_BUTTON_4, 150, 135, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button8", ID_BUTTON_5, 270, 135, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button9", ID_BUTTON_6, 30, 255, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button10", ID_BUTTON_7, 150, 255, 110, 110, 0, 0, 0 }, { BUTTON_CreateIndirect, "Button11", ID_BUTTON_8, 270, 255, 110, 110, 0, 0, 0 }, { LISTVIEW_CreateIndirect, "Listview", ID_LISTVIEW_0, 422, 133, 363, 231, 0, 0, 0 }, { BUTTON_CreateIndirect, "Checkout", ID_BUTTON_9, 430, 400, 216, 65, 0, 0, 0 }, { BUTTON_CreateIndirect, "Clear", ID_BUTTON_10, 664, 400, 112, 65, 0, 0, 0 }, { TEXT_CreateIndirect, "Total", ID_TEXT_0, 597, 365, 182, 32, 0, 100, 0 }, { BUTTON_CreateIndirect, "QueryCard", ID_BUTTON_11, 78, 400, 250, 65, 0, 0, 0 }, // USER START (Optionally insert additional widgets) { IMAGE_CreateIndirect, "Image", ID_IMAGE_0, 508, 7, 193, 112, WM_CF_BGND, IMAGE_CF_AUTOSIZE, 0 }, { IMAGE_CreateIndirect, "Image", ID_IMAGE_1, 0, 0, 800, 480, WM_CF_BGND, IMAGE_CF_AUTOSIZE, 0 }, // USER END }; /********************************************************************* * * Static code * ********************************************************************** */ // USER START (Optionally insert additional static code) void displayTotal(WM_HWIN hWin) { WM_HWIN hItem; char Total[64], SubTotal[16]; int total = 0, row, subtotal100, subtotal; hItem = WM_GetDialogItem(hWin, ID_LISTVIEW_0); for(row = 0; row < (LISTVIEW_GetNumRows(hItem)); row++) { LISTVIEW_GetItemText(hItem, 3, row, SubTotal, sizeof(SubTotal)); sscanf(SubTotal, "%d.%02d", &subtotal100, &subtotal); total = total + subtotal100 * 100 + subtotal; } sprintf(Total, "Total $%d.%02d", total / 100, total - total / 100 * 100); hItem = WM_GetDialogItem(hWin, ID_TEXT_0); TEXT_SetText(hItem, Total); } void clearItems(WM_HWIN hWin) { WM_HWIN hItem; // add the button text to a new line in the item list hItem = WM_GetDialogItem(hWin, ID_LISTVIEW_0); LISTVIEW_DeleteAllRows(hItem); displayTotal(hWin); } void addItem(WM_HWIN hWin, int Id, int price) { WM_HWIN hItem; char ButtonText[64], Quantity[16], Price[16], SubTotal[16]; int row, qnty, subtotal; // get the text on the button hItem = WM_GetDialogItem(hWin, Id); BUTTON_GetText(hItem, ButtonText, sizeof(ButtonText)); // add the button text to a new line in the item list hItem = WM_GetDialogItem(hWin, ID_LISTVIEW_0); LISTVIEW_AddRow(hItem, NULL); row = LISTVIEW_GetNumRows(hItem) - 1; qnty = 1; subtotal = qnty * price; sprintf(Quantity, "%d", qnty); sprintf(Price, "%d.%02d", price / 100, price - price / 100 * 100); sprintf(SubTotal, "%d.%02d", subtotal / 100, subtotal - subtotal / 100 * 100); LISTVIEW_SetItemText(hItem, 0, row, Quantity); LISTVIEW_SetItemText(hItem, 1, row, ButtonText); LISTVIEW_SetItemText(hItem, 2, row, Price); LISTVIEW_SetItemText(hItem, 3, row, SubTotal); displayTotal(hWin); } // USER END /********************************************************************* * * _cbDialog */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; int Id, NCode; // USER START (Optionally insert additional variables) char SubTotal[16]; int total = 0, row, subtotal100, subtotal; uint32_t status; // USER END switch (pMsg->MsgId) { case WM_INIT_DIALOG: // // Initialization of 'Button3' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); BUTTON_SetText(hItem, "Black Coffee"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button4' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1); BUTTON_SetText(hItem, "Choc. Donut"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button5' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2); BUTTON_SetText(hItem, "Milk"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button6' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3); BUTTON_SetText(hItem, "Latte"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button7' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4); BUTTON_SetText(hItem, "Glazed Donut"); BUTTON_SetFont(hItem, GUI_FONT_16B_1); // // Initialization of 'Button8' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5); BUTTON_SetText(hItem, "Orange Juice"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button9' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_6); BUTTON_SetText(hItem, "Newspaper"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button10' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_7); BUTTON_SetText(hItem, "Danish"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Button11' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_8); BUTTON_SetText(hItem, "Bottled Water"); BUTTON_SetFont(hItem, GUI_FONT_16B_ASCII); // // Initialization of 'Listview' // hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTVIEW_0); LISTVIEW_AddColumn(hItem, 35, "Qnty", GUI_TA_HCENTER | GUI_TA_VCENTER); LISTVIEW_AddColumn(hItem, 210, "Description", GUI_TA_HCENTER | GUI_TA_VCENTER); LISTVIEW_AddColumn(hItem, 40, "Cost", GUI_TA_HCENTER | GUI_TA_VCENTER); LISTVIEW_AddColumn(hItem, 80, "Sub total", GUI_TA_HCENTER | GUI_TA_VCENTER); LISTVIEW_SetAutoScrollV(hItem, 1); LISTVIEW_SetGridVis(hItem, 1); // // Initialization of 'Checkout' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_9); BUTTON_SetText(hItem, "Checkout"); BUTTON_SetFont(hItem, GUI_FONT_32B_ASCII); // // Initialization of 'Clear' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_10); BUTTON_SetText(hItem, "Clear"); BUTTON_SetFont(hItem, GUI_FONT_32B_ASCII); // // Initialization of 'Total' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetTextAlign(hItem, GUI_TA_RIGHT | GUI_TA_VCENTER); TEXT_SetFont(hItem, GUI_FONT_20B_ASCII); TEXT_SetText(hItem, "Total $0.00"); // // Initialization of 'QueryCard' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_11); BUTTON_SetText(hItem, "Query Card"); BUTTON_SetFont(hItem, GUI_FONT_32B_ASCII); // USER START (Optionally insert additional code for further widget initialization) // // Additional initialization of 'Image' // hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0); IMAGE_SetBitmap(hItem, &bmnxplogo_small); // // Additional initialization of 'Image' // hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_1); //AR IMAGE_SetBMP(hItem, _acImage_0, sizeof(_acImage_0)); // // Additional initialization of 'Button3' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button4' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button5' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button6' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button7' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_4); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button8' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_5); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button9' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_6); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button10' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_7); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // // Additional initialization of 'Button11' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_8); BUTTON_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_BOTTOM); BUTTON_SetSkin(hItem, BUTTON_BitmapSkin); // USER END break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch(Id) { case ID_BUTTON_0: // Notifications sent by 'Button3' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 132); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_1: // Notifications sent by 'Button4' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 55); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_2: // Notifications sent by 'Button5' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 110); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_3: // Notifications sent by 'Button6' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 175); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_4: // Notifications sent by 'Button7' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 55); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_5: // Notifications sent by 'Button8' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 180); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_6: // Notifications sent by 'Button9' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 75); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_7: // Notifications sent by 'Button10' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 119); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_8: // Notifications sent by 'Button11' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) addItem(pMsg->hWin, Id, 155); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_LISTVIEW_0: // Notifications sent by 'Listview' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_SEL_CHANGED: // USER START (Optionally insert code for reacting on notification message) // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_9: // Notifications sent by 'Checkout' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) RFID_Cancelled = 0; ShowWindow(hWinSwipeCard); #ifndef _WINDOWS hItem = WM_GetDialogItem(pMsg->hWin, ID_LISTVIEW_0); for(row = 0; row < (LISTVIEW_GetNumRows(hItem)); row++) { LISTVIEW_GetItemText(hItem, 3, row, SubTotal, sizeof(SubTotal)); sscanf(SubTotal, "%d.%02d", &subtotal100, &subtotal); total = total + subtotal100 * 100 + subtotal; } do { //AR status = MifareExecute(DecCredit_CMD, (uint32_t*)&total); GUI_Delay(250); } while((status == (2<<16)) && !RFID_Cancelled); if(!status) WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Store_OK); else if(status & 0x00010000) WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Credit_Low); else if(!RFID_Cancelled) WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Error); #endif // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_10: // Notifications sent by 'Clear' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) clearItems(pMsg->hWin); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; case ID_BUTTON_11: // Notifications sent by 'QueryCard' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) RFID_Cancelled = 0; ShowWindow(hWinSwipeCard); #ifndef _WINDOWS do { //AR status = MifareExecute(GetCredit_CMD, &Credit); GUI_Delay(250); } while((status == (2<<16)) && !RFID_Cancelled); if(!status) WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Load_OK); else if(!RFID_Cancelled) WM_SendMessageNoPara(hWinCallBack, WM_USER_RFID_Error); #endif // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; // USER START (Optionally insert additional code for further Ids) // USER END } break; // USER START (Optionally insert additional message handling) // USER END default: WM_DefaultProc(pMsg); break; } } /********************************************************************* * * Public code * ********************************************************************** */ /********************************************************************* * * CreateOrderEntry */ WM_HWIN CreateOrderEntry(void); WM_HWIN CreateOrderEntry(void) { WM_HWIN hWin; hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbDialog, WM_HBKWIN, 0, 0); return hWin; } // USER START (Optionally insert additional public code) int DrawCustomSkin(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo) { switch (pDrawItemInfo->Cmd) { case WIDGET_ITEM_DRAW_BACKGROUND: // // Default look with bitmap // BUTTON_DrawSkinFlex(pDrawItemInfo); if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_0)) GUI_DrawBitmap(&bmblack_coffee, 17, 20); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_1)) GUI_DrawBitmap(&bmchocolate_doughnut, 9, 17); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_2)) GUI_DrawBitmap(&bmmilk, 40, 20); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_3)) GUI_DrawBitmap(&bmlatte_coffee, 15, 22); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_4)) GUI_DrawBitmap(&bmglazed_doughnut, 25, 25); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_5)) GUI_DrawBitmap(&bmorangejuice, 28, 25); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_6)) GUI_DrawBitmap(&bmnewspaper, 15, 12); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_7)) GUI_DrawBitmap(&bmdanish, 25, 20); else if (pDrawItemInfo->hWin == WM_GetDialogItem(WM_GetActiveWindow(), ID_BUTTON_8)) GUI_DrawBitmap(&bmbottledwater, 42, 20); break; default: // // Use the default skinning routine for processing all other commands // return BUTTON_DrawSkinFlex(pDrawItemInfo); } return 0; } // USER END /*************************** End of file ****************************/