Image

Imageaureliano_b wrote in Imageru_cpp

возможно, ламерский вопрос про запуск gnash в "своем" окне

Друзья, вот какой у меня к вам вопрос. Есть задача, запустить AS приложение (swf) в standalone режиме с gnash в fullscreen (а в конечном итоге, реализовать использование внешних функций). Я, соответсвенно, решил сделать небольшую "обертку" на Си. Рассудил я следующим образом:
- gnash имеет опцию "-x ID" где ID -- собсвтенно номер окна.
- в си есть exec, которым я запущу gnash как отдельную ветку и укажу номер окна.

поскольку я ранее не имел дело с оконными интерфейсами (в т/ч KDE), я нашел документацию и решил попробовать

------------------
int main( int argc, char *argv[] ){

int pid;
GtkWidget *window;

// if( !(pid = fork())){
// sleep(2);
// argv[0]="ls"; argv[1]="test.swf"; argv[2]="-x"; argv[3]="0"; argv[4]=NULL;
// execv("/usr/bin/gnash", argv);
// }

gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (destroy), NULL);
Window xwin = GDK_WINDOW_XWINDOW (window);
gtk_widget_show (window);
printf("xwin: %d\n", xwin);
argv[0]="ls"; argv[1]="test.swf"; argv[2]="-x"; argv[3]=(char *)xwin; argv[4]="-j"; argv[5]="100"; argv[6]="-k"; argv[7]="100"; argv[8]=NULL;
execv("/usr/bin/gnash", argv);
gtk_main();

return 0;
};
------------------

в общем, и окно открывается и gnash запускается, и в fork режиме и вместо текущего процесса, но вот в окно! в окно у меня никак не получается вставить вывод gnash. буду признателен, если более сведующие и компетентные товарищи подскажут что-нибудь дельное.

заранее признателен всем откликнувшимся.