Отображение SWF-файла с помощью NPAPI (на Xlib)

Я боролся с NPAPI за «хорошие» примеры и «конкретную» документацию (в Unix). У меня есть libflashplayer.so, на котором я могу получить доступ к определенной информации, а именно:

nm -D libflashplayer.so | more

00000000005cc4e0 T FlashPlayer_11_2_202_235_FlashPlayer
00000000005cc4a0 T Flash_DisableLocalSecurity
00000000005cc4c0 T Flash_EnforceLocalSecurity
00000000005ca870 T NP_GetMIMEDescription
00000000005ca850 T NP_GetValue
00000000005ca4d0 T NP_Initialize
00000000005ca4c0 T NP_Shutdown

Сделав это, я легко проверил MIMEDescription. Которые возвращают flash MIME.

static char* (*mNP_GetMIMEDescription)(void);
//MAIN
lib = dlopen("./libflashplayer.so", RTLD_LAZY | RTLD_LOCAL);

*(void **) &mNP_GetMIMEDescription  = dlsym(lib, "NP_GetMIMEDescription");
fprintf(stderr, "NP_GetMIMEDescription=%p\n", mNP_GetMIMEDescription);
fprintf(stderr, "NP_GetMIMEDescription=%s\n", mNP_GetMIMEDescription());

//output
NP_GetMIMEDescription=0x7f2d2239f870
NP_GetMIMEDescription=application/x-shockwave-flash:swf:Shockwave Flash;application/futuresplash:spl:FutureSplash Player

Теперь я действительно не понимаю, как отображать (или тестировать, открывать файл swf) содержимое в Xlib окне. Во-первых, я делаю NP_INITIALIZE, который, как я полагаю (насколько я понимаю), обеспечивает глобальную инициализацию (особенно для NPNetscapeFuncs и NPPluginFuncs "экземпляра"). Затем начинается самое интересное. Мое предположение (с тем, что я прочитал и понял, поправьте меня, если я ошибаюсь) состояло в том, чтобы создать экземпляр моего плагина (с NPP_New) и после этого установить мое окно (с NPP_SetWindow), чтобы связать мой экземпляр плагина и мое окно (от Xlib например...)


person fneron    schedule 08.05.2012    source источник


Ответы (1)


Это именно то, чего я хочу добиться.

http://blog.henryfan.net/post/2012/01/09/gtk%E6%92%AD%E6%94%BEflash.aspx

спасибо тому, кто это записал.

person fneron    schedule 09.05.2012