aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-09-27 01:36:31 +1000
committerinmarket <andrewh@inmarket.com.au>2013-09-27 07:26:08 +1000
commit4c5587b78d359621f0c0bfa2d95d0603b3558191 (patch)
treeac94d9063b7cff5ba698afadd58dc0939f0ec8b8
parenta76dc59b22d2ae38c2cd293e36551c0052f07c83 (diff)
downloaduGFX-4c5587b78d359621f0c0bfa2d95d0603b3558191.tar.gz
uGFX-4c5587b78d359621f0c0bfa2d95d0603b3558191.tar.bz2
uGFX-4c5587b78d359621f0c0bfa2d95d0603b3558191.zip
Update animated image demo to better support small displays
-rw-r--r--demos/modules/gdisp/gdisp_images_animated/main.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/demos/modules/gdisp/gdisp_images_animated/main.c b/demos/modules/gdisp/gdisp_images_animated/main.c
index c5260174..58558185 100644
--- a/demos/modules/gdisp/gdisp_images_animated/main.c
+++ b/demos/modules/gdisp/gdisp_images_animated/main.c
@@ -38,7 +38,7 @@
#define USE_MEMORY_FILE TRUE // Non-Win32 - use the compiled in image
#endif
-#define SHOW_ERROR(color) gdispFillArea(swidth-10, 0, 10, sheight, color)
+#define SHOW_ERROR(color) gdispFillArea(errx, erry, errcx, errcy, color)
#if USE_MEMORY_FILE
#include "testanim.h"
@@ -57,7 +57,7 @@ static gdispImage myImage;
* Orange - Decoding a frame has produced an error.
*/
int main(void) {
- coord_t swidth, sheight;
+ coord_t swidth, sheight, errx, erry, errcx, errcy;
delaytime_t delay;
gfxInit(); // Initialize the display
@@ -68,6 +68,12 @@ int main(void) {
swidth = gdispGetWidth();
sheight = gdispGetHeight();
+ // Work out our error indicator area
+ errx = swidth-10;
+ erry = 0;
+ errcx = 10;
+ errcy = sheight;
+
// Set up IO for our image
#if USE_MEMORY_FILE
gdispImageSetMemoryReader(&myImage, testanim);
@@ -77,11 +83,16 @@ int main(void) {
if (gdispImageOpen(&myImage) == GDISP_IMAGE_ERR_OK) {
gdispImageSetBgColor(&myImage, MY_BG_COLOR);
+ // Adjust the error indicator area if necessary
+ if (myImage.width > errx && myImage.height < sheight) {
+ errx = 0; erry = sheight-10;
+ errcx = swidth; errcy = 10;
+ }
while(1) {
#if USE_IMAGE_CACHE
gdispImageCache(&myImage);
#endif
- if (gdispImageDraw(&myImage, 5, 5, myImage.width, myImage.height, 0, 0) != GDISP_IMAGE_ERR_OK) {
+ if (gdispImageDraw(&myImage, 0, 0, myImage.width, myImage.height, 0, 0) != GDISP_IMAGE_ERR_OK) {
SHOW_ERROR(Orange);
break;
}