Subversion Repositories freemyipod

Rev

Rev 527 | Rev 674 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
490 theseven 1
//
2
//
3
//    Copyright 2011 TheSeven
4
//
5
//
6
//    This file is part of emCORE.
7
//
8
//    emCORE is free software: you can redistribute it and/or
9
//    modify it under the terms of the GNU General Public License as
10
//    published by the Free Software Foundation, either version 2 of the
11
//    License, or (at your option) any later version.
12
//
13
//    emCORE is distributed in the hope that it will be useful,
14
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
//    See the GNU General Public License for more details.
17
//
18
//    You should have received a copy of the GNU General Public License along
19
//    with emCORE.  If not, see <http://www.gnu.org/licenses/>.
20
//
21
//
22
 
23
 
504 theseven 24
#ifndef __EXPORT_LIBUI_H__
25
#define __EXPORT_LIBUI_H__
490 theseven 26
 
27
#include "emcorelib.h"
504 theseven 28
#include "../libui.h"
493 theseven 29
#include "../blend.h"
504 theseven 30
#include "../chooser.h"
31
#include "../chooser_action_handler_wheel.h"
32
#include "../chooser_renderer_list.h"
509 theseven 33
#include "../chooser_renderer_iconflow.h"
490 theseven 34
 
35
 
651 theseven 36
/* emCORE library identifier */
37
#define LIBUI_IDENTIFIER 0x49554365
38
 
490 theseven 39
/* increase this every time the api struct changes */
40
#define LIBUI_API_VERSION 1
41
 
42
/* update this to latest version if a change to the api struct breaks
43
   backwards compatibility (and please take the opportunity to sort in any
44
   new function which are "waiting" at the end of the function table) */
45
#define LIBUI_MIN_API_VERSION 1
46
 
47
/* NOTE: To support backwards compatibility, only add new functions at
48
         the end of the structure.  Every time you add a new function,
49
         remember to increase LIBUI_API_VERSION. If you make changes to the
50
         existing APIs, also update LIBUI_MIN_API_VERSION to current version */
51
 
52
struct libui_api
53
{
527 theseven 54
    typeof(fill)* fill;
55
    typeof(blit)* blit;
498 theseven 56
    typeof(blendcolor)* blendcolor;
57
    typeof(mattecolor)* mattecolor;
527 theseven 58
    typeof(blend)* blend;
59
    typeof(blend)* blenda;
504 theseven 60
    typeof(chooser_run)* chooser_run;
61
    typeof(chooser_action_handler_wheel)* chooser_action_handler_wheel;
62
    typeof(chooser_renderer_list)* chooser_renderer_list;
509 theseven 63
    typeof(chooser_renderer_iconflow)* chooser_renderer_iconflow;
490 theseven 64
};
65
 
66
#endif