The out-of-the-box demo application flashed on all display modules before they are shipped.

Dependencies:   DMBasicGUI DMSupport

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers AppUSBStatus.h Source File

AppUSBStatus.h

00001 /*
00002  *  Copyright 2014 Embedded Artists AB
00003  *
00004  *  Licensed under the Apache License, Version 2.0 (the "License");
00005  *  you may not use this file except in compliance with the License.
00006  *  You may obtain a copy of the License at
00007  *
00008  *    http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *  Unless required by applicable law or agreed to in writing, software
00011  *  distributed under the License is distributed on an "AS IS" BASIS,
00012  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *  See the License for the specific language governing permissions and
00014  *  limitations under the License.
00015  */
00016  
00017 #ifndef APP_USB_STATUS_H
00018 #define APP_USB_STATUS_H
00019 
00020 #include "App.h"
00021 #include "DMBoard.h"
00022 #include "lpc_swim.h"
00023 #include "ImageButton.h"
00024 #include "Resource.h"
00025 
00026 /**
00027  * An App example. Static display of information.
00028  *
00029  * The purpose of this example is to show some of the graphics primitives in
00030  * the SWIM library.
00031  */
00032 class AppUSBStatus : public App {
00033 public:
00034 
00035     AppUSBStatus();
00036     virtual ~AppUSBStatus();
00037 
00038     virtual bool setup();
00039     virtual void runToCompletion();
00040     virtual bool teardown();
00041 
00042     enum Resources {
00043         Resource_Ok_button,
00044     };
00045 
00046     /** Specifies the resource to use
00047      *
00048      *  Adds a resource for a specific id. This allows the
00049      *  user program to select e.g. which image to use and
00050      *  if it should be loaded from a file or an array.
00051      *
00052      *  @param id  the identifier
00053      *  @param res the resource
00054      */
00055     void addResource(Resources id, Resource* res);
00056 
00057 private:
00058     enum Ids {
00059         USBHost_MassStorage_Inserted,
00060         USBHost_MassStorage_Ejected,
00061         USBHost_Mouse_Inserted,
00062         USBHost_Mouse_Ejected,
00063         USBHost_Keyboard_Inserted,
00064         USBHost_Keyboard_Ejected,
00065         NumImages,
00066     };
00067     Display* _disp;
00068     SWIM_WINDOW_T* _win;
00069     void* _fb;
00070     Image::ImageData_t _images[NumImages];
00071     SWIM_WINDOW_T _imageWindows[NumImages/2];
00072     ImageButton* _btn;
00073     Resource* _resOk;
00074 
00075     void draw();
00076     void updateStatus(Ids id);
00077 };
00078 
00079 #endif
00080 
00081