1 #ifdef NANOGUI_PYTHON
2 
3 #include "python.h"
4 
register_constants(py::module & m)5 void register_constants(py::module &m) {
6     /* GLFW constants */
7     {
8         #define C(name) g.attr(#name) = py::int_(GLFW_##name);
9         py::module g = m.def_submodule("glfw");
10         C(KEY_UNKNOWN); C(KEY_SPACE); C(KEY_APOSTROPHE); C(KEY_COMMA);
11         C(KEY_MINUS); C(KEY_PERIOD); C(KEY_SLASH); C(KEY_0); C(KEY_1);
12         C(KEY_2); C(KEY_3); C(KEY_4); C(KEY_5); C(KEY_6); C(KEY_7); C(KEY_8);
13         C(KEY_9); C(KEY_SEMICOLON); C(KEY_EQUAL); C(KEY_A); C(KEY_B); C(KEY_C);
14         C(KEY_D); C(KEY_E); C(KEY_F); C(KEY_G); C(KEY_H); C(KEY_I); C(KEY_J);
15         C(KEY_K); C(KEY_L); C(KEY_M); C(KEY_N); C(KEY_O); C(KEY_P); C(KEY_Q);
16         C(KEY_R); C(KEY_S); C(KEY_T); C(KEY_U); C(KEY_V); C(KEY_W); C(KEY_X);
17         C(KEY_Y); C(KEY_Z); C(KEY_LEFT_BRACKET); C(KEY_BACKSLASH);
18         C(KEY_RIGHT_BRACKET); C(KEY_GRAVE_ACCENT); C(KEY_WORLD_1);
19         C(KEY_WORLD_2); C(KEY_ESCAPE); C(KEY_ENTER); C(KEY_TAB);
20         C(KEY_BACKSPACE); C(KEY_INSERT); C(KEY_DELETE); C(KEY_RIGHT);
21         C(KEY_LEFT); C(KEY_DOWN); C(KEY_UP); C(KEY_PAGE_UP); C(KEY_PAGE_DOWN);
22         C(KEY_HOME); C(KEY_END); C(KEY_CAPS_LOCK); C(KEY_SCROLL_LOCK);
23         C(KEY_NUM_LOCK); C(KEY_PRINT_SCREEN); C(KEY_PAUSE); C(KEY_F1);
24         C(KEY_F2); C(KEY_F3); C(KEY_F4); C(KEY_F5); C(KEY_F6); C(KEY_F7);
25         C(KEY_F8); C(KEY_F9); C(KEY_F10); C(KEY_F11); C(KEY_F12); C(KEY_F13);
26         C(KEY_F14); C(KEY_F15); C(KEY_F16); C(KEY_F17); C(KEY_F18); C(KEY_F19);
27         C(KEY_F20); C(KEY_F21); C(KEY_F22); C(KEY_F23); C(KEY_F24); C(KEY_F25);
28         C(KEY_KP_0); C(KEY_KP_1); C(KEY_KP_2); C(KEY_KP_3); C(KEY_KP_4);
29         C(KEY_KP_5); C(KEY_KP_6); C(KEY_KP_7); C(KEY_KP_8); C(KEY_KP_9);
30         C(KEY_KP_DECIMAL); C(KEY_KP_DIVIDE); C(KEY_KP_MULTIPLY);
31         C(KEY_KP_SUBTRACT); C(KEY_KP_ADD); C(KEY_KP_ENTER); C(KEY_KP_EQUAL);
32         C(KEY_LEFT_SHIFT); C(KEY_LEFT_CONTROL); C(KEY_LEFT_ALT);
33         C(KEY_LEFT_SUPER); C(KEY_RIGHT_SHIFT); C(KEY_RIGHT_CONTROL);
34         C(KEY_RIGHT_ALT); C(KEY_RIGHT_SUPER); C(KEY_MENU); C(KEY_LAST);
35         C(MOD_SHIFT); C(MOD_CONTROL); C(MOD_ALT); C(MOD_SUPER);
36         C(MOUSE_BUTTON_1); C(MOUSE_BUTTON_2); C(MOUSE_BUTTON_3);
37         C(MOUSE_BUTTON_4); C(MOUSE_BUTTON_5); C(MOUSE_BUTTON_6);
38         C(MOUSE_BUTTON_7); C(MOUSE_BUTTON_8); C(MOUSE_BUTTON_LAST);
39         C(MOUSE_BUTTON_LEFT); C(MOUSE_BUTTON_RIGHT); C(MOUSE_BUTTON_MIDDLE);
40         C(RELEASE); C(PRESS); C(REPEAT);
41         #undef C
42     }
43 
44     /* Entypo constants */
45     {
46         #define C(name) g.attr("ICON_" #name) = py::int_(ENTYPO_ICON_##name);
47         py::module g = m.def_submodule("entypo");
48         C(PHONE); C(MOBILE); C(MOUSE); C(ADDRESS); C(MAIL); C(PAPER_PLANE);
49         C(PENCIL); C(FEATHER); C(ATTACH); C(INBOX); C(REPLY); C(REPLY_ALL);
50         C(FORWARD); C(USER); C(USERS); C(ADD_USER); C(VCARD); C(EXPORT);
51         C(LOCATION); C(MAP); C(COMPASS); C(DIRECTION); C(HAIR_CROSS); C(SHARE);
52         C(SHAREABLE); C(HEART); C(HEART_EMPTY); C(STAR); C(STAR_EMPTY);
53         C(THUMBS_UP); C(THUMBS_DOWN); C(CHAT); C(COMMENT); C(QUOTE); C(HOME);
54         C(POPUP); C(SEARCH); C(FLASHLIGHT); C(PRINT); C(BELL); C(LINK);
55         C(FLAG); C(COG); C(TOOLS); C(TROPHY); C(TAG); C(CAMERA); C(MEGAPHONE);
56         C(MOON); C(PALETTE); C(LEAF); C(NOTE); C(BEAMED_NOTE); C(NEW);
57         C(GRADUATION_CAP); C(BOOK); C(NEWSPAPER); C(BAG); C(AIRPLANE);
58         C(LIFEBUOY); C(EYE); C(CLOCK); C(MIC); C(CALENDAR); C(FLASH);
59         C(THUNDER_CLOUD); C(DROPLET); C(CD); C(BRIEFCASE); C(AIR);
60         C(HOURGLASS); C(GAUGE); C(LANGUAGE); C(NETWORK); C(KEY); C(BATTERY);
61         C(BUCKET); C(MAGNET); C(DRIVE); C(CUP); C(ROCKET); C(BRUSH);
62         C(SUITCASE); C(TRAFFIC_CONE); C(GLOBE); C(KEYBOARD); C(BROWSER);
63         C(PUBLISH); C(PROGRESS_3); C(PROGRESS_2); C(PROGRESS_1); C(PROGRESS_0);
64         C(LIGHT_DOWN); C(LIGHT_UP); C(ADJUST); C(CODE); C(MONITOR);
65         C(INFINITY); C(LIGHT_BULB); C(CREDIT_CARD); C(DATABASE); C(VOICEMAIL);
66         C(CLIPBOARD); C(CART); C(BOX); C(TICKET); C(RSS); C(SIGNAL);
67         C(THERMOMETER); C(WATER); C(SWEDEN); C(LINE_GRAPH); C(PIE_CHART);
68         C(BAR_GRAPH); C(AREA_GRAPH); C(LOCK); C(LOCK_OPEN); C(LOGOUT);
69         C(LOGIN); C(CHECK); C(CROSS); C(SQUARED_MINUS); C(SQUARED_PLUS);
70         C(SQUARED_CROSS); C(CIRCLED_MINUS); C(CIRCLED_PLUS); C(CIRCLED_CROSS);
71         C(MINUS); C(PLUS); C(ERASE); C(BLOCK); C(INFO); C(CIRCLED_INFO);
72         C(HELP); C(CIRCLED_HELP); C(WARNING); C(CYCLE); C(CW); C(CCW);
73         C(SHUFFLE); C(BACK); C(LEVEL_DOWN); C(RETWEET); C(LOOP);
74         C(BACK_IN_TIME); C(LEVEL_UP); C(SWITCH); C(NUMBERED_LIST);
75         C(ADD_TO_LIST); C(LAYOUT); C(LIST); C(TEXT_DOC); C(TEXT_DOC_INVERTED);
76         C(DOC); C(DOCS); C(LANDSCAPE_DOC); C(PICTURE); C(VIDEO); C(MUSIC);
77         C(FOLDER); C(ARCHIVE); C(TRASH); C(UPLOAD); C(DOWNLOAD); C(SAVE);
78         C(INSTALL); C(CLOUD); C(UPLOAD_CLOUD); C(BOOKMARK); C(BOOKMARKS);
79         C(OPEN_BOOK); C(PLAY); C(PAUS); C(RECORD); C(STOP); C(FF); C(FB);
80         C(TO_START); C(TO_END); C(RESIZE_FULL); C(RESIZE_SMALL); C(VOLUME);
81         C(SOUND); C(MUTE); C(FLOW_CASCADE); C(FLOW_BRANCH); C(FLOW_TREE);
82         C(FLOW_LINE); C(FLOW_PARALLEL); C(LEFT_BOLD); C(DOWN_BOLD); C(UP_BOLD);
83         C(RIGHT_BOLD); C(LEFT); C(DOWN); C(UP); C(RIGHT); C(CIRCLED_LEFT);
84         C(CIRCLED_DOWN); C(CIRCLED_UP); C(CIRCLED_RIGHT); C(TRIANGLE_LEFT);
85         C(TRIANGLE_DOWN); C(TRIANGLE_UP); C(TRIANGLE_RIGHT); C(CHEVRON_LEFT);
86         C(CHEVRON_DOWN); C(CHEVRON_UP); C(CHEVRON_RIGHT);
87         C(CHEVRON_SMALL_LEFT); C(CHEVRON_SMALL_DOWN); C(CHEVRON_SMALL_UP);
88         C(CHEVRON_SMALL_RIGHT); C(CHEVRON_THIN_LEFT); C(CHEVRON_THIN_DOWN);
89         C(CHEVRON_THIN_UP); C(CHEVRON_THIN_RIGHT); C(LEFT_THIN); C(DOWN_THIN);
90         C(UP_THIN); C(RIGHT_THIN); C(ARROW_COMBO); C(THREE_DOTS); C(TWO_DOTS);
91         C(DOT); C(CC); C(CC_BY); C(CC_NC); C(CC_NC_EU); C(CC_NC_JP); C(CC_SA);
92         C(CC_ND); C(CC_PD); C(CC_ZERO); C(CC_SHARE); C(CC_REMIX); C(DB_LOGO);
93         C(DB_SHAPE); C(GITHUB); C(C_GITHUB); C(FLICKR); C(C_FLICKR); C(VIMEO);
94         C(C_VIMEO); C(TWITTER); C(C_TWITTER); C(FACEBOOK); C(C_FACEBOOK);
95         C(S_FACEBOOK); C(GOOGLEPLUS); C(C_GOOGLEPLUS); C(PINTEREST);
96         C(C_PINTEREST); C(TUMBLR); C(C_TUMBLR); C(LINKEDIN); C(C_LINKEDIN);
97         C(DRIBBBLE); C(C_DRIBBBLE); C(STUMBLEUPON); C(C_STUMBLEUPON);
98         C(LASTFM); C(C_LASTFM); C(RDIO); C(C_RDIO); C(SPOTIFY); C(C_SPOTIFY);
99         C(QQ); C(INSTAGRAM); C(DROPBOX); C(EVERNOTE); C(FLATTR); C(SKYPE);
100         C(C_SKYPE); C(RENREN); C(SINA_WEIBO); C(PAYPAL); C(PICASA);
101         C(SOUNDCLOUD); C(MIXI); C(BEHANCE); C(GOOGLE_CIRCLES); C(VK);
102         C(SMASHING);
103         #undef C
104     }
105 }
106 
107 #endif
108