A basic graphics package for the LPC4088 Display Module.

Dependents:   lpc4088_displaymodule_demo_sphere sampleGUI sampleEmptyGUI lpc4088_displaymodule_fs_aid ... more

Fork of DMBasicGUI by EmbeddedArtists AB

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers AppSlideShow.h Source File

AppSlideShow.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_SLIDESHOW_H
00018 #define APP_SLIDESHOW_H
00019 
00020 #include "App.h"
00021 #include "DMBoard.h"
00022 #include "SlideShow.h"
00023 #include "rtos.h"
00024 #include "ImageButton.h"
00025 #include "Resource.h"
00026 
00027 /**
00028  * An App example showing how to use the SlideShow engine.
00029  *
00030  * The purpose of this example is to show how the SlideShow class can be used.
00031  */
00032 class AppSlideShow : public App {
00033 public:
00034 
00035     /** Create a new App based on the specified slideshow
00036      *
00037      * @param scriptFile  path and filename of the script to run
00038      * @param pathPrefix  optional path to prepend to all paths in the script file
00039      * @param x           optional x coordinate to draw the slideshow at, default is 0
00040      * @param y           optional y coordinate to draw the slideshow at, default is 0
00041      */
00042     AppSlideShow(const char* scriptFile, const char* pathPrefix=NULL, int xoff=0, int yoff=0);
00043     virtual ~AppSlideShow();
00044 
00045     virtual bool setup();
00046     virtual void runToCompletion();
00047     virtual bool teardown();
00048 
00049     enum Resources {
00050         Resource_Ok_button,
00051         Resource_Repeat_button,
00052     };
00053 
00054     /** Specifies the resource to use
00055      *
00056      *  Adds a resource for a specific id. This allows the
00057      *  user program to select e.g. which image to use and
00058      *  if it should be loaded from a file or an array.
00059      *
00060      *  @param id  the identifier
00061      *  @param res the resource
00062      */
00063     void addResource(Resources id, Resource* res);
00064 
00065 private:
00066     void* _fb;
00067     Display* _disp;
00068     SlideShow* _show;
00069     Renderer* _rend;
00070     Mutex _fileMutex;
00071     ImageButton* _btnDone;
00072     ImageButton* _btnRepeat;
00073     char* _script;
00074     char* _path;
00075     int _xoff;
00076     int _yoff;
00077     Resource* _resOk;
00078     Resource* _resRepeat;
00079 };
00080 
00081 #endif