mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
Add the viewport functions to the screens API, including a new getfont() function to return the font used by the current viewport. A change to the screens API makes the plugin API incompatible, so we bump version and sort. Also commit the test_viewports plugin (not built by default). This is some more of FS#8385.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16022 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
08e6c6bc2a
commit
3646c31367
14 changed files with 379 additions and 12 deletions
|
@ -181,6 +181,9 @@ static const struct plugin_api rockbox_api = {
|
|||
lcd_remote_bitmap,
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) && !defined(SIMULATOR)
|
||||
lcd_grey_phase_blit,
|
||||
#endif
|
||||
#if defined(HAVE_LCD_COLOR)
|
||||
lcd_yuv_blit,
|
||||
#endif
|
||||
|
@ -583,10 +586,6 @@ static const struct plugin_api rockbox_api = {
|
|||
sound_unit,
|
||||
sound_val2phys,
|
||||
#endif /* CONFIG_CODEC == SWCODEC */
|
||||
|
||||
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) && !defined(SIMULATOR)
|
||||
lcd_grey_phase_blit,
|
||||
#endif
|
||||
};
|
||||
|
||||
int plugin_load(const char* plugin, void* parameter)
|
||||
|
|
|
@ -119,12 +119,12 @@
|
|||
#define PLUGIN_MAGIC 0x526F634B /* RocK */
|
||||
|
||||
/* increase this every time the api struct changes */
|
||||
#define PLUGIN_API_VERSION 94
|
||||
#define PLUGIN_API_VERSION 95
|
||||
|
||||
/* update this to latest version if a change to the api struct breaks
|
||||
backwards compatibility (and please take the opportunity to sort in any
|
||||
new function which are "waiting" at the end of the function table) */
|
||||
#define PLUGIN_MIN_API_VERSION 88
|
||||
#define PLUGIN_MIN_API_VERSION 95
|
||||
|
||||
/* plugin return codes */
|
||||
enum plugin_status {
|
||||
|
@ -267,6 +267,10 @@ struct plugin_api {
|
|||
void (*lcd_remote_bitmap)(const fb_remote_data *src, int x, int y, int width,
|
||||
int height);
|
||||
#endif
|
||||
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) && !defined(SIMULATOR)
|
||||
void (*lcd_grey_phase_blit)(const struct grey_data *data, int bx, int by,
|
||||
int bwidth, int bheight, int stride);
|
||||
#endif
|
||||
#if defined(HAVE_LCD_COLOR)
|
||||
void (*lcd_yuv_blit)(unsigned char * const src[3],
|
||||
int src_x, int src_y, int stride,
|
||||
|
@ -718,11 +722,6 @@ struct plugin_api {
|
|||
const char * (*sound_unit)(int setting);
|
||||
int (*sound_val2phys)(int setting, int value);
|
||||
#endif /* CONFIG_CODEC == SWCODEC */
|
||||
|
||||
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) && !defined(SIMULATOR)
|
||||
void (*lcd_grey_phase_blit)(const struct grey_data *data, int bx, int by,
|
||||
int bwidth, int bheight, int stride);
|
||||
#endif
|
||||
};
|
||||
|
||||
/* plugin header */
|
||||
|
|
|
@ -81,6 +81,7 @@ test_disk,apps
|
|||
test_fps,apps
|
||||
test_sampr,apps
|
||||
test_scanrate,apps
|
||||
test_viewports,apps
|
||||
text_editor,apps
|
||||
vbrfix,viewers
|
||||
video,viewers
|
||||
|
|
309
apps/plugins/test_viewports.c
Normal file
309
apps/plugins/test_viewports.c
Normal file
|
@ -0,0 +1,309 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id: helloworld.c 12807 2007-03-16 21:56:08Z amiconn $
|
||||
*
|
||||
* Copyright (C) 2007 Dave Chapman
|
||||
*
|
||||
* All files in this archive are subject to the GNU General Public License.
|
||||
* See the file COPYING in the source tree root for full license agreement.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include "plugin.h"
|
||||
|
||||
PLUGIN_HEADER
|
||||
|
||||
static struct plugin_api* rb;
|
||||
|
||||
#ifdef HAVE_LCD_BITMAP
|
||||
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
#define BGCOLOR_1 LCD_RGBPACK(255,255,0)
|
||||
#define BGCOLOR_2 LCD_RGBPACK(0,255,0)
|
||||
#define FGCOLOR_1 LCD_RGBPACK(0,0,255)
|
||||
#else if LCD_DEPTH > 1
|
||||
#define BGCOLOR_1 LCD_DARKGRAY
|
||||
#define BGCOLOR_2 LCD_LIGHTGRAY
|
||||
#define FGCOLOR_1 LCD_WHITE
|
||||
#endif
|
||||
|
||||
static struct viewport vp0 =
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.width = LCD_WIDTH,
|
||||
.height = 20,
|
||||
.font = FONT_UI,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
#if LCD_DEPTH > 1
|
||||
.fg_pattern = LCD_DEFAULT_FG,
|
||||
.bg_pattern = BGCOLOR_1,
|
||||
#endif
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
.lss_pattern = LCD_DEFAULT_BG,
|
||||
.lse_pattern = LCD_DEFAULT_BG,
|
||||
.lst_pattern = LCD_DEFAULT_BG,
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct viewport vp1 =
|
||||
{
|
||||
.x = LCD_WIDTH / 10,
|
||||
.y = 20,
|
||||
.width = LCD_WIDTH / 3,
|
||||
.height = LCD_HEIGHT / 2,
|
||||
.font = FONT_SYSFIXED,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
#if LCD_DEPTH > 1
|
||||
.fg_pattern = LCD_DEFAULT_FG,
|
||||
.bg_pattern = LCD_DEFAULT_BG,
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
.lss_pattern = LCD_DEFAULT_BG,
|
||||
.lse_pattern = LCD_DEFAULT_BG,
|
||||
.lst_pattern = LCD_DEFAULT_BG,
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct viewport vp2 =
|
||||
{
|
||||
.x = LCD_WIDTH / 2,
|
||||
.y = 40,
|
||||
.width = LCD_WIDTH / 3,
|
||||
.height = (LCD_HEIGHT / 2),
|
||||
.font = FONT_UI,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
#if LCD_DEPTH > 1
|
||||
.fg_pattern = FGCOLOR_1,
|
||||
.bg_pattern = BGCOLOR_2,
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
.lss_pattern = LCD_DEFAULT_BG,
|
||||
.lse_pattern = LCD_DEFAULT_BG,
|
||||
.lst_pattern = LCD_DEFAULT_BG,
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
static struct viewport vp3 =
|
||||
{
|
||||
.x = LCD_WIDTH / 4,
|
||||
.y = (5 * LCD_HEIGHT) / 8,
|
||||
.width = LCD_WIDTH / 2,
|
||||
.height = (LCD_HEIGHT / 4),
|
||||
.font = FONT_SYSFIXED,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
#if LCD_DEPTH > 1
|
||||
.fg_pattern = LCD_BLACK,
|
||||
.bg_pattern = LCD_WHITE,
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
.lss_pattern = LCD_DEFAULT_BG,
|
||||
.lse_pattern = LCD_DEFAULT_BG,
|
||||
.lst_pattern = LCD_DEFAULT_BG,
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
#ifdef HAVE_REMOTE_LCD
|
||||
static struct viewport rvp0 =
|
||||
{
|
||||
.x = 0,
|
||||
.y = 10,
|
||||
.width = LCD_REMOTE_WIDTH / 3,
|
||||
.height = LCD_REMOTE_HEIGHT - 10,
|
||||
.font = FONT_SYSFIXED,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
#if LCD_REMOTE_DEPTH > 1
|
||||
.fg_pattern = LCD_REMOTE_BLACK,
|
||||
.bg_pattern = LCD_REMOTE_LIGHTGRAY,
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct viewport rvp1 =
|
||||
{
|
||||
.x = LCD_REMOTE_WIDTH / 2,
|
||||
.y = 0,
|
||||
.width = LCD_REMOTE_WIDTH / 3,
|
||||
.height = LCD_REMOTE_HEIGHT - 10,
|
||||
.font = FONT_SYSFIXED,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
#if LCD_REMOTE_DEPTH > 1
|
||||
.fg_pattern = LCD_REMOTE_DEFAULT_FG,
|
||||
.bg_pattern = LCD_REMOTE_DEFAULT_BG
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
||||
{
|
||||
(void)parameter;
|
||||
char buf[80];
|
||||
int i,y;
|
||||
|
||||
rb = api;
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp0);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(0,0,"Viewport testing plugin - this is a scrolling title");
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp1);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
|
||||
for (i = 0 ; i < 3; i++)
|
||||
{
|
||||
rb->snprintf(buf,sizeof(buf),"Left text, scrolling_line %d",i);
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(0,i,buf);
|
||||
}
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp2);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
for (i = 1 ; i < 3; i++)
|
||||
{
|
||||
rb->snprintf(buf,sizeof(buf),"Right text, scrolling line %d",i);
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(1,i,buf);
|
||||
}
|
||||
|
||||
y = -10;
|
||||
for (i = -10; i < vp2.width + 10; i += 5)
|
||||
{
|
||||
rb->screens[SCREEN_MAIN]->drawline(i, y, i, vp2.height - y);
|
||||
}
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp3);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
for (i = 1 ; i < 2; i++)
|
||||
{
|
||||
rb->snprintf(buf,sizeof(buf),"Bottom text, a scrolling line %d",i);
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(2,i,buf);
|
||||
}
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(4,i,"Short line");
|
||||
rb->screens[SCREEN_MAIN]->update();
|
||||
|
||||
|
||||
#ifdef HAVE_REMOTE_LCD
|
||||
rb->screens[SCREEN_REMOTE]->set_viewport(&rvp0);
|
||||
rb->screens[SCREEN_REMOTE]->clear_viewport();
|
||||
|
||||
for (i = 0 ; i < 5; i++)
|
||||
{
|
||||
rb->snprintf(buf,sizeof(buf),"Left text, scrolling_line %d",i);
|
||||
rb->screens[SCREEN_REMOTE]->puts_scroll(0,i,buf);
|
||||
}
|
||||
rb->screens[SCREEN_REMOTE]->puts(1,i,"Static");
|
||||
|
||||
rb->screens[SCREEN_REMOTE]->set_viewport(&rvp1);
|
||||
rb->screens[SCREEN_REMOTE]->clear_viewport();
|
||||
for (i = 1 ; i < 3; i++)
|
||||
{
|
||||
rb->snprintf(buf,sizeof(buf),"Right text, scrolling line %d",i);
|
||||
rb->screens[SCREEN_REMOTE]->puts_scroll(1,i,buf);
|
||||
}
|
||||
|
||||
y = -10;
|
||||
for (i = -10; i < rvp1.width + 10; i += 5)
|
||||
{
|
||||
rb->screens[SCREEN_REMOTE]->drawline(i, y, i, rvp1.height - y);
|
||||
}
|
||||
|
||||
rb->screens[SCREEN_REMOTE]->update();
|
||||
#endif
|
||||
|
||||
rb->button_get(true);
|
||||
|
||||
/* Restore the default viewport */
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(NULL);
|
||||
#ifdef HAVE_REMOTE_LCD
|
||||
rb->screens[SCREEN_REMOTE]->set_viewport(NULL);
|
||||
#endif
|
||||
|
||||
return PLUGIN_OK;
|
||||
}
|
||||
|
||||
|
||||
#else
|
||||
|
||||
/* Charcell version of plugin */
|
||||
|
||||
static struct viewport vp0 =
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.width = 5,
|
||||
.height = 1,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
};
|
||||
|
||||
static struct viewport vp1 =
|
||||
{
|
||||
.x = 6,
|
||||
.y = 0,
|
||||
.width = 5,
|
||||
.height = 1,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
};
|
||||
|
||||
static struct viewport vp2 =
|
||||
{
|
||||
.x = 0,
|
||||
.y = 1,
|
||||
.width = LCD_WIDTH,
|
||||
.height = 1,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
};
|
||||
|
||||
|
||||
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
||||
{
|
||||
(void)parameter;
|
||||
|
||||
rb = api;
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp0);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(0,0,"Rockbox");
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp1);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(0,0,"Viewports");
|
||||
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(&vp2);
|
||||
rb->screens[SCREEN_MAIN]->clear_viewport();
|
||||
rb->screens[SCREEN_MAIN]->puts_scroll(0,0,"Demonstration");
|
||||
|
||||
rb->screens[SCREEN_MAIN]->update();
|
||||
|
||||
rb->button_get(true);
|
||||
|
||||
/* Restore the default viewport */
|
||||
rb->screens[SCREEN_MAIN]->set_viewport(NULL);
|
||||
|
||||
return PLUGIN_OK;
|
||||
}
|
||||
|
||||
#endif /* !HAVE_LCD_BITMAP */
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include <lcd.h>
|
||||
#include <lcd-remote.h>
|
||||
#include <scroll_engine.h>
|
||||
#include "backlight.h"
|
||||
#include <font.h>
|
||||
#include <button.h>
|
||||
|
@ -50,12 +51,16 @@ struct screen screens[NB_SCREENS] =
|
|||
#elif defined(HAVE_REMOTE_LCD)
|
||||
.has_disk_led=true,
|
||||
#endif
|
||||
.set_viewport=&lcd_set_viewport,
|
||||
.setmargins=&lcd_setmargins,
|
||||
.getwidth=&lcd_getwidth,
|
||||
.getheight=&lcd_getheight,
|
||||
.getymargin=&lcd_getymargin,
|
||||
.getxmargin=&lcd_getxmargin,
|
||||
.getstringsize=&lcd_getstringsize,
|
||||
#ifdef HAVE_LCD_BITMAP
|
||||
.setfont=&lcd_setfont,
|
||||
.getfont=&lcd_getfont,
|
||||
.mono_bitmap=&lcd_mono_bitmap,
|
||||
.mono_bitmap_part=&lcd_mono_bitmap_part,
|
||||
.set_drawmode=&lcd_set_drawmode,
|
||||
|
@ -84,6 +89,7 @@ struct screen screens[NB_SCREENS] =
|
|||
#endif
|
||||
#endif /* LCD_DEPTH > 1 */
|
||||
.update_rect=&lcd_update_rect,
|
||||
.update_viewport_rect=&lcd_update_viewport_rect,
|
||||
.fillrect=&lcd_fillrect,
|
||||
.drawrect=&lcd_drawrect,
|
||||
.drawpixel=&lcd_drawpixel,
|
||||
|
@ -114,7 +120,11 @@ struct screen screens[NB_SCREENS] =
|
|||
.scroll_delay=&lcd_scroll_delay,
|
||||
.stop_scroll=&lcd_stop_scroll,
|
||||
.clear_display=&lcd_clear_display,
|
||||
.clear_viewport=&lcd_clear_viewport,
|
||||
.scroll_stop=&lcd_scroll_stop,
|
||||
.scroll_stop_line=&lcd_scroll_stop_line,
|
||||
.update=&lcd_update,
|
||||
.update_viewport=&lcd_update_viewport,
|
||||
.backlight_on=&backlight_on,
|
||||
.backlight_off=&backlight_off,
|
||||
.is_backlight_on=&is_backlight_on,
|
||||
|
@ -132,12 +142,15 @@ struct screen screens[NB_SCREENS] =
|
|||
.is_color=false,/* No color remotes yet */
|
||||
.pixel_format=LCD_REMOTE_PIXELFORMAT,
|
||||
.has_disk_led=false,
|
||||
.set_viewport=&lcd_remote_set_viewport,
|
||||
.setmargins=&lcd_remote_setmargins,
|
||||
.getwidth=&lcd_remote_getwidth,
|
||||
.getheight=&lcd_remote_getheight,
|
||||
.getymargin=&lcd_remote_getymargin,
|
||||
.getxmargin=&lcd_remote_getxmargin,
|
||||
.getstringsize=&lcd_remote_getstringsize,
|
||||
#if 1 /* all remote LCDs are bitmapped so far */
|
||||
.setfont=&lcd_remote_setfont,
|
||||
.getfont=&lcd_remote_getfont,
|
||||
.mono_bitmap=&lcd_remote_mono_bitmap,
|
||||
.mono_bitmap_part=&lcd_remote_mono_bitmap_part,
|
||||
.bitmap=(screen_bitmap_func*)&lcd_remote_bitmap,
|
||||
|
@ -159,6 +172,7 @@ struct screen screens[NB_SCREENS] =
|
|||
.set_foreground=&lcd_remote_set_foreground,
|
||||
#endif /* LCD_REMOTE_DEPTH > 1 */
|
||||
.update_rect=&lcd_remote_update_rect,
|
||||
.update_viewport_rect=&lcd_remote_update_viewport_rect,
|
||||
.fillrect=&lcd_remote_fillrect,
|
||||
.drawrect=&lcd_remote_drawrect,
|
||||
.drawpixel=&lcd_remote_drawpixel,
|
||||
|
@ -187,7 +201,11 @@ struct screen screens[NB_SCREENS] =
|
|||
.scroll_delay=&lcd_remote_scroll_delay,
|
||||
.stop_scroll=&lcd_remote_stop_scroll,
|
||||
.clear_display=&lcd_remote_clear_display,
|
||||
.clear_viewport=&lcd_remote_clear_viewport,
|
||||
.scroll_stop=&lcd_remote_scroll_stop,
|
||||
.scroll_stop_line=&lcd_remote_scroll_stop_line,
|
||||
.update=&lcd_remote_update,
|
||||
.update_viewport=&lcd_remote_update_viewport,
|
||||
.backlight_on=&remote_backlight_on,
|
||||
.backlight_off=&remote_backlight_off,
|
||||
.is_backlight_on=&is_remote_backlight_on,
|
||||
|
|
|
@ -71,12 +71,16 @@ struct screen
|
|||
#ifdef HAS_BUTTONBAR
|
||||
bool has_buttonbar;
|
||||
#endif
|
||||
void (*set_viewport)(struct viewport* vp);
|
||||
void (*setmargins)(int x, int y);
|
||||
int (*getwidth)(void);
|
||||
int (*getheight)(void);
|
||||
int (*getxmargin)(void);
|
||||
int (*getymargin)(void);
|
||||
int (*getstringsize)(const unsigned char *str, int *w, int *h);
|
||||
#if defined(HAVE_LCD_BITMAP) || defined(HAVE_REMOTE_LCD) /* always bitmap */
|
||||
void (*setfont)(int newfont);
|
||||
int (*getfont)(void);
|
||||
|
||||
void (*scroll_step)(int pixels);
|
||||
void (*puts_style_offset)(int x, int y, const unsigned char *str,
|
||||
|
@ -113,6 +117,7 @@ struct screen
|
|||
void (*set_selector_text)(unsigned selector_text);
|
||||
#endif
|
||||
void (*update_rect)(int x, int y, int width, int height);
|
||||
void (*update_viewport_rect)(int x, int y, int width, int height);
|
||||
void (*fillrect)(int x, int y, int width, int height);
|
||||
void (*drawrect)(int x, int y, int width, int height);
|
||||
void (*drawpixel)(int x, int y);
|
||||
|
@ -139,7 +144,11 @@ struct screen
|
|||
void (*scroll_delay)(int ms);
|
||||
void (*stop_scroll)(void);
|
||||
void (*clear_display)(void);
|
||||
void (*clear_viewport)(void);
|
||||
void (*scroll_stop)(struct viewport* vp);
|
||||
void (*scroll_stop_line)(struct viewport* vp, int y);
|
||||
void (*update)(void);
|
||||
void (*update_viewport)(void);
|
||||
void (*backlight_on)(void);
|
||||
void (*backlight_off)(void);
|
||||
bool (*is_backlight_on)(void);
|
||||
|
|
|
@ -190,6 +190,11 @@ void lcd_setfont(int newfont)
|
|||
current_vp->font = newfont;
|
||||
}
|
||||
|
||||
int lcd_getfont(void)
|
||||
{
|
||||
return current_vp->font;
|
||||
}
|
||||
|
||||
int lcd_getstringsize(const unsigned char *str, int *w, int *h)
|
||||
{
|
||||
return font_getstringsize(str, w, h, current_vp->font);
|
||||
|
|
|
@ -122,6 +122,11 @@ void lcd_setfont(int newfont)
|
|||
current_vp->font = newfont;
|
||||
}
|
||||
|
||||
int lcd_getfont(void)
|
||||
{
|
||||
return current_vp->font;
|
||||
}
|
||||
|
||||
int lcd_getstringsize(const unsigned char *str, int *w, int *h)
|
||||
{
|
||||
return font_getstringsize(str, w, h, current_vp->font);
|
||||
|
|
|
@ -172,6 +172,11 @@ void lcd_setfont(int newfont)
|
|||
current_vp->font = newfont;
|
||||
}
|
||||
|
||||
int lcd_getfont(void)
|
||||
{
|
||||
return current_vp->font;
|
||||
}
|
||||
|
||||
int lcd_getstringsize(const unsigned char *str, int *w, int *h)
|
||||
{
|
||||
return font_getstringsize(str, w, h, current_vp->font);
|
||||
|
|
|
@ -175,6 +175,11 @@ void lcd_setfont(int newfont)
|
|||
current_vp->font = newfont;
|
||||
}
|
||||
|
||||
int lcd_getfont(void)
|
||||
{
|
||||
return current_vp->font;
|
||||
}
|
||||
|
||||
int lcd_getstringsize(const unsigned char *str, int *w, int *h)
|
||||
{
|
||||
return font_getstringsize(str, w, h, current_vp->font);
|
||||
|
|
|
@ -117,6 +117,11 @@ void lcd_remote_setfont(int newfont)
|
|||
current_vp->font = newfont;
|
||||
}
|
||||
|
||||
int lcd_remote_getfont(void)
|
||||
{
|
||||
return current_vp->font;
|
||||
}
|
||||
|
||||
int lcd_remote_getstringsize(const unsigned char *str, int *w, int *h)
|
||||
{
|
||||
return font_getstringsize(str, w, h, current_vp->font);
|
||||
|
|
|
@ -174,6 +174,11 @@ void lcd_remote_setfont(int newfont)
|
|||
current_vp->font = newfont;
|
||||
}
|
||||
|
||||
int lcd_remote_getfont(void)
|
||||
{
|
||||
return current_vp->font;
|
||||
}
|
||||
|
||||
int lcd_remote_getstringsize(const unsigned char *str, int *w, int *h)
|
||||
{
|
||||
return font_getstringsize(str, w, h, current_vp->font);
|
||||
|
|
|
@ -149,6 +149,7 @@ extern int lcd_remote_getymargin(void);
|
|||
extern int lcd_remote_getwidth(void);
|
||||
extern int lcd_remote_getheight(void);
|
||||
extern void lcd_remote_setfont(int font);
|
||||
extern int lcd_remote_getfont(void);
|
||||
extern int lcd_remote_getstringsize(const unsigned char *str, int *w, int *h);
|
||||
|
||||
/* low level drawing function pointer arrays */
|
||||
|
|
|
@ -372,6 +372,7 @@ extern void lcd_set_flip(bool yesno);
|
|||
extern void lcd_set_drawmode(int mode);
|
||||
extern int lcd_get_drawmode(void);
|
||||
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 offset);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue