summaryrefslogtreecommitdiffstats
path: root/Graphic_Equalizer/src/display.hcc
diff options
context:
space:
mode:
Diffstat (limited to 'Graphic_Equalizer/src/display.hcc')
-rw-r--r--Graphic_Equalizer/src/display.hcc75
1 files changed, 51 insertions, 24 deletions
diff --git a/Graphic_Equalizer/src/display.hcc b/Graphic_Equalizer/src/display.hcc
index 81d0037..798f399 100644
--- a/Graphic_Equalizer/src/display.hcc
+++ b/Graphic_Equalizer/src/display.hcc
@@ -61,10 +61,12 @@ static rom unsigned 20 images[32] = {
ADDRESS_SKIN_START,
ADDRESS_HELP_START,
ADDRESS_HELP_START,
- ADDRESS_GRAPH_START
+ ADDRESS_GRAPH_START,
+ ADDRESS_AUDIO_PLAYER_START
};
+static rom unsigned 5 image_indexes [5] = {0,IMAGE_SKIN, IMAGE_HELP, 0, IMAGE_ABOUT};
/*! \fn void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
*
@@ -132,19 +134,9 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
* for the next cycle.
*/
PalPL2RAMRead(RAM_BANK0, &pixeldata);
- PalPL2RAMSetReadAddress(RAM_BANK0, (IMAGE_GRAPH == events->image) ? (images[events->image] +(0 @ (addresses[address_index] \\ 2))) : (images[events->image] +addresses[address_index]));
+ PalPL2RAMSetReadAddress(RAM_BANK0, (events->mode[3]) ? (images[events->image] +(0 @ (addresses[address_index] \\ 2))) : (images[events->image] +addresses[address_index]));
- /*
- * Always reset the address_index to the corresponding
- * array index containing the address counter of the
- * background image, when the default skin should be
- * displayed.
- */
- if (IMAGE_SKIN == events->image) {
- address_index = MASK_AREA_BACKGROUND;
- } else {
- delay;
- }
+ //print_hex_value(0@MASK);
/*
* When displaying the visual the pixeldata read
@@ -152,7 +144,8 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
* since the visual-image is not stored as a MRGB value,
* but as a MMMM-value. (M = mask)
*/
- if (IMAGE_GRAPH == events->image) {
+// if (IMAGE_GRAPH == events->image) {
+ if (events->mode[3]) {
par {
switch (addresses[MASK_AREA_BACKGROUND] <- 2) {
case 3:
@@ -281,10 +274,6 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
draw_button(audiodata->display_log);
break;
- case BUTTON_PLAY:
- draw_button(audiodata->play);
- break;
-
case BUTTON_DEMO:
draw_button(events->button_demo_state);
break;
@@ -300,7 +289,12 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
break;
case AREA_ABOUT_TOP:
+/*
+ Check wether the application is in about mode.
if (IMAGE_ABOUT == events->image) {
+*/
+ if (events->mode[2]) {
+ //draw current about top window
par {
events->image = events->image_about;
address_index = MASK_AREA_ABOUT_TOP;
@@ -317,7 +311,12 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
case BUTTON_URL_CELOXICA: /* fall through */
case BUTTON_URL_DETAILS: /* fall through */
case AREA_ABOUT_BOTTOM:
+/*
+ Check wether the application is in about mode.
if (IMAGE_ABOUT == events->image) {
+*/
+ if (events->mode[2]) {
+ //draw current about bottom window
par {
events->image = IMAGE_ABOUT_BOTTOM;
address_index = MASK_AREA_ABOUT_BOTTOM;
@@ -328,15 +327,43 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
}
break;
- case AREA_MASK_END:
- /* (IMAGE_ABOUT_TOP_FONTYS <= events->image) && (events->image <= IMAGE_ABOUT_BOTTOM)*/
- if ((events->image <= IMAGE_ABOUT_BOTTOM) || (IMAGE_ABOUT == events->image)) {
+ case BUTTON_PREV_TRACK:
+ draw_button(events->prev_track_state);
+ break;
+ case BUTTON_PLAY:
+ draw_button(audiodata->player_state== PLAYING);
+ break;
+ case BUTTON_PAUSE:
+ draw_button(audiodata->player_state == PAUSED);
+ break;
+ case BUTTON_STOP:
+ draw_button(audiodata->player_state == STOPPED);
+ break;
+ case BUTTON_NEXT_TRACK:
+ draw_button(events->next_track_state);
+ break;
+ case BUTTON_REPEAT:
+ draw_button(audiodata->player_mode);
+ break;
+ case AREA_AUDIO_PLAYER:
+/*
+ Check wether the application is in audioplayer mode.
+*/ //print_hex_value(0@MASK);
+ if (events->mode[4]) {
par {
- events->image = IMAGE_ABOUT;
- address_index = MASK_AREA_BACKGROUND;
+ events->image = IMAGE_AUDIO_PLAYER;
+ address_index = MASK_AREA_AUDIO_PLAYER;
PalVideoOutWrite(VIDEOOUT, PIXEL);
}
} else {
+ PalVideoOutWrite(VIDEOOUT, PIXEL);
+ }
+ break;
+
+ case AREA_MASK_END:
+ par {
+ events->image = image_indexes[events->mode <- 3];
+ address_index = MASK_AREA_BACKGROUND;
PalVideoOutWrite(VIDEOOUT, PIXEL);
}
break;
@@ -405,7 +432,7 @@ inline void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t
addresses[address_index] = 0;
}
} else {
- delay;
+ delay;
}
/*
* We are in the blanking area of the screen.