1 /**
2  * QtAwesome - use font-awesome (or other font icons) in your c++ / Qt Application
3  *
4  * MIT Licensed
5  *
6  * Copyright 2013-2015 - Reliable Bits Software by Blommers IT. All Rights Reserved.
7  * Author Rick Blommers
8  */
9 
10 #ifndef QTAWESOME_H
11 #define QTAWESOME_H
12 
13 #include "QtAwesomeAnim.h"
14 
15 #include <QIcon>
16 #include <QIconEngine>
17 #include <QPainter>
18 #include <QRect>
19 #include <QVariantMap>
20 
21 
22 /// A list of all icon-names with the codepoint (unicode-value) on the right
23 /// You can use the names on the page  http://fortawesome.github.io/Font-Awesome/design.html
24 namespace fa {
25   enum icon {
26       fa_500px                         = 0xf26e,
27       addressbook                      = 0xf2b9,
28       addressbooko                     = 0xf2ba,
29       addresscard                      = 0xf2bb,
30       addresscardo                     = 0xf2bc,
31       adjust                           = 0xf042,
32       adn                              = 0xf170,
33       aligncenter                      = 0xf037,
34       alignjustify                     = 0xf039,
35       alignleft                        = 0xf036,
36       alignright                       = 0xf038,
37       amazon                           = 0xf270,
38       ambulance                        = 0xf0f9,
39       americansignlanguageinterpreting = 0xf2a3,
40       anchor                           = 0xf13d,
41       android                          = 0xf17b,
42       angellist                        = 0xf209,
43       angledoubledown                  = 0xf103,
44       angledoubleleft                  = 0xf100,
45       angledoubleright                 = 0xf101,
46       angledoubleup                    = 0xf102,
47       angledown                        = 0xf107,
48       angleleft                        = 0xf104,
49       angleright                       = 0xf105,
50       angleup                          = 0xf106,
51       apple                            = 0xf179,
52       archive                          = 0xf187,
53       areachart                        = 0xf1fe,
54       arrowcircledown                  = 0xf0ab,
55       arrowcircleleft                  = 0xf0a8,
56       arrowcircleodown                 = 0xf01a,
57       arrowcircleoleft                 = 0xf190,
58       arrowcircleoright                = 0xf18e,
59       arrowcircleoup                   = 0xf01b,
60       arrowcircleright                 = 0xf0a9,
61       arrowcircleup                    = 0xf0aa,
62       arrowdown                        = 0xf063,
63       arrowleft                        = 0xf060,
64       arrowright                       = 0xf061,
65       arrowup                          = 0xf062,
66       arrows                           = 0xf047,
67       arrowsalt                        = 0xf0b2,
68       arrowsh                          = 0xf07e,
69       arrowsv                          = 0xf07d,
70       aslinterpreting                  = 0xf2a3,
71       assistivelisteningsystems        = 0xf2a2,
72       asterisk                         = 0xf069,
73       at                               = 0xf1fa,
74       audiodescription                 = 0xf29e,
75       automobile                       = 0xf1b9,
76       backward                         = 0xf04a,
77       balancescale                     = 0xf24e,
78       ban                              = 0xf05e,
79       bandcamp                         = 0xf2d5,
80       bank                             = 0xf19c,
81       barchart                         = 0xf080,
82       barcharto                        = 0xf080,
83       barcode                          = 0xf02a,
84       bars                             = 0xf0c9,
85       bath                             = 0xf2cd,
86       bathtub                          = 0xf2cd,
87       battery                          = 0xf240,
88       battery0                         = 0xf244,
89       battery1                         = 0xf243,
90       battery2                         = 0xf242,
91       battery3                         = 0xf241,
92       battery4                         = 0xf240,
93       batteryempty                     = 0xf244,
94       batteryfull                      = 0xf240,
95       batteryhalf                      = 0xf242,
96       batteryquarter                   = 0xf243,
97       batterythreequarters             = 0xf241,
98       bed                              = 0xf236,
99       beer                             = 0xf0fc,
100       behance                          = 0xf1b4,
101       behancesquare                    = 0xf1b5,
102       bell                             = 0xf0f3,
103       bello                            = 0xf0a2,
104       bellslash                        = 0xf1f6,
105       bellslasho                       = 0xf1f7,
106       bicycle                          = 0xf206,
107       binoculars                       = 0xf1e5,
108       birthdaycake                     = 0xf1fd,
109       bitbucket                        = 0xf171,
110       bitbucketsquare                  = 0xf172,
111       bitcoin                          = 0xf15a,
112       blacktie                         = 0xf27e,
113       blind                            = 0xf29d,
114       bluetooth                        = 0xf293,
115       bluetoothb                       = 0xf294,
116       bold                             = 0xf032,
117       bolt                             = 0xf0e7,
118       bomb                             = 0xf1e2,
119       book                             = 0xf02d,
120       bookmark                         = 0xf02e,
121       bookmarko                        = 0xf097,
122       braille                          = 0xf2a1,
123       briefcase                        = 0xf0b1,
124       btc                              = 0xf15a,
125       bug                              = 0xf188,
126       building                         = 0xf1ad,
127       buildingo                        = 0xf0f7,
128       bullhorn                         = 0xf0a1,
129       bullseye                         = 0xf140,
130       bus                              = 0xf207,
131       buysellads                       = 0xf20d,
132       cab                              = 0xf1ba,
133       calculator                       = 0xf1ec,
134       calendar                         = 0xf073,
135       calendarchecko                   = 0xf274,
136       calendarminuso                   = 0xf272,
137       calendaro                        = 0xf133,
138       calendarpluso                    = 0xf271,
139       calendartimeso                   = 0xf273,
140       camera                           = 0xf030,
141       cameraretro                      = 0xf083,
142       car                              = 0xf1b9,
143       caretdown                        = 0xf0d7,
144       caretleft                        = 0xf0d9,
145       caretright                       = 0xf0da,
146       caretsquareodown                 = 0xf150,
147       caretsquareoleft                 = 0xf191,
148       caretsquareoright                = 0xf152,
149       caretsquareoup                   = 0xf151,
150       caretup                          = 0xf0d8,
151       cartarrowdown                    = 0xf218,
152       cartplus                         = 0xf217,
153       cc                               = 0xf20a,
154       ccamex                           = 0xf1f3,
155       ccdinersclub                     = 0xf24c,
156       ccdiscover                       = 0xf1f2,
157       ccjcb                            = 0xf24b,
158       ccmastercard                     = 0xf1f1,
159       ccpaypal                         = 0xf1f4,
160       ccstripe                         = 0xf1f5,
161       ccvisa                           = 0xf1f0,
162       certificate                      = 0xf0a3,
163       chain                            = 0xf0c1,
164       chainbroken                      = 0xf127,
165       check                            = 0xf00c,
166       checkcircle                      = 0xf058,
167       checkcircleo                     = 0xf05d,
168       checksquare                      = 0xf14a,
169       checksquareo                     = 0xf046,
170       chevroncircledown                = 0xf13a,
171       chevroncircleleft                = 0xf137,
172       chevroncircleright               = 0xf138,
173       chevroncircleup                  = 0xf139,
174       chevrondown                      = 0xf078,
175       chevronleft                      = 0xf053,
176       chevronright                     = 0xf054,
177       chevronup                        = 0xf077,
178       child                            = 0xf1ae,
179       chrome                           = 0xf268,
180       circle                           = 0xf111,
181       circleo                          = 0xf10c,
182       circleonotch                     = 0xf1ce,
183       circlethin                       = 0xf1db,
184       clipboard                        = 0xf0ea,
185       clocko                           = 0xf017,
186       clone                            = 0xf24d,
187       close                            = 0xf00d,
188       cloud                            = 0xf0c2,
189       clouddownload                    = 0xf0ed,
190       cloudupload                      = 0xf0ee,
191       cny                              = 0xf157,
192       code                             = 0xf121,
193       codefork                         = 0xf126,
194       codepen                          = 0xf1cb,
195       codiepie                         = 0xf284,
196       coffee                           = 0xf0f4,
197       cog                              = 0xf013,
198       cogs                             = 0xf085,
199       columns                          = 0xf0db,
200       comment                          = 0xf075,
201       commento                         = 0xf0e5,
202       commenting                       = 0xf27a,
203       commentingo                      = 0xf27b,
204       comments                         = 0xf086,
205       commentso                        = 0xf0e6,
206       compass                          = 0xf14e,
207       compress                         = 0xf066,
208       connectdevelop                   = 0xf20e,
209       contao                           = 0xf26d,
210       copy                             = 0xf0c5,
211       copyright                        = 0xf1f9,
212       creativecommons                  = 0xf25e,
213       creditcard                       = 0xf09d,
214       creditcardalt                    = 0xf283,
215       crop                             = 0xf125,
216       crosshairs                       = 0xf05b,
217       css3                             = 0xf13c,
218       cube                             = 0xf1b2,
219       cubes                            = 0xf1b3,
220       cut                              = 0xf0c4,
221       cutlery                          = 0xf0f5,
222       dashboard                        = 0xf0e4,
223       dashcube                         = 0xf210,
224       database                         = 0xf1c0,
225       deaf                             = 0xf2a4,
226       deafness                         = 0xf2a4,
227       dedent                           = 0xf03b,
228       delicious                        = 0xf1a5,
229       desktop                          = 0xf108,
230       deviantart                       = 0xf1bd,
231       diamond                          = 0xf219,
232       digg                             = 0xf1a6,
233       dollar                           = 0xf155,
234       dotcircleo                       = 0xf192,
235       download                         = 0xf019,
236       dribbble                         = 0xf17d,
237       driverslicense                   = 0xf2c2,
238       driverslicenseo                  = 0xf2c3,
239       dropbox                          = 0xf16b,
240       drupal                           = 0xf1a9,
241       edge                             = 0xf282,
242       edit                             = 0xf044,
243       eercast                          = 0xf2da,
244       eject                            = 0xf052,
245       ellipsish                        = 0xf141,
246       ellipsisv                        = 0xf142,
247       empire                           = 0xf1d1,
248       envelope                         = 0xf0e0,
249       envelopeo                        = 0xf003,
250       envelopeopen                     = 0xf2b6,
251       envelopeopeno                    = 0xf2b7,
252       envelopesquare                   = 0xf199,
253       envira                           = 0xf299,
254       eraser                           = 0xf12d,
255       etsy                             = 0xf2d7,
256       eur                              = 0xf153,
257       euro                             = 0xf153,
258       exchange                         = 0xf0ec,
259       exclamation                      = 0xf12a,
260       exclamationcircle                = 0xf06a,
261       exclamationtriangle              = 0xf071,
262       expand                           = 0xf065,
263       expeditedssl                     = 0xf23e,
264       externallink                     = 0xf08e,
265       externallinksquare               = 0xf14c,
266       eye                              = 0xf06e,
267       eyeslash                         = 0xf070,
268       eyedropper                       = 0xf1fb,
269       fa                               = 0xf2b4,
270       facebook                         = 0xf09a,
271       facebookf                        = 0xf09a,
272       facebookofficial                 = 0xf230,
273       facebooksquare                   = 0xf082,
274       fastbackward                     = 0xf049,
275       fastforward                      = 0xf050,
276       fax                              = 0xf1ac,
277       feed                             = 0xf09e,
278       female                           = 0xf182,
279       fighterjet                       = 0xf0fb,
280       file                             = 0xf15b,
281       filearchiveo                     = 0xf1c6,
282       fileaudioo                       = 0xf1c7,
283       filecodeo                        = 0xf1c9,
284       fileexcelo                       = 0xf1c3,
285       fileimageo                       = 0xf1c5,
286       filemovieo                       = 0xf1c8,
287       fileo                            = 0xf016,
288       filepdfo                         = 0xf1c1,
289       filephotoo                       = 0xf1c5,
290       filepictureo                     = 0xf1c5,
291       filepowerpointo                  = 0xf1c4,
292       filesoundo                       = 0xf1c7,
293       filetext                         = 0xf15c,
294       filetexto                        = 0xf0f6,
295       filevideoo                       = 0xf1c8,
296       filewordo                        = 0xf1c2,
297       filezipo                         = 0xf1c6,
298       fileso                           = 0xf0c5,
299       film                             = 0xf008,
300       filter                           = 0xf0b0,
301       fire                             = 0xf06d,
302       fireextinguisher                 = 0xf134,
303       firefox                          = 0xf269,
304       firstorder                       = 0xf2b0,
305       flag                             = 0xf024,
306       flagcheckered                    = 0xf11e,
307       flago                            = 0xf11d,
308       flash                            = 0xf0e7,
309       flask                            = 0xf0c3,
310       flickr                           = 0xf16e,
311       floppyo                          = 0xf0c7,
312       folder                           = 0xf07b,
313       foldero                          = 0xf114,
314       folderopen                       = 0xf07c,
315       folderopeno                      = 0xf115,
316       font                             = 0xf031,
317       fontawesome                      = 0xf2b4,
318       fonticons                        = 0xf280,
319       fortawesome                      = 0xf286,
320       forumbee                         = 0xf211,
321       forward                          = 0xf04e,
322       foursquare                       = 0xf180,
323       freecodecamp                     = 0xf2c5,
324       frowno                           = 0xf119,
325       futbolo                          = 0xf1e3,
326       gamepad                          = 0xf11b,
327       gavel                            = 0xf0e3,
328       gbp                              = 0xf154,
329       ge                               = 0xf1d1,
330       gear                             = 0xf013,
331       gears                            = 0xf085,
332       genderless                       = 0xf22d,
333       getpocket                        = 0xf265,
334       gg                               = 0xf260,
335       ggcircle                         = 0xf261,
336       gift                             = 0xf06b,
337       git                              = 0xf1d3,
338       gitsquare                        = 0xf1d2,
339       github                           = 0xf09b,
340       githubalt                        = 0xf113,
341       githubsquare                     = 0xf092,
342       gitlab                           = 0xf296,
343       gittip                           = 0xf184,
344       glass                            = 0xf000,
345       glide                            = 0xf2a5,
346       glideg                           = 0xf2a6,
347       globe                            = 0xf0ac,
348       google                           = 0xf1a0,
349       googleplus                       = 0xf0d5,
350       googlepluscircle                 = 0xf2b3,
351       googleplusofficial               = 0xf2b3,
352       googleplussquare                 = 0xf0d4,
353       googlewallet                     = 0xf1ee,
354       graduationcap                    = 0xf19d,
355       gratipay                         = 0xf184,
356       grav                             = 0xf2d6,
357       group                            = 0xf0c0,
358       hsquare                          = 0xf0fd,
359       hackernews                       = 0xf1d4,
360       handgrabo                        = 0xf255,
361       handlizardo                      = 0xf258,
362       handodown                        = 0xf0a7,
363       handoleft                        = 0xf0a5,
364       handoright                       = 0xf0a4,
365       handoup                          = 0xf0a6,
366       handpapero                       = 0xf256,
367       handpeaceo                       = 0xf25b,
368       handpointero                     = 0xf25a,
369       handrocko                        = 0xf255,
370       handscissorso                    = 0xf257,
371       handspocko                       = 0xf259,
372       handstopo                        = 0xf256,
373       handshakeo                       = 0xf2b5,
374       hardofhearing                    = 0xf2a4,
375       hashtag                          = 0xf292,
376       hddo                             = 0xf0a0,
377       header                           = 0xf1dc,
378       headphones                       = 0xf025,
379       heart                            = 0xf004,
380       hearto                           = 0xf08a,
381       heartbeat                        = 0xf21e,
382       history                          = 0xf1da,
383       home                             = 0xf015,
384       hospitalo                        = 0xf0f8,
385       hotel                            = 0xf236,
386       hourglass                        = 0xf254,
387       hourglass1                       = 0xf251,
388       hourglass2                       = 0xf252,
389       hourglass3                       = 0xf253,
390       hourglassend                     = 0xf253,
391       hourglasshalf                    = 0xf252,
392       hourglasso                       = 0xf250,
393       hourglassstart                   = 0xf251,
394       houzz                            = 0xf27c,
395       html5                            = 0xf13b,
396       icursor                          = 0xf246,
397       idbadge                          = 0xf2c1,
398       idcard                           = 0xf2c2,
399       idcardo                          = 0xf2c3,
400       ils                              = 0xf20b,
401       image                            = 0xf03e,
402       imdb                             = 0xf2d8,
403       inbox                            = 0xf01c,
404       indent                           = 0xf03c,
405       industry                         = 0xf275,
406       info                             = 0xf129,
407       infocircle                       = 0xf05a,
408       inr                              = 0xf156,
409       instagram                        = 0xf16d,
410       institution                      = 0xf19c,
411       internetexplorer                 = 0xf26b,
412       intersex                         = 0xf224,
413       ioxhost                          = 0xf208,
414       italic                           = 0xf033,
415       joomla                           = 0xf1aa,
416       jpy                              = 0xf157,
417       jsfiddle                         = 0xf1cc,
418       key                              = 0xf084,
419       keyboardo                        = 0xf11c,
420       krw                              = 0xf159,
421       language                         = 0xf1ab,
422       laptop                           = 0xf109,
423       lastfm                           = 0xf202,
424       lastfmsquare                     = 0xf203,
425       leaf                             = 0xf06c,
426       leanpub                          = 0xf212,
427       legal                            = 0xf0e3,
428       lemono                           = 0xf094,
429       leveldown                        = 0xf149,
430       levelup                          = 0xf148,
431       lifebouy                         = 0xf1cd,
432       lifebuoy                         = 0xf1cd,
433       lifering                         = 0xf1cd,
434       lifesaver                        = 0xf1cd,
435       lightbulbo                       = 0xf0eb,
436       linechart                        = 0xf201,
437       link                             = 0xf0c1,
438       linkedin                         = 0xf0e1,
439       linkedinsquare                   = 0xf08c,
440       linode                           = 0xf2b8,
441       fa_linux                         = 0xf17c,
442       list                             = 0xf03a,
443       listalt                          = 0xf022,
444       listol                           = 0xf0cb,
445       listul                           = 0xf0ca,
446       locationarrow                    = 0xf124,
447       lock                             = 0xf023,
448       longarrowdown                    = 0xf175,
449       longarrowleft                    = 0xf177,
450       longarrowright                   = 0xf178,
451       longarrowup                      = 0xf176,
452       lowvision                        = 0xf2a8,
453       magic                            = 0xf0d0,
454       magnet                           = 0xf076,
455       mailforward                      = 0xf064,
456       mailreply                        = 0xf112,
457       mailreplyall                     = 0xf122,
458       male                             = 0xf183,
459       map                              = 0xf279,
460       mapmarker                        = 0xf041,
461       mapo                             = 0xf278,
462       mappin                           = 0xf276,
463       mapsigns                         = 0xf277,
464       mars                             = 0xf222,
465       marsdouble                       = 0xf227,
466       marsstroke                       = 0xf229,
467       marsstrokeh                      = 0xf22b,
468       marsstrokev                      = 0xf22a,
469       maxcdn                           = 0xf136,
470       meanpath                         = 0xf20c,
471       medium                           = 0xf23a,
472       medkit                           = 0xf0fa,
473       meetup                           = 0xf2e0,
474       meho                             = 0xf11a,
475       mercury                          = 0xf223,
476       microchip                        = 0xf2db,
477       microphone                       = 0xf130,
478       microphoneslash                  = 0xf131,
479       minus                            = 0xf068,
480       minuscircle                      = 0xf056,
481       minussquare                      = 0xf146,
482       minussquareo                     = 0xf147,
483       mixcloud                         = 0xf289,
484       mobile                           = 0xf10b,
485       mobilephone                      = 0xf10b,
486       modx                             = 0xf285,
487       money                            = 0xf0d6,
488       moono                            = 0xf186,
489       mortarboard                      = 0xf19d,
490       motorcycle                       = 0xf21c,
491       mousepointer                     = 0xf245,
492       music                            = 0xf001,
493       navicon                          = 0xf0c9,
494       neuter                           = 0xf22c,
495       newspapero                       = 0xf1ea,
496       objectgroup                      = 0xf247,
497       objectungroup                    = 0xf248,
498       odnoklassniki                    = 0xf263,
499       odnoklassnikisquare              = 0xf264,
500       opencart                         = 0xf23d,
501       openid                           = 0xf19b,
502       opera                            = 0xf26a,
503       optinmonster                     = 0xf23c,
504       outdent                          = 0xf03b,
505       pagelines                        = 0xf18c,
506       paintbrush                       = 0xf1fc,
507       paperplane                       = 0xf1d8,
508       paperplaneo                      = 0xf1d9,
509       paperclip                        = 0xf0c6,
510       paragraph                        = 0xf1dd,
511       paste                            = 0xf0ea,
512       pause                            = 0xf04c,
513       pausecircle                      = 0xf28b,
514       pausecircleo                     = 0xf28c,
515       paw                              = 0xf1b0,
516       paypal                           = 0xf1ed,
517       pencil                           = 0xf040,
518       pencilsquare                     = 0xf14b,
519       pencilsquareo                    = 0xf044,
520       percent                          = 0xf295,
521       phone                            = 0xf095,
522       phonesquare                      = 0xf098,
523       photo                            = 0xf03e,
524       pictureo                         = 0xf03e,
525       piechart                         = 0xf200,
526       piedpiper                        = 0xf2ae,
527       piedpiperalt                     = 0xf1a8,
528       piedpiperpp                      = 0xf1a7,
529       pinterest                        = 0xf0d2,
530       pinterestp                       = 0xf231,
531       pinterestsquare                  = 0xf0d3,
532       plane                            = 0xf072,
533       play                             = 0xf04b,
534       playcircle                       = 0xf144,
535       playcircleo                      = 0xf01d,
536       plug                             = 0xf1e6,
537       plus                             = 0xf067,
538       pluscircle                       = 0xf055,
539       plussquare                       = 0xf0fe,
540       plussquareo                      = 0xf196,
541       podcast                          = 0xf2ce,
542       poweroff                         = 0xf011,
543       print                            = 0xf02f,
544       producthunt                      = 0xf288,
545       puzzlepiece                      = 0xf12e,
546       qq                               = 0xf1d6,
547       qrcode                           = 0xf029,
548       question                         = 0xf128,
549       questioncircle                   = 0xf059,
550       questioncircleo                  = 0xf29c,
551       quora                            = 0xf2c4,
552       quoteleft                        = 0xf10d,
553       quoteright                       = 0xf10e,
554       ra                               = 0xf1d0,
555       random                           = 0xf074,
556       ravelry                          = 0xf2d9,
557       rebel                            = 0xf1d0,
558       recycle                          = 0xf1b8,
559       reddit                           = 0xf1a1,
560       redditalien                      = 0xf281,
561       redditsquare                     = 0xf1a2,
562       refresh                          = 0xf021,
563       registered                       = 0xf25d,
564       remove                           = 0xf00d,
565       renren                           = 0xf18b,
566       reorder                          = 0xf0c9,
567       repeat                           = 0xf01e,
568       reply                            = 0xf112,
569       replyall                         = 0xf122,
570       resistance                       = 0xf1d0,
571       retweet                          = 0xf079,
572       rmb                              = 0xf157,
573       road                             = 0xf018,
574       rocket                           = 0xf135,
575       rotateleft                       = 0xf0e2,
576       rotateright                      = 0xf01e,
577       rouble                           = 0xf158,
578       rss                              = 0xf09e,
579       rsssquare                        = 0xf143,
580       rub                              = 0xf158,
581       ruble                            = 0xf158,
582       rupee                            = 0xf156,
583       s15                              = 0xf2cd,
584       safari                           = 0xf267,
585       save                             = 0xf0c7,
586       scissors                         = 0xf0c4,
587       scribd                           = 0xf28a,
588       search                           = 0xf002,
589       searchminus                      = 0xf010,
590       searchplus                       = 0xf00e,
591       sellsy                           = 0xf213,
592       send                             = 0xf1d8,
593       sendo                            = 0xf1d9,
594       server                           = 0xf233,
595       share                            = 0xf064,
596       sharealt                         = 0xf1e0,
597       sharealtsquare                   = 0xf1e1,
598       sharesquare                      = 0xf14d,
599       sharesquareo                     = 0xf045,
600       shekel                           = 0xf20b,
601       sheqel                           = 0xf20b,
602       shield                           = 0xf132,
603       ship                             = 0xf21a,
604       shirtsinbulk                     = 0xf214,
605       shoppingbag                      = 0xf290,
606       shoppingbasket                   = 0xf291,
607       shoppingcart                     = 0xf07a,
608       shower                           = 0xf2cc,
609       signin                           = 0xf090,
610       signlanguage                     = 0xf2a7,
611       signout                          = 0xf08b,
612       signal                           = 0xf012,
613       signing                          = 0xf2a7,
614       simplybuilt                      = 0xf215,
615       sitemap                          = 0xf0e8,
616       skyatlas                         = 0xf216,
617       skype                            = 0xf17e,
618       slack                            = 0xf198,
619       sliders                          = 0xf1de,
620       slideshare                       = 0xf1e7,
621       smileo                           = 0xf118,
622       snapchat                         = 0xf2ab,
623       snapchatghost                    = 0xf2ac,
624       snapchatsquare                   = 0xf2ad,
625       snowflakeo                       = 0xf2dc,
626       soccerballo                      = 0xf1e3,
627       sort                             = 0xf0dc,
628       sortalphaasc                     = 0xf15d,
629       sortalphadesc                    = 0xf15e,
630       sortamountasc                    = 0xf160,
631       sortamountdesc                   = 0xf161,
632       sortasc                          = 0xf0de,
633       sortdesc                         = 0xf0dd,
634       sortdown                         = 0xf0dd,
635       sortnumericasc                   = 0xf162,
636       sortnumericdesc                  = 0xf163,
637       sortup                           = 0xf0de,
638       soundcloud                       = 0xf1be,
639       spaceshuttle                     = 0xf197,
640       spinner                          = 0xf110,
641       spoon                            = 0xf1b1,
642       spotify                          = 0xf1bc,
643       square                           = 0xf0c8,
644       squareo                          = 0xf096,
645       stackexchange                    = 0xf18d,
646       stackoverflow                    = 0xf16c,
647       star                             = 0xf005,
648       starhalf                         = 0xf089,
649       starhalfempty                    = 0xf123,
650       starhalffull                     = 0xf123,
651       starhalfo                        = 0xf123,
652       staro                            = 0xf006,
653       steam                            = 0xf1b6,
654       steamsquare                      = 0xf1b7,
655       stepbackward                     = 0xf048,
656       stepforward                      = 0xf051,
657       stethoscope                      = 0xf0f1,
658       stickynote                       = 0xf249,
659       stickynoteo                      = 0xf24a,
660       stop                             = 0xf04d,
661       stopcircle                       = 0xf28d,
662       stopcircleo                      = 0xf28e,
663       streetview                       = 0xf21d,
664       strikethrough                    = 0xf0cc,
665       stumbleupon                      = 0xf1a4,
666       stumbleuponcircle                = 0xf1a3,
667       subscript                        = 0xf12c,
668       subway                           = 0xf239,
669       suitcase                         = 0xf0f2,
670       suno                             = 0xf185,
671       superpowers                      = 0xf2dd,
672       superscript                      = 0xf12b,
673       support                          = 0xf1cd,
674       table                            = 0xf0ce,
675       tablet                           = 0xf10a,
676       tachometer                       = 0xf0e4,
677       tag                              = 0xf02b,
678       tags                             = 0xf02c,
679       tasks                            = 0xf0ae,
680       taxi                             = 0xf1ba,
681       telegram                         = 0xf2c6,
682       television                       = 0xf26c,
683       tencentweibo                     = 0xf1d5,
684       terminal                         = 0xf120,
685       textheight                       = 0xf034,
686       textwidth                        = 0xf035,
687       th                               = 0xf00a,
688       thlarge                          = 0xf009,
689       thlist                           = 0xf00b,
690       themeisle                        = 0xf2b2,
691       thermometer                      = 0xf2c7,
692       thermometer0                     = 0xf2cb,
693       thermometer1                     = 0xf2ca,
694       thermometer2                     = 0xf2c9,
695       thermometer3                     = 0xf2c8,
696       thermometer4                     = 0xf2c7,
697       thermometerempty                 = 0xf2cb,
698       thermometerfull                  = 0xf2c7,
699       thermometerhalf                  = 0xf2c9,
700       thermometerquarter               = 0xf2ca,
701       thermometerthreequarters         = 0xf2c8,
702       thumbtack                        = 0xf08d,
703       thumbsdown                       = 0xf165,
704       thumbsodown                      = 0xf088,
705       thumbsoup                        = 0xf087,
706       thumbsup                         = 0xf164,
707       ticket                           = 0xf145,
708       times                            = 0xf00d,
709       timescircle                      = 0xf057,
710       timescircleo                     = 0xf05c,
711       timesrectangle                   = 0xf2d3,
712       timesrectangleo                  = 0xf2d4,
713       tint                             = 0xf043,
714       toggledown                       = 0xf150,
715       toggleleft                       = 0xf191,
716       toggleoff                        = 0xf204,
717       toggleon                         = 0xf205,
718       toggleright                      = 0xf152,
719       toggleup                         = 0xf151,
720       trademark                        = 0xf25c,
721       train                            = 0xf238,
722       transgender                      = 0xf224,
723       transgenderalt                   = 0xf225,
724       trash                            = 0xf1f8,
725       trasho                           = 0xf014,
726       tree                             = 0xf1bb,
727       trello                           = 0xf181,
728       tripadvisor                      = 0xf262,
729       trophy                           = 0xf091,
730       truck                            = 0xf0d1,
731       fa_try                           = 0xf195,
732       tty                              = 0xf1e4,
733       tumblr                           = 0xf173,
734       tumblrsquare                     = 0xf174,
735       turkishlira                      = 0xf195,
736       tv                               = 0xf26c,
737       twitch                           = 0xf1e8,
738       twitter                          = 0xf099,
739       twittersquare                    = 0xf081,
740       umbrella                         = 0xf0e9,
741       underline                        = 0xf0cd,
742       undo                             = 0xf0e2,
743       universalaccess                  = 0xf29a,
744       university                       = 0xf19c,
745       unlink                           = 0xf127,
746       unlock                           = 0xf09c,
747       unlockalt                        = 0xf13e,
748       unsorted                         = 0xf0dc,
749       upload                           = 0xf093,
750       usb                              = 0xf287,
751       usd                              = 0xf155,
752       user                             = 0xf007,
753       usercircle                       = 0xf2bd,
754       usercircleo                      = 0xf2be,
755       usermd                           = 0xf0f0,
756       usero                            = 0xf2c0,
757       userplus                         = 0xf234,
758       usersecret                       = 0xf21b,
759       usertimes                        = 0xf235,
760       users                            = 0xf0c0,
761       vcard                            = 0xf2bb,
762       vcardo                           = 0xf2bc,
763       venus                            = 0xf221,
764       venusdouble                      = 0xf226,
765       venusmars                        = 0xf228,
766       viacoin                          = 0xf237,
767       viadeo                           = 0xf2a9,
768       viadeosquare                     = 0xf2aa,
769       videocamera                      = 0xf03d,
770       vimeo                            = 0xf27d,
771       vimeosquare                      = 0xf194,
772       vine                             = 0xf1ca,
773       vk                               = 0xf189,
774       volumecontrolphone               = 0xf2a0,
775       volumedown                       = 0xf027,
776       volumeoff                        = 0xf026,
777       volumeup                         = 0xf028,
778       warning                          = 0xf071,
779       wechat                           = 0xf1d7,
780       weibo                            = 0xf18a,
781       weixin                           = 0xf1d7,
782       whatsapp                         = 0xf232,
783       wheelchair                       = 0xf193,
784       wheelchairalt                    = 0xf29b,
785       wifi                             = 0xf1eb,
786       wikipediaw                       = 0xf266,
787       windowclose                      = 0xf2d3,
788       windowcloseo                     = 0xf2d4,
789       windowmaximize                   = 0xf2d0,
790       windowminimize                   = 0xf2d1,
791       windowrestore                    = 0xf2d2,
792       windows                          = 0xf17a,
793       won                              = 0xf159,
794       wordpress                        = 0xf19a,
795       wpbeginner                       = 0xf297,
796       wpexplorer                       = 0xf2de,
797       wpforms                          = 0xf298,
798       wrench                           = 0xf0ad,
799       xing                             = 0xf168,
800       xingsquare                       = 0xf169,
801       ycombinator                      = 0xf23b,
802       ycombinatorsquare                = 0xf1d4,
803       yahoo                            = 0xf19e,
804       yc                               = 0xf23b,
805       ycsquare                         = 0xf1d4,
806       yelp                             = 0xf1e9,
807       yen                              = 0xf157,
808       yoast                            = 0xf2b1,
809       youtube                          = 0xf167,
810       youtubeplay                      = 0xf16a,
811       youtubesquare                    = 0xf166
812   };
813 }
814 
815 
816 
817 //---------------------------------------------------------------------------------------
818 
819 class QtAwesomeIconPainter;
820 
821 /// The main class for managing icons
822 /// This class requires a 2-phase construction. You must first create the class and then initialize it via an init* method
823 class QtAwesome : public QObject
824 {
825 Q_OBJECT
826 
827 public:
828 
829     explicit QtAwesome(QObject *parent = 0);
830     virtual ~QtAwesome();
831 
832     void init( const QString& fontname );
833     bool initFontAwesome();
834 
835     void addNamedCodepoint( const QString& name, int codePoint );
namedCodePoints()836     QHash<QString,int> namedCodePoints() { return namedCodepoints_; }
837 
838     void setDefaultOption( const QString& name, const QVariant& value  );
839     QVariant defaultOption( const QString& name );
840 
841     QIcon icon( int character, const QVariantMap& options = QVariantMap() );
842     QIcon icon( const QString& name, const QVariantMap& options = QVariantMap() );
843     QIcon icon(QtAwesomeIconPainter* painter, const QVariantMap& optionMap = QVariantMap() );
844 
845     void give( const QString& name, QtAwesomeIconPainter* painter );
846 
847     QFont font( int size );
848 
849     /// Returns the font-name that is used as icon-map
fontName()850     QString fontName() { return fontName_ ; }
851 
852 private:
853     QString fontName_;                                     ///< The font name used for this map
854     QHash<QString,int> namedCodepoints_;                   ///< A map with names mapped to code-points
855 
856     QHash<QString, QtAwesomeIconPainter*> painterMap_;     ///< A map of custom painters
857     QVariantMap defaultOptions_;                           ///< The default icon options
858     QtAwesomeIconPainter* fontIconPainter_;                ///< A special painter fo painting codepoints
859 };
860 
861 
862 //---------------------------------------------------------------------------------------
863 
864 
865 /// The QtAwesomeIconPainter is a specialized painter for painting icons
866 /// your can implement an iconpainter to create custom font-icon code
867 class QtAwesomeIconPainter
868 {
869 public:
~QtAwesomeIconPainter()870     virtual ~QtAwesomeIconPainter() {}
871     virtual void paint( QtAwesome* awesome, QPainter* painter, const QRect& rect, QIcon::Mode mode, QIcon::State state, const QVariantMap& options ) = 0;
872 };
873 
874 Q_DECLARE_METATYPE(QtAwesomeAnimation*)
875 
876 #endif // QTAWESOME_H
877