Home | History | Annotate | Download | only in pdfium
      1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/basictypes.h"
      6 #include "ppapi/c/pp_input_event.h"
      7 #include "ppapi/c/private/ppb_pdf.h"
      8 #include "third_party/pdfium/fpdfsdk/include/fpdf_fwlevent.h"
      9 #include "third_party/pdfium/fpdfsdk/include/fpdf_sysfontinfo.h"
     10 #include "ui/events/keycodes/keyboard_codes.h"
     11 
     12 #define COMPILE_ASSERT_MATCH(np_name, pdfium_name) \
     13     COMPILE_ASSERT(int(np_name) == int(pdfium_name), mismatching_enums)
     14 
     15 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_SHIFTKEY, FWL_EVENTFLAG_ShiftKey);
     16 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_CONTROLKEY,
     17                      FWL_EVENTFLAG_ControlKey);
     18 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_ALTKEY, FWL_EVENTFLAG_AltKey);
     19 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_METAKEY, FWL_EVENTFLAG_MetaKey);
     20 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_ISKEYPAD, FWL_EVENTFLAG_KeyPad);
     21 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_ISAUTOREPEAT,
     22                      FWL_EVENTFLAG_AutoRepeat);
     23 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_LEFTBUTTONDOWN,
     24                      FWL_EVENTFLAG_LeftButtonDown);
     25 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_MIDDLEBUTTONDOWN,
     26                      FWL_EVENTFLAG_MiddleButtonDown);
     27 COMPILE_ASSERT_MATCH(PP_INPUTEVENT_MODIFIER_RIGHTBUTTONDOWN,
     28                      FWL_EVENTFLAG_RightButtonDown);
     29 
     30 COMPILE_ASSERT_MATCH(ui::VKEY_BACK, FWL_VKEY_Back);
     31 COMPILE_ASSERT_MATCH(ui::VKEY_TAB, FWL_VKEY_Tab);
     32 COMPILE_ASSERT_MATCH(ui::VKEY_CLEAR, FWL_VKEY_Clear);
     33 COMPILE_ASSERT_MATCH(ui::VKEY_RETURN, FWL_VKEY_Return);
     34 COMPILE_ASSERT_MATCH(ui::VKEY_SHIFT, FWL_VKEY_Shift);
     35 COMPILE_ASSERT_MATCH(ui::VKEY_CONTROL, FWL_VKEY_Control);
     36 COMPILE_ASSERT_MATCH(ui::VKEY_MENU, FWL_VKEY_Menu);
     37 COMPILE_ASSERT_MATCH(ui::VKEY_PAUSE, FWL_VKEY_Pause);
     38 COMPILE_ASSERT_MATCH(ui::VKEY_CAPITAL, FWL_VKEY_Capital);
     39 COMPILE_ASSERT_MATCH(ui::VKEY_KANA, FWL_VKEY_Kana);
     40 COMPILE_ASSERT_MATCH(ui::VKEY_HANGUL, FWL_VKEY_Hangul);
     41 COMPILE_ASSERT_MATCH(ui::VKEY_JUNJA, FWL_VKEY_Junja);
     42 COMPILE_ASSERT_MATCH(ui::VKEY_FINAL, FWL_VKEY_Final);
     43 COMPILE_ASSERT_MATCH(ui::VKEY_HANJA, FWL_VKEY_Hanja);
     44 COMPILE_ASSERT_MATCH(ui::VKEY_KANJI, FWL_VKEY_Kanji);
     45 COMPILE_ASSERT_MATCH(ui::VKEY_ESCAPE, FWL_VKEY_Escape);
     46 COMPILE_ASSERT_MATCH(ui::VKEY_CONVERT, FWL_VKEY_Convert);
     47 COMPILE_ASSERT_MATCH(ui::VKEY_NONCONVERT, FWL_VKEY_NonConvert);
     48 COMPILE_ASSERT_MATCH(ui::VKEY_ACCEPT, FWL_VKEY_Accept);
     49 COMPILE_ASSERT_MATCH(ui::VKEY_MODECHANGE, FWL_VKEY_ModeChange);
     50 COMPILE_ASSERT_MATCH(ui::VKEY_SPACE, FWL_VKEY_Space);
     51 COMPILE_ASSERT_MATCH(ui::VKEY_PRIOR, FWL_VKEY_Prior);
     52 COMPILE_ASSERT_MATCH(ui::VKEY_NEXT, FWL_VKEY_Next);
     53 COMPILE_ASSERT_MATCH(ui::VKEY_END, FWL_VKEY_End);
     54 COMPILE_ASSERT_MATCH(ui::VKEY_HOME, FWL_VKEY_Home);
     55 COMPILE_ASSERT_MATCH(ui::VKEY_LEFT, FWL_VKEY_Left);
     56 COMPILE_ASSERT_MATCH(ui::VKEY_UP, FWL_VKEY_Up);
     57 COMPILE_ASSERT_MATCH(ui::VKEY_RIGHT, FWL_VKEY_Right);
     58 COMPILE_ASSERT_MATCH(ui::VKEY_DOWN, FWL_VKEY_Down);
     59 COMPILE_ASSERT_MATCH(ui::VKEY_SELECT, FWL_VKEY_Select);
     60 COMPILE_ASSERT_MATCH(ui::VKEY_PRINT, FWL_VKEY_Print);
     61 COMPILE_ASSERT_MATCH(ui::VKEY_EXECUTE, FWL_VKEY_Execute);
     62 COMPILE_ASSERT_MATCH(ui::VKEY_SNAPSHOT, FWL_VKEY_Snapshot);
     63 COMPILE_ASSERT_MATCH(ui::VKEY_INSERT, FWL_VKEY_Insert);
     64 COMPILE_ASSERT_MATCH(ui::VKEY_DELETE, FWL_VKEY_Delete);
     65 COMPILE_ASSERT_MATCH(ui::VKEY_HELP, FWL_VKEY_Help);
     66 COMPILE_ASSERT_MATCH(ui::VKEY_0, FWL_VKEY_0);
     67 COMPILE_ASSERT_MATCH(ui::VKEY_1, FWL_VKEY_1);
     68 COMPILE_ASSERT_MATCH(ui::VKEY_2, FWL_VKEY_2);
     69 COMPILE_ASSERT_MATCH(ui::VKEY_3, FWL_VKEY_3);
     70 COMPILE_ASSERT_MATCH(ui::VKEY_4, FWL_VKEY_4);
     71 COMPILE_ASSERT_MATCH(ui::VKEY_5, FWL_VKEY_5);
     72 COMPILE_ASSERT_MATCH(ui::VKEY_6, FWL_VKEY_6);
     73 COMPILE_ASSERT_MATCH(ui::VKEY_7, FWL_VKEY_7);
     74 COMPILE_ASSERT_MATCH(ui::VKEY_8, FWL_VKEY_8);
     75 COMPILE_ASSERT_MATCH(ui::VKEY_9, FWL_VKEY_9);
     76 COMPILE_ASSERT_MATCH(ui::VKEY_A, FWL_VKEY_A);
     77 COMPILE_ASSERT_MATCH(ui::VKEY_B, FWL_VKEY_B);
     78 COMPILE_ASSERT_MATCH(ui::VKEY_C, FWL_VKEY_C);
     79 COMPILE_ASSERT_MATCH(ui::VKEY_D, FWL_VKEY_D);
     80 COMPILE_ASSERT_MATCH(ui::VKEY_E, FWL_VKEY_E);
     81 COMPILE_ASSERT_MATCH(ui::VKEY_F, FWL_VKEY_F);
     82 COMPILE_ASSERT_MATCH(ui::VKEY_G, FWL_VKEY_G);
     83 COMPILE_ASSERT_MATCH(ui::VKEY_H, FWL_VKEY_H);
     84 COMPILE_ASSERT_MATCH(ui::VKEY_I, FWL_VKEY_I);
     85 COMPILE_ASSERT_MATCH(ui::VKEY_J, FWL_VKEY_J);
     86 COMPILE_ASSERT_MATCH(ui::VKEY_K, FWL_VKEY_K);
     87 COMPILE_ASSERT_MATCH(ui::VKEY_L, FWL_VKEY_L);
     88 COMPILE_ASSERT_MATCH(ui::VKEY_M, FWL_VKEY_M);
     89 COMPILE_ASSERT_MATCH(ui::VKEY_N, FWL_VKEY_N);
     90 COMPILE_ASSERT_MATCH(ui::VKEY_O, FWL_VKEY_O);
     91 COMPILE_ASSERT_MATCH(ui::VKEY_P, FWL_VKEY_P);
     92 COMPILE_ASSERT_MATCH(ui::VKEY_Q, FWL_VKEY_Q);
     93 COMPILE_ASSERT_MATCH(ui::VKEY_R, FWL_VKEY_R);
     94 COMPILE_ASSERT_MATCH(ui::VKEY_S, FWL_VKEY_S);
     95 COMPILE_ASSERT_MATCH(ui::VKEY_T, FWL_VKEY_T);
     96 COMPILE_ASSERT_MATCH(ui::VKEY_U, FWL_VKEY_U);
     97 COMPILE_ASSERT_MATCH(ui::VKEY_V, FWL_VKEY_V);
     98 COMPILE_ASSERT_MATCH(ui::VKEY_W, FWL_VKEY_W);
     99 COMPILE_ASSERT_MATCH(ui::VKEY_X, FWL_VKEY_X);
    100 COMPILE_ASSERT_MATCH(ui::VKEY_Y, FWL_VKEY_Y);
    101 COMPILE_ASSERT_MATCH(ui::VKEY_Z, FWL_VKEY_Z);
    102 COMPILE_ASSERT_MATCH(ui::VKEY_LWIN, FWL_VKEY_LWin);
    103 COMPILE_ASSERT_MATCH(ui::VKEY_COMMAND, FWL_VKEY_Command);
    104 COMPILE_ASSERT_MATCH(ui::VKEY_RWIN, FWL_VKEY_RWin);
    105 COMPILE_ASSERT_MATCH(ui::VKEY_APPS, FWL_VKEY_Apps);
    106 COMPILE_ASSERT_MATCH(ui::VKEY_SLEEP, FWL_VKEY_Sleep);
    107 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD0, FWL_VKEY_NumPad0);
    108 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD1, FWL_VKEY_NumPad1);
    109 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD2, FWL_VKEY_NumPad2);
    110 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD3, FWL_VKEY_NumPad3);
    111 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD4, FWL_VKEY_NumPad4);
    112 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD5, FWL_VKEY_NumPad5);
    113 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD6, FWL_VKEY_NumPad6);
    114 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD7, FWL_VKEY_NumPad7);
    115 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD8, FWL_VKEY_NumPad8);
    116 COMPILE_ASSERT_MATCH(ui::VKEY_NUMPAD9, FWL_VKEY_NumPad9);
    117 COMPILE_ASSERT_MATCH(ui::VKEY_MULTIPLY, FWL_VKEY_Multiply);
    118 COMPILE_ASSERT_MATCH(ui::VKEY_ADD, FWL_VKEY_Add);
    119 COMPILE_ASSERT_MATCH(ui::VKEY_SEPARATOR, FWL_VKEY_Separator);
    120 COMPILE_ASSERT_MATCH(ui::VKEY_SUBTRACT, FWL_VKEY_Subtract);
    121 COMPILE_ASSERT_MATCH(ui::VKEY_DECIMAL, FWL_VKEY_Decimal);
    122 COMPILE_ASSERT_MATCH(ui::VKEY_DIVIDE, FWL_VKEY_Divide);
    123 COMPILE_ASSERT_MATCH(ui::VKEY_F1, FWL_VKEY_F1);
    124 COMPILE_ASSERT_MATCH(ui::VKEY_F2, FWL_VKEY_F2);
    125 COMPILE_ASSERT_MATCH(ui::VKEY_F3, FWL_VKEY_F3);
    126 COMPILE_ASSERT_MATCH(ui::VKEY_F4, FWL_VKEY_F4);
    127 COMPILE_ASSERT_MATCH(ui::VKEY_F5, FWL_VKEY_F5);
    128 COMPILE_ASSERT_MATCH(ui::VKEY_F6, FWL_VKEY_F6);
    129 COMPILE_ASSERT_MATCH(ui::VKEY_F7, FWL_VKEY_F7);
    130 COMPILE_ASSERT_MATCH(ui::VKEY_F8, FWL_VKEY_F8);
    131 COMPILE_ASSERT_MATCH(ui::VKEY_F9, FWL_VKEY_F9);
    132 COMPILE_ASSERT_MATCH(ui::VKEY_F10, FWL_VKEY_F10);
    133 COMPILE_ASSERT_MATCH(ui::VKEY_F11, FWL_VKEY_F11);
    134 COMPILE_ASSERT_MATCH(ui::VKEY_F12, FWL_VKEY_F12);
    135 COMPILE_ASSERT_MATCH(ui::VKEY_F13, FWL_VKEY_F13);
    136 COMPILE_ASSERT_MATCH(ui::VKEY_F14, FWL_VKEY_F14);
    137 COMPILE_ASSERT_MATCH(ui::VKEY_F15, FWL_VKEY_F15);
    138 COMPILE_ASSERT_MATCH(ui::VKEY_F16, FWL_VKEY_F16);
    139 COMPILE_ASSERT_MATCH(ui::VKEY_F17, FWL_VKEY_F17);
    140 COMPILE_ASSERT_MATCH(ui::VKEY_F18, FWL_VKEY_F18);
    141 COMPILE_ASSERT_MATCH(ui::VKEY_F19, FWL_VKEY_F19);
    142 COMPILE_ASSERT_MATCH(ui::VKEY_F20, FWL_VKEY_F20);
    143 COMPILE_ASSERT_MATCH(ui::VKEY_F21, FWL_VKEY_F21);
    144 COMPILE_ASSERT_MATCH(ui::VKEY_F22, FWL_VKEY_F22);
    145 COMPILE_ASSERT_MATCH(ui::VKEY_F23, FWL_VKEY_F23);
    146 COMPILE_ASSERT_MATCH(ui::VKEY_F24, FWL_VKEY_F24);
    147 COMPILE_ASSERT_MATCH(ui::VKEY_NUMLOCK, FWL_VKEY_NunLock);
    148 COMPILE_ASSERT_MATCH(ui::VKEY_SCROLL, FWL_VKEY_Scroll);
    149 COMPILE_ASSERT_MATCH(ui::VKEY_LSHIFT, FWL_VKEY_LShift);
    150 COMPILE_ASSERT_MATCH(ui::VKEY_RSHIFT, FWL_VKEY_RShift);
    151 COMPILE_ASSERT_MATCH(ui::VKEY_LCONTROL, FWL_VKEY_LControl);
    152 COMPILE_ASSERT_MATCH(ui::VKEY_RCONTROL, FWL_VKEY_RControl);
    153 COMPILE_ASSERT_MATCH(ui::VKEY_LMENU, FWL_VKEY_LMenu);
    154 COMPILE_ASSERT_MATCH(ui::VKEY_RMENU, FWL_VKEY_RMenu);
    155 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_BACK, FWL_VKEY_BROWSER_Back);
    156 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_FORWARD, FWL_VKEY_BROWSER_Forward);
    157 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_REFRESH, FWL_VKEY_BROWSER_Refresh);
    158 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_STOP, FWL_VKEY_BROWSER_Stop);
    159 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_SEARCH, FWL_VKEY_BROWSER_Search);
    160 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_FAVORITES, FWL_VKEY_BROWSER_Favorites);
    161 COMPILE_ASSERT_MATCH(ui::VKEY_BROWSER_HOME, FWL_VKEY_BROWSER_Home);
    162 COMPILE_ASSERT_MATCH(ui::VKEY_VOLUME_MUTE, FWL_VKEY_VOLUME_Mute);
    163 COMPILE_ASSERT_MATCH(ui::VKEY_VOLUME_DOWN, FWL_VKEY_VOLUME_Down);
    164 COMPILE_ASSERT_MATCH(ui::VKEY_VOLUME_UP, FWL_VKEY_VOLUME_Up);
    165 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_NEXT_TRACK, FWL_VKEY_MEDIA_NEXT_Track);
    166 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_PREV_TRACK, FWL_VKEY_MEDIA_PREV_Track);
    167 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_STOP, FWL_VKEY_MEDIA_Stop);
    168 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_PLAY_PAUSE, FWL_VKEY_MEDIA_PLAY_Pause);
    169 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_MAIL, FWL_VKEY_MEDIA_LAUNCH_Mail);
    170 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_MEDIA_SELECT,
    171                      FWL_VKEY_MEDIA_LAUNCH_MEDIA_Select);
    172 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_APP1, FWL_VKEY_MEDIA_LAUNCH_APP1);
    173 COMPILE_ASSERT_MATCH(ui::VKEY_MEDIA_LAUNCH_APP2, FWL_VKEY_MEDIA_LAUNCH_APP2);
    174 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_1, FWL_VKEY_OEM_1);
    175 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_PLUS, FWL_VKEY_OEM_Plus);
    176 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_COMMA, FWL_VKEY_OEM_Comma);
    177 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_MINUS, FWL_VKEY_OEM_Minus);
    178 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_PERIOD, FWL_VKEY_OEM_Period);
    179 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_2, FWL_VKEY_OEM_2);
    180 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_3, FWL_VKEY_OEM_3);
    181 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_4, FWL_VKEY_OEM_4);
    182 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_5, FWL_VKEY_OEM_5);
    183 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_6, FWL_VKEY_OEM_6);
    184 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_7, FWL_VKEY_OEM_7);
    185 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_8, FWL_VKEY_OEM_8);
    186 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_102, FWL_VKEY_OEM_102);
    187 COMPILE_ASSERT_MATCH(ui::VKEY_PROCESSKEY, FWL_VKEY_ProcessKey);
    188 COMPILE_ASSERT_MATCH(ui::VKEY_PACKET, FWL_VKEY_Packet);
    189 COMPILE_ASSERT_MATCH(ui::VKEY_ATTN, FWL_VKEY_Attn);
    190 COMPILE_ASSERT_MATCH(ui::VKEY_CRSEL, FWL_VKEY_Crsel);
    191 COMPILE_ASSERT_MATCH(ui::VKEY_EXSEL, FWL_VKEY_Exsel);
    192 COMPILE_ASSERT_MATCH(ui::VKEY_EREOF, FWL_VKEY_Ereof);
    193 COMPILE_ASSERT_MATCH(ui::VKEY_PLAY, FWL_VKEY_Play);
    194 COMPILE_ASSERT_MATCH(ui::VKEY_ZOOM, FWL_VKEY_Zoom);
    195 COMPILE_ASSERT_MATCH(ui::VKEY_NONAME, FWL_VKEY_NoName);
    196 COMPILE_ASSERT_MATCH(ui::VKEY_PA1, FWL_VKEY_PA1);
    197 COMPILE_ASSERT_MATCH(ui::VKEY_OEM_CLEAR, FWL_VKEY_OEM_Clear);
    198 COMPILE_ASSERT_MATCH(ui::VKEY_UNKNOWN, FWL_VKEY_Unknown);
    199 
    200 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_ANSI, FXFONT_ANSI_CHARSET);
    201 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_DEFAULT, FXFONT_DEFAULT_CHARSET);
    202 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_SYMBOL, FXFONT_SYMBOL_CHARSET);
    203 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_SHIFTJIS, FXFONT_SHIFTJIS_CHARSET);
    204 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_HANGUL, FXFONT_HANGEUL_CHARSET);
    205 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_GB2312, FXFONT_GB2312_CHARSET);
    206 COMPILE_ASSERT_MATCH(PP_PRIVATEFONTCHARSET_CHINESEBIG5,
    207                      FXFONT_CHINESEBIG5_CHARSET);
    208