/***************************************************************************
 *             __________               __   ___.
 *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
 *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
 *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
 *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
 *                     \/            \/     \/    \/            \/
 * $Id: helloworld.c 12807 2007-03-16 21:56:08Z amiconn $
 *
 * Copyright (C) 2002 Björn Stenberg
 *
 * 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"
#include "xlcd.h"

PLUGIN_HEADER

static struct plugin_api* rb;
#include "france.h"
extern const unsigned short button[];
extern const unsigned short button_alpha[];

/* this is the plugin entry point */
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
{
    /* if you don't use the parameter, you can do like
       this to avoid the compiler warning about it */
    (void)parameter;

    /* if you are using a global api pointer, don't forget to copy it!
       otherwise you will get lovely "I04: IllInstr" errors... :-) */
    rb = api;
	xlcd_init(rb);
	/* copy the backdrop with rb->lcd_get_backdrop(); if you aren't filling the entire screen before using transparency */
	
	rb->lcd_bitmap(france, 0, 0, 320, 240);
	rb->lcd_set_foreground(LCD_RGBPACK(0, 0, 0));
	rb->lcd_drawrect(50, 50, 100, 100);
	xlcd_fillrect_alpha(51, 51, 149, 149, 0, 37, 31, 127);
	xlcd_fillrect_alpha(160, 51, 161, 149, 0, 37, 31, 127);
	xlcd_semitransparent_bitmap(button, button_alpha, 0, 0, 169, 68);
	rb->lcd_update();
	rb->sleep(HZ*10);

    return PLUGIN_OK;
}
