Sample GUI for LPC4088. Base code to begin dev

Dependencies:   DMBasicGUI DMSupport

Fork of lpc4088_displaymodule_shipped_demo by Embedded Artists

Committer:
alindvall
Date:
Tue Apr 28 12:21:14 2015 +0000
Revision:
4:a7cbb22e4348
Parent:
0:b94e330c98ac
Updated to latest version of the DMSupport and DMBasicGUI libraries

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alindvall 0:b94e330c98ac 1 /*
alindvall 0:b94e330c98ac 2 * Copyright 2014 Embedded Artists AB
alindvall 0:b94e330c98ac 3 *
alindvall 0:b94e330c98ac 4 * Licensed under the Apache License, Version 2.0 (the "License");
alindvall 0:b94e330c98ac 5 * you may not use this file except in compliance with the License.
alindvall 0:b94e330c98ac 6 * You may obtain a copy of the License at
alindvall 0:b94e330c98ac 7 *
alindvall 0:b94e330c98ac 8 * http://www.apache.org/licenses/LICENSE-2.0
alindvall 0:b94e330c98ac 9 *
alindvall 0:b94e330c98ac 10 * Unless required by applicable law or agreed to in writing, software
alindvall 0:b94e330c98ac 11 * distributed under the License is distributed on an "AS IS" BASIS,
alindvall 0:b94e330c98ac 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
alindvall 0:b94e330c98ac 13 * See the License for the specific language governing permissions and
alindvall 0:b94e330c98ac 14 * limitations under the License.
alindvall 0:b94e330c98ac 15 */
alindvall 0:b94e330c98ac 16
alindvall 0:b94e330c98ac 17 #ifndef APP_USB_STATUS_H
alindvall 0:b94e330c98ac 18 #define APP_USB_STATUS_H
alindvall 0:b94e330c98ac 19
alindvall 0:b94e330c98ac 20 #include "App.h"
alindvall 0:b94e330c98ac 21 #include "DMBoard.h"
alindvall 0:b94e330c98ac 22 #include "lpc_swim.h"
alindvall 0:b94e330c98ac 23 #include "ImageButton.h"
alindvall 0:b94e330c98ac 24 #include "Resource.h"
alindvall 0:b94e330c98ac 25
alindvall 0:b94e330c98ac 26 /**
alindvall 0:b94e330c98ac 27 * An App example. Static display of information.
alindvall 0:b94e330c98ac 28 *
alindvall 0:b94e330c98ac 29 * The purpose of this example is to show some of the graphics primitives in
alindvall 0:b94e330c98ac 30 * the SWIM library.
alindvall 0:b94e330c98ac 31 */
alindvall 0:b94e330c98ac 32 class AppUSBStatus : public App {
alindvall 0:b94e330c98ac 33 public:
alindvall 0:b94e330c98ac 34
alindvall 0:b94e330c98ac 35 AppUSBStatus();
alindvall 0:b94e330c98ac 36 virtual ~AppUSBStatus();
alindvall 0:b94e330c98ac 37
alindvall 0:b94e330c98ac 38 virtual bool setup();
alindvall 0:b94e330c98ac 39 virtual void runToCompletion();
alindvall 0:b94e330c98ac 40 virtual bool teardown();
alindvall 0:b94e330c98ac 41
alindvall 0:b94e330c98ac 42 enum Resources {
alindvall 0:b94e330c98ac 43 Resource_Ok_button,
alindvall 0:b94e330c98ac 44 };
alindvall 0:b94e330c98ac 45
alindvall 0:b94e330c98ac 46 /** Specifies the resource to use
alindvall 0:b94e330c98ac 47 *
alindvall 0:b94e330c98ac 48 * Adds a resource for a specific id. This allows the
alindvall 0:b94e330c98ac 49 * user program to select e.g. which image to use and
alindvall 0:b94e330c98ac 50 * if it should be loaded from a file or an array.
alindvall 0:b94e330c98ac 51 *
alindvall 0:b94e330c98ac 52 * @param id the identifier
alindvall 0:b94e330c98ac 53 * @param res the resource
alindvall 0:b94e330c98ac 54 */
alindvall 0:b94e330c98ac 55 void addResource(Resources id, Resource* res);
alindvall 0:b94e330c98ac 56
alindvall 0:b94e330c98ac 57 private:
alindvall 0:b94e330c98ac 58 enum Ids {
alindvall 0:b94e330c98ac 59 USBHost_MassStorage_Inserted,
alindvall 0:b94e330c98ac 60 USBHost_MassStorage_Ejected,
alindvall 0:b94e330c98ac 61 USBHost_Mouse_Inserted,
alindvall 0:b94e330c98ac 62 USBHost_Mouse_Ejected,
alindvall 0:b94e330c98ac 63 USBHost_Keyboard_Inserted,
alindvall 0:b94e330c98ac 64 USBHost_Keyboard_Ejected,
alindvall 0:b94e330c98ac 65 NumImages,
alindvall 0:b94e330c98ac 66 };
alindvall 0:b94e330c98ac 67 Display* _disp;
alindvall 0:b94e330c98ac 68 SWIM_WINDOW_T* _win;
alindvall 0:b94e330c98ac 69 void* _fb;
alindvall 0:b94e330c98ac 70 Image::ImageData_t _images[NumImages];
alindvall 0:b94e330c98ac 71 SWIM_WINDOW_T _imageWindows[NumImages/2];
alindvall 0:b94e330c98ac 72 ImageButton* _btn;
alindvall 0:b94e330c98ac 73 Resource* _resOk;
alindvall 0:b94e330c98ac 74
alindvall 0:b94e330c98ac 75 void draw();
alindvall 0:b94e330c98ac 76 void updateStatus(Ids id);
alindvall 0:b94e330c98ac 77 };
alindvall 0:b94e330c98ac 78
alindvall 0:b94e330c98ac 79 #endif
alindvall 0:b94e330c98ac 80
alindvall 0:b94e330c98ac 81