1 #ifndef SVG_H
2 #define SVG_H
3 
4 #include <stdbool.h>
5 
6 /* Scroll bar rounded corners top and bottom */
7 #define BM_SCROLLHALF_WIDTH SCROLL_WIDTH
8 #define BM_SCROLLHALF_HEIGHT (SCROLL_WIDTH / 2)
9 /* No idea */
10 #define BM_STATUSAREA_WIDTH SCALE(20)
11 #define BM_STATUSAREA_HEIGHT SCALE(40)
12 /* Text button on the add a new friend page */
13 #define _BM_ADD_WIDTH 18
14 #define BM_ADD_WIDTH SCALE(18)
15 #define BM_STATUS_WIDTH SCALE(9)
16 #define BM_STATUS_NOTIFY_WIDTH SCALE(14)
17 #define BM_NMSG_WIDTH SCALE(18)
18 
19 /* Standard large size button */
20 #define _BM_LBUTTON_WIDTH 52
21 #define _BM_LBUTTON_HEIGHT 40
22 #define BM_LBUTTON_WIDTH SCALE(52)
23 #define BM_LBUTTON_HEIGHT SCALE(40)
24 /* Standard small size button */
25 #define _BM_SBUTTON_WIDTH 52
26 #define _BM_SBUTTON_HEIGHT 20
27 #define BM_SBUTTON_WIDTH SCALE(52)
28 #define BM_SBUTTON_HEIGHT SCALE(20)
29 
30 #define _BM_SWITCH_WIDTH 60
31 #define _BM_SWITCH_HEIGHT 25
32 #define BM_SWITCH_WIDTH  SCALE(60)
33 #define BM_SWITCH_HEIGHT  SCALE(25)
34 
35 #define _BM_SWITCH_TOGGLE_WIDTH 26
36 #define _BM_SWITCH_TOGGLE_HEIGHT 21
37 #define BM_SWITCH_TOGGLE_WIDTH SCALE(26)
38 #define BM_SWITCH_TOGGLE_HEIGHT SCALE(21)
39 
40 /* File transfer buttons */
41 #define BM_FT_WIDTH SCALE(250)
42 #define BM_FT_HEIGHT SCALE(52)
43 #define BM_FTM_WIDTH SCALE(226)
44 #define BM_FTB_WIDTH SCALE(26)
45 #define BM_FTB_HEIGHT SCALE(28)
46 #define BM_FT_CAP_WIDTH SCALE(30)
47 /* something to do with contacts? */
48 #define BM_CONTACT_WIDTH SCALE(40)
49 /* no idea */
50 #define _BM_LBICON_WIDTH 22
51 #define BM_LBICON_WIDTH SCALE(22)
52 #define _BM_LBICON_HEIGHT 20
53 #define BM_LBICON_HEIGHT SCALE(20)
54 /* small file transfer button maybe? */
55 #define BM_FB_WIDTH SCALE(12)
56 #define BM_FB_HEIGHT SCALE(10)
57 
58 /* small button placements */
59 #define _BM_CHAT_BUTTON_WIDTH 40
60 #define BM_CHAT_BUTTON_WIDTH SCALE(40)
61 #define _BM_CHAT_BUTTON_HEIGHT 40
62 #define BM_CHAT_BUTTON_HEIGHT SCALE(40)
63 /* camera box */
64 #define _BM_CHAT_BUTTON_OVERLAY_WIDTH 28
65 #define BM_CHAT_BUTTON_OVERLAY_WIDTH SCALE(28)
66 
67 #define _BM_CHAT_BUTTON_OVERLAY_HEIGHT 28
68 #define BM_CHAT_BUTTON_OVERLAY_HEIGHT SCALE(28)
69 /* Large chat button */
70 #define _BM_CHAT_SEND_WIDTH 56
71 #define BM_CHAT_SEND_WIDTH SCALE(56)
72 #define _BM_CHAT_SEND_HEIGHT 40
73 #define BM_CHAT_SEND_HEIGHT SCALE(40)
74 /* Chat speech bubble */
75 #define _BM_CHAT_SEND_OVERLAY_WIDTH 40
76 #define BM_CHAT_SEND_OVERLAY_WIDTH SCALE(40)
77 #define _BM_CHAT_SEND_OVERLAY_HEIGHT 32
78 #define BM_CHAT_SEND_OVERLAY_HEIGHT SCALE(32)
79 
80 #define _BM_FILE_WIDTH 22
81 #define BM_FILE_WIDTH SCALE(22)
82 #define _BM_FILE_HEIGHT 20
83 #define BM_FILE_HEIGHT SCALE(20)
84 
85 #define _BM_FILE_BIG_WIDTH 44
86 #define BM_FILE_BIG_WIDTH SCALE(44)
87 #define _BM_FILE_BIG_HEIGHT 40
88 #define BM_FILE_BIG_HEIGHT SCALE(40)
89 
90 #define _BM_CI_WIDTH 20
91 #define BM_CI_WIDTH SCALE(20)
92 
93 /* SVG Bitmap names. */
94 typedef enum {
95     BM_ONLINE = 1,
96     BM_AWAY,
97     BM_BUSY,
98     BM_OFFLINE,
99     BM_STATUS_NOTIFY,
100 
101     BM_ADD,
102     BM_GROUPS,
103     BM_TRANSFER,
104     BM_SETTINGS,
105     BM_SETTINGS_THREE_BAR,
106 
107     BM_LBUTTON,
108     BM_SBUTTON,
109 
110     BM_SWITCH,
111     BM_SWITCH_TOGGLE,
112 
113     BM_CONTACT,
114     BM_CONTACT_MINI,
115     BM_GROUP,
116     BM_GROUP_MINI,
117 
118     BM_FILE,
119     BM_DECLINE,
120     BM_CALL,
121     BM_VIDEO,
122 
123     BM_FT,
124     BM_FTM,
125     BM_FTB1,
126     BM_FTB2,
127     BM_FT_CAP,
128 
129     BM_NO,
130     BM_PAUSE,
131     BM_RESUME,
132     BM_YES,
133 
134     BM_SCROLLHALFTOP,
135     BM_SCROLLHALFBOT,
136     BM_SCROLLHALFTOP_SMALL,
137     BM_SCROLLHALFBOT_SMALL,
138     BM_STATUSAREA,
139 
140     BM_CHAT_BUTTON_LEFT,
141     BM_CHAT_BUTTON_RIGHT,
142     BM_CHAT_BUTTON_OVERLAY_SCREENSHOT,
143     BM_CHAT_SEND,
144     BM_CHAT_SEND_OVERLAY,
145     BM_ENDMARKER,
146 } SVG_IMG;
147 
148 bool svg_draw(bool needmemory);
149 
150 #endif
151