Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: android/src/org/rockbox/Helper/RunForegroundManager.java
- ===================================================================
- --- android/src/org/rockbox/Helper/RunForegroundManager.java (revision 30742)
- +++ android/src/org/rockbox/Helper/RunForegroundManager.java (working copy)
- @@ -69,6 +69,7 @@
- * We use a layout id because it is a unique number.
- * We use it later to cancel.
- */
- + Logger.d("FGMan startForeground");
- mNM.notify(R.string.notification, mNotification);
- /*
- * this call makes the service run as foreground, which
- @@ -83,6 +84,7 @@
- /* Note to cancel BEFORE changing the
- * foreground state, since we could be killed at that point.
- */
- + Logger.d("FGMan stopForeground");
- mNM.cancel(R.string.notification);
- api.stopForeground();
- mWidgetUpdate = null;
- Index: android/src/org/rockbox/RockboxActivity.java
- ===================================================================
- --- android/src/org/rockbox/RockboxActivity.java (revision 30742)
- +++ android/src/org/rockbox/RockboxActivity.java (working copy)
- @@ -31,6 +31,7 @@
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Toast;
- +import android.util.Log;
- public class RockboxActivity extends Activity
- {
- @@ -40,8 +41,10 @@
- {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- +/*
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- +*/
- Intent intent = new Intent(this, RockboxService.class);
- intent.setAction(Intent.ACTION_MAIN);
- intent.putExtra("callback", new ResultReceiver(new Handler(getMainLooper())) {
- @@ -98,6 +101,8 @@
- public void onResume()
- {
- + LOG("onResume");
- + setServiceActivity(true);
- super.onResume();
- setVisible(true);
- }
- @@ -108,6 +113,7 @@
- @Override
- protected void onPause()
- {
- + LOG("onPause");
- super.onPause();
- /* this will cause the framebuffer's Surface to be destroyed, enabling
- * us to disable drawing */
- @@ -117,6 +123,7 @@
- @Override
- protected void onStop()
- {
- + LOG("onStop");
- super.onStop();
- setServiceActivity(false);
- }
- @@ -124,7 +131,13 @@
- @Override
- protected void onDestroy()
- {
- + LOG("onDestroy");
- super.onDestroy();
- setServiceActivity(false);
- }
- +
- + private void LOG(CharSequence text)
- + {
- + Log.d("RockboxActivity ", (String) text);
- + }
- }
- Index: android/src/org/rockbox/RockboxService.java
- ===================================================================
- --- android/src/org/rockbox/RockboxService.java (revision 30742)
- +++ android/src/org/rockbox/RockboxService.java (working copy)
- @@ -60,6 +60,10 @@
- private MediaButtonReceiver mMediaButtonReceiver;
- private ResultReceiver resultReceiver;
- + private boolean music_playing = false;
- + private boolean app_open = false;
- + private boolean paused = false;
- +
- public static final int RESULT_INVOKING_MAIN = 0;
- public static final int RESULT_LIB_LOAD_PROGRESS = 1;
- public static final int RESULT_SERVICE_RUNNING = 3;
- @@ -90,9 +94,37 @@
- {
- return current_activity;
- }
- +
- + private native void tickpause();
- + private native void tickresume();
- +
- + private void check_sleep()
- + {
- + if (paused)
- + {
- + if (music_playing || app_open)
- + {
- + LOG("Tick resume");
- +// tickresume();
- + paused = false;
- + }
- + }
- + else
- + {
- + if (!music_playing && !app_open)
- + {
- + LOG("Tick pause");
- +// tickpause();
- + paused = true;
- + }
- + }
- + }
- +
- public void set_activity(Activity a)
- {
- + app_open = (a != null);
- current_activity = a;
- + check_sleep();
- }
- private void do_start(Intent intent)
- @@ -138,20 +170,22 @@
- private void LOG(CharSequence text)
- {
- - Log.d("Rockbox", (String) text);
- + Log.d("RockboxService", (String) text);
- }
- private void LOG(CharSequence text, Throwable tr)
- {
- - Log.d("Rockbox", (String) text, tr);
- + Log.d("RockboxService", (String) text, tr);
- }
- public void onStart(Intent intent, int startId) {
- + LOG("onStartCommand");
- do_start(intent);
- }
- public int onStartCommand(Intent intent, int flags, int startId)
- {
- + LOG("onStartCommand");
- /* if null, then the service was most likely restarted by android
- * after getting killed for memory pressure earlier */
- if (intent == null)
- @@ -324,12 +358,18 @@
- void startForeground()
- {
- + LOG("startForeground");
- + music_playing = true;
- + check_sleep();
- fg_runner.startForeground();
- }
- void stopForeground()
- {
- + LOG("stopForeground");
- + music_playing = false;
- fg_runner.stopForeground();
- + check_sleep();
- }
- @Override
- Index: apps/screen_access.c
- ===================================================================
- --- apps/screen_access.c (revision 30742)
- +++ apps/screen_access.c (working copy)
- @@ -186,10 +186,8 @@
- .vline=&lcd_vline,
- .hline=&lcd_hline,
- .scroll_step=&lcd_scroll_step,
- - .puts_style_offset=&lcd_puts_style_offset,
- - .puts_style_xyoffset=&lcd_puts_style_xyoffset,
- + .putsxy_style_xyoffset=&lcd_putsxy_style_xyoffset,
- .puts_scroll_style=&lcd_puts_scroll_style,
- - .puts_scroll_style_offset=&lcd_puts_scroll_style_offset,
- .puts_scroll_style_xyoffset=&lcd_puts_scroll_style_xyoffset,
- #endif /* HAVE_LCD_BITMAP */
- @@ -205,9 +203,7 @@
- .putsxy=&lcd_putsxy,
- .puts=&lcd_puts,
- .putsf=&lcd_putsf,
- - .puts_offset=&lcd_puts_offset,
- .puts_scroll=&lcd_puts_scroll,
- - .puts_scroll_offset=&lcd_puts_scroll_offset,
- .scroll_speed=&lcd_scroll_speed,
- .scroll_delay=&lcd_scroll_delay,
- .stop_scroll=&lcd_stop_scroll,
- @@ -279,10 +275,8 @@
- .vline=&lcd_remote_vline,
- .hline=&lcd_remote_hline,
- .scroll_step=&lcd_remote_scroll_step,
- - .puts_style_offset=&lcd_remote_puts_style_offset,
- - .puts_style_xyoffset=&lcd_remote_puts_style_xyoffset,
- + .putsxy_style_xyoffset=&lcd_remote_puts_style_xyoffset,
- .puts_scroll_style=&lcd_remote_puts_scroll_style,
- - .puts_scroll_style_offset=&lcd_remote_puts_scroll_style_offset,
- .puts_scroll_style_xyoffset=&lcd_remote_puts_scroll_style_xyoffset,
- #endif /* 1 */
- @@ -296,9 +290,7 @@
- .putsxy=&lcd_remote_putsxy,
- .puts=&lcd_remote_puts,
- .putsf=&lcd_remote_putsf,
- - .puts_offset=&lcd_remote_puts_offset,
- .puts_scroll=&lcd_remote_puts_scroll,
- - .puts_scroll_offset=&lcd_remote_puts_scroll_offset,
- .scroll_speed=&lcd_remote_scroll_speed,
- .scroll_delay=&lcd_remote_scroll_delay,
- .stop_scroll=&lcd_remote_stop_scroll,
- Index: apps/screen_access.h
- ===================================================================
- --- apps/screen_access.h (revision 30742)
- +++ apps/screen_access.h (working copy)
- @@ -78,14 +78,10 @@
- int (*getfont)(void);
- void (*scroll_step)(int pixels);
- - void (*puts_style_offset)(int x, int y, const unsigned char *str,
- - int style, int x_offset);
- - void (*puts_style_xyoffset)(int x, int y, const unsigned char *str,
- - int style, int x_offset, int y_offset);
- + void (*putsxy_style_xyoffset)(int x, int y, const unsigned char *str,
- + int style, int x_offset, int y_offset);
- void (*puts_scroll_style)(int x, int y, const unsigned char *string,
- int style);
- - void (*puts_scroll_style_offset)(int x, int y, const unsigned char *string,
- - int style, int x_offset);
- void (*puts_scroll_style_xyoffset)(int x, int y, const unsigned char *string,
- int style, int x_offset, int y_offset);
- void (*mono_bitmap)(const unsigned char *src,
- @@ -139,10 +135,7 @@
- void (*putsxy)(int x, int y, const unsigned char *str);
- void (*puts)(int x, int y, const unsigned char *str);
- void (*putsf)(int x, int y, const unsigned char *str, ...);
- - void (*puts_offset)(int x, int y, const unsigned char *str, int offset);
- void (*puts_scroll)(int x, int y, const unsigned char *string);
- - void (*puts_scroll_offset)(int x, int y, const unsigned char *string,
- - int x_offset);
- void (*scroll_speed)(int speed);
- void (*scroll_delay)(int ms);
- void (*stop_scroll)(void);
- Index: apps/gui/bitmap/list.c
- ===================================================================
- --- apps/gui/bitmap/list.c (revision 30742)
- +++ apps/gui/bitmap/list.c (working copy)
- @@ -312,7 +312,7 @@
- if (item_offset> item_width - (list_text_vp->width - text_pos))
- {
- /* don't scroll */
- - display->puts_style_xyoffset(0, line, entry_name,
- + display->putsxy_style_xyoffset(0, line*h, entry_name,
- style, item_offset, draw_offset);
- }
- else
- @@ -324,10 +324,10 @@
- else
- {
- if (list->scroll_all)
- - display->puts_scroll_style_xyoffset(0, line, entry_name,
- + display->puts_scroll_style_xyoffset(0, line*h, entry_name,
- style, item_offset, draw_offset);
- else
- - display->puts_style_xyoffset(0, line, entry_name,
- + display->putsxy_style_xyoffset(0, line, entry_name,
- style, item_offset, draw_offset);
- }
- /* do the icon */
- Index: apps/gui/skin_engine/skin_display.c
- ===================================================================
- --- apps/gui/skin_engine/skin_display.c (revision 30742)
- +++ apps/gui/skin_engine/skin_display.c (working copy)
- @@ -596,9 +596,10 @@
- else
- {
- #ifdef HAVE_LCD_BITMAP
- + int ypos = line * string_height;
- /* clear the line first */
- display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
- - display->fillrect(left_xpos, line*string_height, display->getwidth(), string_height);
- + display->fillrect(left_xpos, ypos, display->getwidth(), string_height);
- display->set_drawmode(DRMODE_SOLID);
- #endif
- @@ -609,18 +610,18 @@
- /* print aligned strings */
- if (left_width != 0)
- {
- - display->puts_style_xyoffset(left_xpos/space_width, line,
- + display->putsxy_style_xyoffset(left_xpos, ypos,
- (unsigned char *)format_align->left, style, 0, 0);
- }
- if (center_width != 0)
- {
- - display->puts_style_xyoffset(center_xpos/space_width, line,
- + display->putsxy_style_xyoffset(center_xpos, ypos,
- (unsigned char *)format_align->center, style, 0, 0);
- }
- if (right_width != 0)
- {
- - display->puts_style_xyoffset(right_xpos/space_width, line,
- + display->putsxy_style_xyoffset(right_xpos, ypos,
- (unsigned char *)format_align->right, style, 0, 0);
- }
- #else
- Index: apps/debug_menu.c
- ===================================================================
- --- apps/debug_menu.c (revision 30742)
- +++ apps/debug_menu.c (working copy)
- @@ -2120,9 +2120,9 @@
- };
- static int menu_action_callback(int btn, struct gui_synclist *lists)
- {
- - int i;
- if (btn == ACTION_STD_OK)
- {
- + int i;
- FOR_NB_SCREENS(i)
- viewportmanager_theme_enable(i, false, NULL);
- menuitems[gui_synclist_get_sel_pos(lists)].function();
- Index: wps/cabbiev2.480x800x16.wps
- ===================================================================
- --- wps/cabbiev2.480x800x16.wps (revision 30742)
- +++ wps/cabbiev2.480x800x16.wps (working copy)
- @@ -52,15 +52,15 @@
- %s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>
- # next track info - AA
- -%Vl(d,0,550,-,-,-)
- +%Vl(d,0,512,-,-,-)
- %?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?D(2)<%D(2)|%(root%)>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>>
- # playtime
- -%V(20,660,440,36,-)
- +%V(20,622,440,36,-)
- %pc%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>%ar%pr
- # progressbar and bottom icons
- -%V(0,600,-,-,-)
- +%V(0,562,-,-,-)
- %pb(25,11,430,-,pb-480x800x16.bmp)
- %T(25,0,430,50,progressbar)
- @@ -95,7 +95,7 @@
- #
- # ff/rewind button
- #
- -%V(0,720,150,75,-)
- +%V(0,682,150,75,-)
- %xd(H)%xd(I)
- %T(0,0,70,75,rwd, repeat)
- %T(0,0,70,75,prev)
- Index: firmware/export/lcd.h
- ===================================================================
- --- firmware/export/lcd.h (revision 30742)
- +++ firmware/export/lcd.h (working copy)
- @@ -197,9 +197,6 @@
- extern void lcd_puts(int x, int y, const unsigned char *string);
- extern void lcd_putsf(int x, int y, const unsigned char *fmt, ...);
- extern void lcd_puts_style(int x, int y, const unsigned char *string, int style);
- -extern void lcd_puts_offset(int x, int y, const unsigned char *str, int offset);
- -extern void lcd_puts_scroll_offset(int x, int y, const unsigned char *string,
- - int offset);
- extern void lcd_putc(int x, int y, unsigned long ucs);
- extern void lcd_stop_scroll(void);
- extern void lcd_bidir_scroll(int threshold);
- @@ -481,14 +478,10 @@
- extern void lcd_setfont(int font);
- extern int lcd_getfont(void);
- -extern void lcd_puts_style_offset(int x, int y, const unsigned char *str,
- - int style, int x_offset);
- -extern void lcd_puts_style_xyoffset(int x, int y, const unsigned char *str,
- +extern void lcd_putsxy_style_xyoffset(int x, int y, const unsigned char *str,
- int style, int x_offset, int y_offset);
- -extern void lcd_puts_scroll_style_offset(int x, int y, const unsigned char *string,
- - int style, int x_offset);
- extern void lcd_puts_scroll_style_xyoffset(int x, int y, const unsigned char *string,
- - int style, int x_offset, int y_offset);
- + int style, int x_offset, int y_offset);
- /* low level drawing function pointer arrays */
- #if LCD_DEPTH >= 8
- Index: firmware/export/config/android.h
- ===================================================================
- --- firmware/export/config/android.h (revision 30742)
- +++ firmware/export/config/android.h (working copy)
- @@ -50,6 +50,9 @@
- #define LCD_DEPTH 16
- #define LCD_PIXELFORMAT 565
- +/* define this if you use relative (percent) screen coordinates */
- +#define LCD_RELATIVE
- +
- #define HAVE_LCD_ENABLE
- /* define this to indicate your device's keypad */
- Index: firmware/export/config/sdlapp.h
- ===================================================================
- --- firmware/export/config/sdlapp.h (revision 30742)
- +++ firmware/export/config/sdlapp.h (working copy)
- @@ -50,6 +50,9 @@
- #define LCD_DEPTH 16
- #define LCD_PIXELFORMAT 565
- +/* define this if you use relative (percent) screen coordinates */
- +#define LCD_RELATIVE
- +
- /* define this to indicate your device's keypad */
- #define HAVE_TOUCHSCREEN
- #define HAVE_BUTTON_DATA
- Index: firmware/target/hosted/android/kernel-android.c
- ===================================================================
- --- firmware/target/hosted/android/kernel-android.c (revision 30742)
- +++ firmware/target/hosted/android/kernel-android.c (working copy)
- @@ -19,7 +19,7 @@
- *
- ****************************************************************************/
- -
- +#include <jni.h>
- #include <time.h>
- #include <signal.h>
- #include <errno.h>
- @@ -67,21 +67,25 @@
- *
- * Can be possibly be attached if it really needs to be. but let's
- * keep this leightweight */
- +static timer_t timerid = 0;
- +static int nsec;
- +
- void tick_start(unsigned int interval_in_ms)
- {
- int ret = 0;
- - timer_t timerid;
- struct itimerspec ts;
- sigevent_t sigev;
- /* initializing in the declaration causes some weird warnings */
- memset(&sigev, 0, sizeof(sigevent_t));
- - sigev.sigev_notify = SIGEV_THREAD,
- - sigev.sigev_notify_function = timer_signal,
- + sigev.sigev_notify = SIGEV_THREAD;
- + sigev.sigev_notify_function = timer_signal;
- + nsec = interval_in_ms * 1000000;
- ts.it_value.tv_sec = ts.it_interval.tv_sec = 0;
- - ts.it_value.tv_nsec = ts.it_interval.tv_nsec = interval_in_ms*1000*1000;
- + ts.it_value.tv_nsec = ts.it_interval.tv_nsec = nsec;
- +
- /* add the timer */
- ret |= timer_create(CLOCK_REALTIME, &sigev, &timerid);
- ret |= timer_settime(timerid, 0, &ts, NULL);
- @@ -95,7 +99,27 @@
- panicf("%s(): %s\n", __func__, strerror(errno));
- }
- +JNIEXPORT void JNICALL
- +Java_org_rockbox_RockboxService_tickpause(JNIEnv*env, jobject this)
- +{
- + (void)env;
- + (void)this;
- + const struct itimerspec newtimer = { {0, 0}, {0, 0} };
- + if (timerid)
- + timer_settime(timerid, 0, &newtimer, NULL);
- +}
- +JNIEXPORT void JNICALL
- +Java_org_rockbox_RockboxService_tickresume(JNIEnv*env, jobject this)
- +{
- + (void)env;
- + (void)this;
- + const struct itimerspec newtimer = { {0, nsec}, {0, 0} };
- +
- + if (timerid)
- + timer_settime(timerid, 0, &newtimer, NULL);
- +}
- +
- bool timer_register(int reg_prio, void (*unregister_callback)(void),
- long cycles, void (*timer_callback)(void))
- {
- Index: firmware/drivers/lcd-bitmap-common.c
- ===================================================================
- --- firmware/drivers/lcd-bitmap-common.c (revision 30742)
- +++ firmware/drivers/lcd-bitmap-common.c (working copy)
- @@ -42,8 +42,8 @@
- #if defined(MAIN_LCD) && defined(HAVE_LCD_COLOR)
- /* Fill a rectangle with a gradient */
- -static void lcd_gradient_rect(int x1, int x2, int y, unsigned h,
- - int num_lines, int cur_line)
- +static void LCDFN(gradient_rect)(int x1, int x2, int y, unsigned h,
- + int num_lines, int cur_line)
- {
- int old_pattern = current_vp->fg_pattern;
- int step_mul;
- @@ -71,7 +71,7 @@
- for(count = 0; count < h; count++) {
- current_vp->fg_pattern = LCD_RGBPACK(h_r >> 16, h_g >> 16, h_b >> 16);
- - lcd_hline(x1, x2, y + count);
- + LCDFN(hline)(x1, x2, y + count);
- h_r -= rstep;
- h_g -= gstep;
- h_b -= bstep;
- @@ -206,8 +206,8 @@
- #if defined(MAIN_LCD) && defined(HAVE_LCD_COLOR)
- if (pf->depth)
- - lcd_alpha_bitmap_part(bits, ofs, 0, width, x + base_ofs, y,
- - width - ofs, pf->height);
- + LCDFN(alpha_bitmap_part)(bits, ofs, 0, width, x + base_ofs, y,
- + width - ofs, pf->height);
- else
- #endif
- LCDFN(mono_bitmap_part)(bits, ofs, 0, width, x + base_ofs,
- @@ -273,23 +273,23 @@
- current_vp->drawmode ^= DRMODE_INVERSEVID;
- if (style & STYLE_GRADIENT) {
- current_vp->drawmode = DRMODE_FG;
- - lcd_gradient_rect(xpos, current_vp->width, ypos, h,
- - NUMLN_UNPACK(style), CURLN_UNPACK(style));
- + LCDFN(gradient_rect)(xpos, current_vp->width, ypos, h,
- + NUMLN_UNPACK(style), CURLN_UNPACK(style));
- current_vp->fg_pattern = current_vp->lst_pattern;
- }
- else if (style & STYLE_COLORBAR) {
- current_vp->drawmode = DRMODE_FG;
- current_vp->fg_pattern = current_vp->lss_pattern;
- - lcd_fillrect(xpos, ypos, current_vp->width - xpos, h);
- + LCDFN(fillrect)(xpos, ypos, current_vp->width - xpos, h);
- current_vp->fg_pattern = current_vp->lst_pattern;
- }
- else {
- - lcd_fillrect(x, ypos, current_vp->width - xrect, h);
- + LCDFN(fillrect)(x, ypos, current_vp->width - xrect, h);
- current_vp->drawmode = (style & STYLE_INVERT) ?
- (DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID;
- }
- if (str[0])
- - lcd_putsxyofs(xpos, ypos, offset, str);
- + LCDFN(putsxyofs)(xpos, ypos, offset, str);
- current_vp->fg_pattern = oldfgcolor;
- current_vp->bg_pattern = oldbgcolor;
- #else
- @@ -305,30 +305,27 @@
- /*** Line oriented text output ***/
- -/* put a string at a given char position */
- -void LCDFN(puts_style_xyoffset)(int x, int y, const unsigned char *str,
- - int style, int x_offset, int y_offset)
- +/* put a string at a given pixel position */
- +void LCDFN(putsxy_style_xyoffset)(int x, int y, const unsigned char *str,
- + int style, int x_offset, int y_offset)
- {
- int xpos, ypos, w, h;
- - LCDFN(scroll_stop_line)(current_vp, y);
- + LCDFN(getstringsize)(" ", NULL, &h);
- + lcd_scroll_stop_line(current_vp, y/h);
- if(!str)
- return;
- LCDFN(getstringsize)(str, &w, &h);
- - xpos = x * LCDFN(getstringsize)(" ", NULL, NULL);
- - ypos = y * h + y_offset;
- + xpos = x;
- + ypos = y + y_offset;
- LCDFN(putsxyofs_style)(xpos, ypos, str, style, w, h, x_offset);
- }
- -void LCDFN(puts_style_offset)(int x, int y, const unsigned char *str,
- - int style, int x_offset)
- -{
- - LCDFN(puts_style_xyoffset)(x, y, str, style, x_offset, 0);
- -}
- -
- void LCDFN(puts)(int x, int y, const unsigned char *str)
- {
- - LCDFN(puts_style_offset)(x, y, str, STYLE_DEFAULT, 0);
- + int w, h;
- + LCDFN(getstringsize)(" ", &w, &h);
- + LCDFN(putsxyofs)(x*w, y*h, 0, str);
- }
- /* Formatting version of LCDFN(puts) */
- @@ -344,18 +341,16 @@
- void LCDFN(puts_style)(int x, int y, const unsigned char *str, int style)
- {
- - LCDFN(puts_style_offset)(x, y, str, style, 0);
- + int w, h;
- + LCDFN(getstringsize)(" ", &w, &h);
- + LCDFN(putsxy_style_xyoffset)(x*w, y*h, str, style, 0, 0);
- }
- -void LCDFN(puts_offset)(int x, int y, const unsigned char *str, int offset)
- -{
- - LCDFN(puts_style_offset)(x, y, str, STYLE_DEFAULT, offset);
- -}
- -
- /*** scrolling ***/
- -void LCDFN(puts_scroll_style_xyoffset)(int x, int y, const unsigned char *string,
- - int style, int x_offset, int y_offset)
- +void LCDFN(puts_scroll_style_xyoffset)(int x, int y,
- + const unsigned char *string,
- + int style, int x_offset, int y_offset)
- {
- struct scrollinfo* s;
- char *end;
- @@ -366,12 +361,13 @@
- return;
- /* remove any previously scrolling line at the same location */
- - LCDFN(scroll_stop_line)(current_vp, y);
- + LCDFN(getstringsize)(" ", NULL, &h);
- + lcd_scroll_stop_line(current_vp, y/h);
- - if (LCDFN(scroll_info).lines >= LCDM(SCROLLABLE_LINES)) return;
- + if (lcd_scroll_info.lines >= LCDM(SCROLLABLE_LINES)) return;
- if (!string)
- return;
- - LCDFN(puts_style_xyoffset)(x, y, string, style, x_offset, y_offset);
- + LCDFN(putsxy_style_xyoffset)(x, y, string, style, x_offset, y_offset);
- LCDFN(getstringsize)(string, &w, &h);
- @@ -379,8 +375,8 @@
- return;
- /* prepare scroll line */
- - s = &LCDFN(scroll_info).scroll[LCDFN(scroll_info).lines];
- - s->start_tick = current_tick + LCDFN(scroll_info).delay;
- + s = &lcd_scroll_info.scroll[lcd_scroll_info.lines];
- + s->start_tick = current_tick + lcd_scroll_info.delay;
- s->style = style;
- strlcpy(s->line, string, sizeof s->line);
- @@ -390,9 +386,9 @@
- /* scroll bidirectional or forward only depending on the string
- width */
- - if ( LCDFN(scroll_info).bidir_limit ) {
- + if ( lcd_scroll_info.bidir_limit ) {
- s->bidir = s->width < (current_vp->width) *
- - (100 + LCDFN(scroll_info).bidir_limit) / 100;
- + (100 + lcd_scroll_info.bidir_limit) / 100;
- }
- else
- s->bidir = false;
- @@ -410,11 +406,11 @@
- s->vp = current_vp;
- s->y = y;
- s->offset = x_offset;
- - s->startx = x * LCDFN(getstringsize)(" ", NULL, NULL);
- + s->startx = x;
- s->y_offset = y_offset;
- s->backward = false;
- - LCDFN(scroll_info).lines++;
- + lcd_scroll_info.lines++;
- }
- void LCDFN(puts_scroll)(int x, int y, const unsigned char *string)
- @@ -425,15 +421,9 @@
- void LCDFN(puts_scroll_style)(int x, int y, const unsigned char *string,
- int style)
- {
- - LCDFN(puts_scroll_style_offset)(x, y, string, style, 0);
- + LCDFN(puts_scroll_style_xyoffset)(x, y, string, style, 0, 0);
- }
- -void LCDFN(puts_scroll_offset)(int x, int y, const unsigned char *string,
- - int offset)
- -{
- - LCDFN(puts_scroll_style_offset)(x, y, string, STYLE_DEFAULT, offset);
- -}
- -
- void LCDFN(scroll_fn)(void)
- {
- struct font* pf;
- @@ -443,8 +433,8 @@
- struct viewport* old_vp = current_vp;
- bool makedelay;
- - for ( index = 0; index < LCDFN(scroll_info).lines; index++ ) {
- - s = &LCDFN(scroll_info).scroll[index];
- + for ( index = 0; index < lcd_scroll_info.lines; index++ ) {
- + s = &lcd_scroll_info.scroll[index];
- /* check pause */
- if (TIME_BEFORE(current_tick, s->start_tick))
- @@ -453,9 +443,9 @@
- LCDFN(set_viewport)(s->vp);
- if (s->backward)
- - s->offset -= LCDFN(scroll_info).step;
- + s->offset -= lcd_scroll_info.step;
- else
- - s->offset += LCDFN(scroll_info).step;
- + s->offset += lcd_scroll_info.step;
- pf = font_get(current_vp->font);
- xpos = s->startx;
- @@ -485,8 +475,8 @@
- }
- if (makedelay)
- - s->start_tick = current_tick + LCDFN(scroll_info).delay +
- - LCDFN(scroll_info).ticks;
- + s->start_tick = current_tick + lcd_scroll_info.delay +
- + lcd_scroll_info.ticks;
- LCDFN(putsxyofs_style)(xpos, ypos, s->line, s->style, s->width,
- pf->height, s->offset);
- @@ -495,9 +485,3 @@
- }
- LCDFN(set_viewport)(old_vp);
- }
- -
- -void LCDFN(puts_scroll_style_offset)(int x, int y, const unsigned char *string,
- - int style, int x_offset)
- -{
- - LCDFN(puts_scroll_style_xyoffset)(x, y, string, style, x_offset, 0);
- -}
- Index: firmware/drivers/lcd-16bit-common.c
- ===================================================================
- --- firmware/drivers/lcd-16bit-common.c (revision 30742)
- +++ firmware/drivers/lcd-16bit-common.c (working copy)
- @@ -42,9 +42,9 @@
- /* Draw a partial monochrome bitmap */
- -void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
- - int src_y, int stride, int x, int y,
- - int width, int height)
- +void ICODE_ATTR LCDFN(mono_bitmap_part)(const unsigned char *src, int src_x,
- + int src_y, int stride, int x, int y,
- + int width, int height)
- {
- const unsigned char *src_end;
- fb_data *dst, *dst_col;
- @@ -224,7 +224,8 @@
- while (src < src_end);
- }
- /* Draw a full monochrome bitmap */
- -void lcd_mono_bitmap(const unsigned char *src, int x, int y, int width, int height)
- +void LCDFN(mono_bitmap)(const unsigned char *src, int x, int y,
- + int width, int height)
- {
- lcd_mono_bitmap_part(src, 0, 0, width, x, y, width, height);
- }
- @@ -285,9 +286,9 @@
- return blend_two_colors(c, current_vp->fg_pattern, a);
- }
- -void ICODE_ATTR lcd_alpha_bitmap_part(const unsigned char *src, int src_x,
- - int src_y, int stride, int x, int y,
- - int width, int height)
- +void ICODE_ATTR LCDFN(alpha_bitmap_part)(const unsigned char *src, int src_x,
- + int src_y, int stride, int x, int y,
- + int width, int height)
- {
- fb_data *dst, *dst_row;
- unsigned dmask = 0x00000000;
- Index: firmware/drivers/lcd-16bit.c
- ===================================================================
- --- firmware/drivers/lcd-16bit.c (revision 30742)
- +++ firmware/drivers/lcd-16bit.c (working copy)
- @@ -1,10 +1,4 @@
- /***************************************************************************
- - * __________ __ ___.
- - * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- - * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2005 by Dave Chapman
- @@ -39,6 +33,22 @@
- #include "bidi.h"
- #include "scroll_engine.h"
- +#ifdef LCD_RELATIVE
- +
- +int lcd_xres = 480;
- +int lcd_yres = 800;
- +
- +#define XPOS(xpos) (xpos * lcd_xres / 480)
- +#define YPOS(ypos) (ypos * lcd_yres / 800)
- +
- +#define LCDFN(fn) lcd_abs_ ## fn
- +
- +#else /* not LCD_RELATIVE */
- +
- +#define LCDFN(fn) lcd_ ## fn
- +
- +#endif /* LCD_RELATIVE */
- +
- enum fill_opt {
- OPT_NONE = 0,
- OPT_SET,
- @@ -81,7 +91,7 @@
- }
- /*** Viewports ***/
- -void lcd_set_viewport(struct viewport* vp)
- +void LCDFN(set_viewport)(struct viewport* vp)
- {
- if (vp == NULL)
- current_vp = &default_vp;
- @@ -117,7 +127,7 @@
- current_vp->width, current_vp->height);
- }
- -void lcd_update_viewport_rect(int x, int y, int width, int height)
- +void LCDFN(update_viewport_rect)(int x, int y, int width, int height)
- {
- lcd_update_rect(current_vp->x + x, current_vp->y + y, width, height);
- }
- @@ -196,7 +206,7 @@
- return current_vp->font;
- }
- -int lcd_getstringsize(const unsigned char *str, int *w, int *h)
- +int LCDFN(getstringsize)(const unsigned char *str, int *w, int *h)
- {
- return font_getstringsize(str, w, h, current_vp->font);
- }
- @@ -327,7 +337,7 @@
- }
- /* Set a single pixel */
- -void lcd_drawpixel(int x, int y)
- +void LCDFN(drawpixel)(int x, int y)
- {
- if ( ((unsigned)x < (unsigned)current_vp->width)
- && ((unsigned)y < (unsigned)current_vp->height)
- @@ -340,7 +350,7 @@
- }
- /* Draw a line */
- -void lcd_drawline(int x1, int y1, int x2, int y2)
- +void LCDFN(drawline)(int x1, int y1, int x2, int y2)
- {
- int numpixels;
- int i;
- @@ -429,7 +439,7 @@
- }
- /* Draw a horizontal line (optimised) */
- -void lcd_hline(int x1, int x2, int y)
- +void LCDFN(hline)(int x1, int x2, int y)
- {
- int x, width;
- unsigned bits = 0;
- @@ -525,7 +535,7 @@
- }
- /* Draw a vertical line (optimised) */
- -void lcd_vline(int x, int y1, int y2)
- +void LCDFN(vline)(int x, int y1, int y2)
- {
- int y;
- fb_data *dst, *dst_end;
- @@ -582,7 +592,7 @@
- }
- /* Draw a rectangular box */
- -void lcd_drawrect(int x, int y, int width, int height)
- +void LCDFN(drawrect)(int x, int y, int width, int height)
- {
- if ((width <= 0) || (height <= 0))
- return;
- @@ -597,7 +607,7 @@
- }
- /* Fill a rectangular area */
- -void lcd_fillrect(int x, int y, int width, int height)
- +void LCDFN(fillrect)(int x, int y, int width, int height)
- {
- unsigned bits = 0;
- enum fill_opt fillopt = OPT_NONE;
- @@ -709,9 +719,9 @@
- }
- /* Draw a partial native bitmap */
- -void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
- - int stride, int x, int y, int width,
- - int height)
- +void ICODE_ATTR LCDFN(bitmap_part)(const fb_data *src, int src_x, int src_y,
- + int stride, int x, int y, int width,
- + int height)
- {
- fb_data *dst;
- @@ -782,15 +792,15 @@
- }
- /* Draw a full native bitmap */
- -void lcd_bitmap(const fb_data *src, int x, int y, int width, int height)
- +void LCDFN(bitmap)(const fb_data *src, int x, int y, int width, int height)
- {
- lcd_bitmap_part(src, 0, 0, width, x, y, width, height);
- }
- /* Draw a partial native bitmap with transparency and foreground colors */
- -void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
- - int src_y, int stride, int x,
- - int y, int width, int height)
- +void ICODE_ATTR LCDFN(bitmap_transparent_part)(const fb_data *src, int src_x,
- + int src_y, int stride, int x,
- + int y, int width, int height)
- {
- fb_data *dst;
- unsigned fg = current_vp->fg_pattern;
- @@ -907,8 +917,8 @@
- }
- /* Draw a full native bitmap with transparent and foreground colors */
- -void lcd_bitmap_transparent(const fb_data *src, int x, int y,
- - int width, int height)
- +void LCDFN(bitmap_transparent)(const fb_data *src, int x, int y,
- + int width, int height)
- {
- lcd_bitmap_transparent_part(src, 0, 0, width, x, y, width, height);
- }
- @@ -918,5 +928,9 @@
- #include "lcd-16bit-common.c"
- +#ifdef LCD_RELATIVE
- +#include "lcd-bitmap-relative.c"
- +#else
- #include "lcd-bitmap-common.c"
- +#endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement