# HG changeset patch # User ib # Date 1308413011 0 # Node ID 520fb0f7544cf7c4ebdd540a978c12e455e798ae # Parent c5a19bbeac2bccd4d67672bdf2ba77a2bbc5b9a1 Rename GUI directory 'mplayer' and some files in it. The directory 'mplayer' contains the files for the user interface and has thus been renamed 'ui'. Inside this directory the following files have been renamed to better reflect their contents: mw.c -> main.c sw.c -> sub.c pb.c -> playbar.c gui_common.* -> render.* play.* -> actions.* diff -r c5a19bbeac2b -r 520fb0f7544c Makefile --- a/Makefile Sat Jun 18 14:33:41 2011 +0000 +++ b/Makefile Sat Jun 18 16:03:31 2011 +0000 @@ -521,25 +521,25 @@ SRCS_MPLAYER-$(GUI_GTK) += gui/app.c \ gui/cfg.c \ gui/interface.c \ - gui/mplayer/gui_common.c \ - gui/mplayer/menu.c \ - gui/mplayer/mw.c \ - gui/mplayer/pb.c \ - gui/mplayer/play.c \ - gui/mplayer/sw.c \ - gui/mplayer/widgets.c \ - gui/mplayer/gtk/about.c \ - gui/mplayer/gtk/eq.c \ - gui/mplayer/gtk/fs.c \ - gui/mplayer/gtk/gtk_common.c \ - gui/mplayer/gtk/gtk_menu.c \ - gui/mplayer/gtk/gtk_url.c \ - gui/mplayer/gtk/mb.c \ - gui/mplayer/gtk/opts.c \ - gui/mplayer/gtk/pl.c \ - gui/mplayer/gtk/sb.c \ gui/skin/font.c \ gui/skin/skin.c \ + gui/ui/actions.c \ + gui/ui/gtk/about.c \ + gui/ui/gtk/eq.c \ + gui/ui/gtk/fs.c \ + gui/ui/gtk/gtk_common.c \ + gui/ui/gtk/gtk_menu.c \ + gui/ui/gtk/gtk_url.c \ + gui/ui/gtk/mb.c \ + gui/ui/gtk/opts.c \ + gui/ui/gtk/pl.c \ + gui/ui/gtk/sb.c \ + gui/ui/main.c \ + gui/ui/menu.c \ + gui/ui/playbar.c \ + gui/ui/render.c \ + gui/ui/sub.c \ + gui/ui/widgets.c \ gui/util/cut.c \ gui/util/string.c \ gui/wm/ws.c \ @@ -735,11 +735,11 @@ ffmpeg/libswscale/sparc \ ffmpeg/libswscale/x86 \ gui \ - gui/mplayer \ - gui/mplayer/gtk \ gui/skin \ + gui/ui \ + gui/ui/gtk \ + gui/win32 \ gui/wm \ - gui/win32 \ input \ libaf \ libao2 \ diff -r c5a19bbeac2b -r 520fb0f7544c gui/interface.c --- a/gui/interface.c Sat Jun 18 14:33:41 2011 +0000 +++ b/gui/interface.c Sat Jun 18 16:03:31 2011 +0000 @@ -21,9 +21,9 @@ #include "interface.h" #include "app.h" -#include "mplayer/gmplayer.h" -#include "mplayer/widgets.h" #include "skin/skin.h" +#include "ui/gmplayer.h" +#include "ui/widgets.h" #include "wm/ws.h" #include "wm/wsxdnd.h" diff -r c5a19bbeac2b -r 520fb0f7544c gui/interface.h --- a/gui/interface.h Sat Jun 18 14:33:41 2011 +0000 +++ b/gui/interface.h Sat Jun 18 16:03:31 2011 +0000 @@ -29,7 +29,7 @@ // the GUI and that only need to include interface.h for this. // ------------------------------------------------------------ #include "cfg.h" -#include "mplayer/play.h" +#include "ui/actions.h" extern int use_gui; // this is defined in mplayer.c // ------------------------------------------------------------ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gmplayer.h --- a/gui/mplayer/gmplayer.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_GMPLAYER_H -#define MPLAYER_GUI_GMPLAYER_H - -extern int uiSubRender; -extern int uiMainRender; - -extern unsigned char * mainDrawBuffer; -extern unsigned char * menuDrawBuffer; -extern int mainVisible; - -extern int uiMainAutoPlay; -extern int uiMiddleMenu; -extern int uiPlaybarFade; - -extern int sx, sy; - -void uiInit( void * disp ); - -void uiMainDraw( void ); -void uiEventHandling( int msg, float param ); -void uiMainMouseHandle( int Button, int X, int Y, int RX, int RY ); -void uiMainKeyHandle( int KeyCode, int Type, int Key ); -void uiDandDHandler(int num, char** files); - -void uiSubDraw( void ); -void uiSubMouseHandle( int Button, int X, int Y, int RX, int RY ); - -void uiMenuInit( void ); -void uiHideMenu( int mx, int my, int w ); -void uiShowMenu( int mx, int my ); -void uiMenuMouseHandle( int X, int Y, int RX, int RY ); - -void uiPlaybarInit( void ); -void uiPlaybarShow( int x, int y ); - -#endif /* MPLAYER_GUI_GMPLAYER_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/about.c --- a/gui/mplayer/gtk/about.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,346 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "config.h" -#include "gui/app.h" -#include "help_mp.h" - -#include "gui/mplayer/pixmaps/about.xpm" -#include "gui/mplayer/widgets.h" -#include "about.h" -#include "gtk_common.h" - -GtkWidget * About = NULL; - -void ShowAboutBox( void ) -{ - if ( About ) gtkActive( About ); - else About=create_About(); - gtk_widget_show( About ); -} - -static void abWidgetDestroy( GtkWidget * widget, GtkWidget ** widget_pointer ) -{ WidgetDestroy( NULL,&About ); } - -GtkWidget * create_About( void ) -{ - GtkWidget * vbox; - GtkWidget * pixmap1; - GtkWidget * scrolledwindow1; - GtkWidget * AboutText; - GtkWidget * Ok; - -#ifdef CONFIG_GTK2 - GtkTextBuffer * AboutTextBuffer; - GtkTextIter iter; -#endif /* CONFIG_GTK2 */ - - GtkStyle * pixmapstyle; - GdkPixmap * pixmapwid; - GdkBitmap * mask; - - GtkAccelGroup * accel_group; - - accel_group=gtk_accel_group_new(); - - About=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( About,MSGTR_About ); - gtk_object_set_data( GTK_OBJECT( About ),MSGTR_About,About ); - gtk_widget_set_usize( About,340,415 ); - gtk_window_set_title( GTK_WINDOW( About ),MSGTR_About ); - gtk_window_set_position( GTK_WINDOW( About ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( About ),TRUE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( About ),"About","MPlayer" ); - - gtk_widget_realize( About ); - gtkAddIcon( About ); - - vbox=AddVBox( AddDialogFrame( About ),0 ); - - pixmapstyle=gtk_widget_get_style( About ); - pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( About->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar **) about_xpm ); - pixmap1=gtk_pixmap_new( pixmapwid,mask ); - - gtk_widget_set_name( pixmap1,"pixmap1" ); - gtk_widget_show( pixmap1 ); - gtk_box_pack_start( GTK_BOX( vbox ),pixmap1,FALSE,FALSE,0 ); - gtk_widget_set_usize( pixmap1,-2,174 ); - - AddHSeparator( vbox ); - - scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); - gtk_widget_show( scrolledwindow1 ); - gtk_box_pack_start( GTK_BOX( vbox ),scrolledwindow1,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); - -#ifdef CONFIG_GTK2 - AboutText = gtk_text_view_new(); - gtk_text_view_set_editable(GTK_TEXT_VIEW(AboutText), FALSE); - gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(AboutText), FALSE); - AboutTextBuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (AboutText)); - gtk_text_buffer_get_iter_at_offset (AboutTextBuffer, &iter, 0); -#else - AboutText=gtk_text_new( NULL,NULL ); - gtk_text_set_editable(GTK_TEXT(AboutText), FALSE); -#endif - gtk_widget_set_name( AboutText,"AboutText" ); - gtk_widget_show( AboutText ); - gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),AboutText ); -#ifdef CONFIG_GTK2 - gtk_text_buffer_insert (AboutTextBuffer, &iter, -#else - gtk_text_insert( GTK_TEXT( AboutText ),NULL,NULL,NULL, -#endif - "\n" - MSGTR_ABOUT_UHU - " (http://www.uhulinux.hu/)\n" - "\n" - MSGTR_ABOUT_Contributors - "\n" - " * Ackermann, Andreas\n" - " * adland\n" - " * Anholt, Eric\n" - " * Ashberg, Folke\n" - " * Balatoni, Dénes\n" - " * Barat, Zsolt\n" - " * Barbato, Luca\n" - " * Baryshkov, Dmitry\n" - " * Baudet, Bertrand\n" - " * Bedel, Alban\n" - " * Behrisch, Michael\n" - " * Belev, Luchezar\n" - " * Bérczi, Gábor\n" - " * Berecz, Szabolcs\n" - " * Beregszászi, Alex\n" - " * Bitterberg, Tilmann\n" - " * Biurrun, Diego\n" - " * Blomenkamp, Marcsu\n" - " * Buehler, Andrew\n" - " * Bulgroz, Eviv\n" - " * Bünemann, Felix\n" - " * Bunkus, Moritz\n" - " * Christiansen, Dan Villiom Podlaski\n" - " * Clagg, Jeff\n" - " * Compn\n" - " * Comstedt, Marcus\n" - " * Cook, Kees\n" - " * Davies, Stephen\n" - " * Di Vita, Piero\n" - " * Diedrich, Tobias\n" - " * Dietrich, Florian\n" - " * Dobbelaere, Jeroen\n" - " * Döffinger, Reimar\n" - " * Dolbeau, Romain\n" - " * Dönmez, Ismail\n" - " * Edele, Robert\n" - " * Egger, Christoph\n" - " * Elsinghorst, Paul Wilhelm\n" - " * Ernesti, Bernd\n" - " * Falco, Salvatore\n" - " * Feigl, Johannes\n" - " * Felker, D Richard III\n" - " * Ferguson, Tim\n" - " * Finlayson, Ross\n" - " * Forghieri, Daniele\n" - " * Foth, Kilian A.\n" - " * Franz, Fabian\n" - " * Gansser, Martin\n" - " * Gereöffy, Árpád\n" - " * Giani, Matteo\n" - " * Goethel, Sven\n" - " * Gomez Garcia, German\n" - " * Gottwald, Alexander\n" - " * Graffam, Michael\n" - " * Gritsenko, Andriy N.\n" - " * Guyomarch, Rémi\n" - " * Hammelmann, Jürgen\n" - " * Hertel, Christopher R.\n" - " * Hess, Andreas\n" - " * Hickey, Corey\n" - " * Hidvégi, Zoltán\n" - " * Hoffmann, Jens\n" - " * Holm, David\n" - " * Horst, Bohdan\n" - " * Hug, Hampa\n" - " * Hurka, Tomas\n" - " * Isani, Sidik\n" - " * Issaris, Panagiotis\n" - " * Jacobs, Aurelien\n" - " * Jelveh, Reza\n" - " * Jermann, Jonas\n" - " * Johansson, Anders\n" - " * Kain, Nicholas\n" - " * Kalinski, Filip\n" - " * Kalvachev, Ivan\n" - " * Kaniewski, Wojtek\n" - " * Kaplan, Kim Minh\n" - " * Kärkkäinen, Samuli\n" - " * Keil, Jürgen\n" - " * Kesterson, Robert\n" - " * Kinali, Attila\n" - " * Kovriga, Gregory\n" - " * Kühling, David\n" - " * Kuivinen, Fredrik\n" - " * Kurshev, Nick\n" - " * Kuschak, Brian\n" - " * Kushnir, Vladimir\n" - " * Lambley, Dave\n" - " * László, Gyula\n" - " * Le Gaillart, Nicolas\n" - " * Lénárt, Gábor\n" - " * Leroy, Colin\n" - " * Liljeblad, Oskar\n" - " * Lin, Sam\n" - " * Lombard, Pierre\n" - " * Madick, Puk\n" - " * Makovicka, Jindrich\n" - " * Marek, Rudolf\n" - " * Megyer, László\n" - " * Melanson, Mike\n" - " * von Merkatz, Arwed\n" - " * Merritt, Loren\n" - " * Mierzejewski, Dominik\n" - " * Milushev, Mihail\n" - " * Mistry, Nehal\n" - " * Mohari, András\n" - " * Mueller, Steven\n" - " * Neundorf, Alexander\n" - " * Niedermayer, Michael\n" - " * Noring, Fredrik\n" - " * Ohm, Christian\n" - " * Parrish, Joey\n" - " * Pietrzak, Dariusz\n" - " * Plourde, Nicolas\n" - " * Poettering, Lennart\n" - " * Poirier, Guillaume\n" - " * Ponekker, Zoltán\n" - " * van Poorten, Ivo\n" - " * Ran, Lu\n" - " * Reder, Uwe\n" - " * rgselk\n" - " * Rune Petersen\n" - " * Saari, Ville\n" - " * Sabbi, Nico\n" - " * Sandell, Björn\n" - " * Sauerbeck, Tilman\n" - " * Scherthan, Frank\n" - " * Schneider, Florian\n" - " * Schoenbrunner, Oliver\n" - " * Shimon, Oded\n" - " * Simon, Peter\n" - " * Snel, Rik\n" - " * Sommer, Sascha\n" - " * Strasser, Alexander\n" - " * Strzelecki, Kamil\n" - " * Svoboda, Jiri\n" - " * Swain, Robert\n" - " * Syrjälä, Ville\n" - " * Szecsi, Gabor\n" - " * Tackaberry, Jason\n" - " * Tam, Howell\n" - " * Tlalka, Adam\n" - " * Tiesi, Gianluigi\n" - " * Togni, Roberto\n" - " * Tropea, Salvador Eduardo\n" - " * Vajna, Miklós\n" - " * Verdejo Pinochet, Reynaldo H.\n" - " * Wigren, Per\n" - " * Witt, Derek J\n" - " * Young, Alan\n" - " * Zaprzala, Artur\n" - " * Zealey, Mark\n" - " * Ziv-Av, Matan\n" - " * Zoltán, Márk Vicián\n" - "\n" - MSGTR_ABOUT_Codecs_libs_contributions - "\n" - " * Bellard, Fabrice\n" - " * Chappelier, Vivien and Vincent, Damien\n" - " * Hipp, Michael\n" - " * Holtzman, Aaron\n" - " * Janovetz, Jake\n" - " * Kabelac, Zdenek\n" - " * Kuznetsov, Eugene\n" - " * Lespinasse, Michel\n" - " * Podlipec, Mark\n" - "\n" - MSGTR_ABOUT_Translations - "\n" - " * Biernat, Marcin\n" - " * Fargas, Marc\n" - " * Heryan, Jiri\n" - " * Jarycki, Marek\n" - " * Kaplita, Leszek\n" - " * Krämer, Sebastian\n" - " * López, Juan Martin\n" - " * Michniewski, Piotr\n" - " * Misiorny, Jakub\n" - " * Mizda, Gábor\n" - " * Paszta, Maciej\n" - " * Proszek, Łukasz\n" - " * Schiller, Wacław\n" - " * Zubimendi, Andoni\n" - "\n" - MSGTR_ABOUT_Skins - "\n" - " * Azrael\n" - " * Bekesi, Viktor\n" - " * Burt.S.\n" - " * Carpenter, Andrew\n" - " * Foucault, Charles\n" - " * Gyimesi, Attila\n" - " * Hertroys, Alban\n" - " * Juan Pablo\n" - " * Kiss, Balint\n" - " * Kuehne, Andre\n" - " * Kuhlmann, Rüdiger\n" - " * Naumov, Dan\n" - " * Northam, Ryan\n" - " * Oyarzun Arroyo\n" - " * Park, DongCheon\n" - " * Pehrson, Jurgen\n" - " * Pizurica, Nikola\n" - " * Ptak, Oliwier\n" - " * Riccio, Pasquale\n" - " * Schultz, Jesper\n" - " * Szumiela, Marcin\n" - " * Tisi, Massimo\n" - " * Tyr, Jiri jun.\n" - " * Vasilev, Ognian\n" - " * Veres, Imre\n" - " * Vesko, Radic\n" - " * Vigvary, Balasz\n" - " * Weber, Andrew\n" - " * Whitmore, Gary Jr.\n" - " * Wilamowski, Franciszek\n" - " * Zeising, Michael\n" - "\n",-1 ); - - AddHSeparator( vbox ); - Ok=AddButton( MSGTR_Ok,AddHButtonBox( vbox ) ); - - gtk_signal_connect( GTK_OBJECT( About ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&About ); - gtk_signal_connect_object( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( abWidgetDestroy ),NULL ); - - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_window_add_accel_group( GTK_WINDOW( About ),accel_group ); - - return About; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/about.h --- a/gui/mplayer/gtk/about.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_ABOUT_H -#define MPLAYER_GUI_ABOUT_H - -#include - -extern GtkWidget * About; - -GtkWidget * create_About( void ); -void ShowAboutBox( void ); - -#endif /* MPLAYER_GUI_ABOUT_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/eq.c --- a/gui/mplayer/gtk/eq.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,691 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "config.h" -#include "gui/app.h" -#include "gui/cfg.h" -#include "help_mp.h" -#include "libaf/equalizer.h" -#include "libvo/video_out.h" -#include "stream/stream.h" -#include "libmpdemux/demuxer.h" -#include "libmpdemux/stheader.h" -#include "libmpcodecs/dec_video.h" -#include "gui/mplayer/widgets.h" - -#include "eq.h" -#include "gtk_common.h" - -#define eqRange 15 - -GtkWidget * Equalizer = NULL; -static GtkWidget * EquConfig; - -static GtkWidget * Notebook; -static GtkWidget * ChannelsList; -static GtkWidget * VContrast, * VBrightness, * VHue, * VSaturation; -static GtkAdjustment * VContrastadj, * VBrightnessadj, * VHueadj, * VSaturationadj; -static GtkWidget * Ok, * Clear, * Config; -static GtkWidget * A3125, * A125, * A6250, * A250, * A500, * A1000, * A2000, * A4000, * A8000, * A16000; -static GtkAdjustment * A3125adj, * A125adj, * A6250adj, * A250adj, * A500adj, * A1000adj, * A2000adj, * A4000adj, * A8000adj, * A16000adj; - -static int Channel = -1; - -// --- - -char * gtkEquChannel1 = NULL; -char * gtkEquChannel2 = NULL; -char * gtkEquChannel3 = NULL; -char * gtkEquChannel4 = NULL; -char * gtkEquChannel5 = NULL; -char * gtkEquChannel6 = NULL; - -// --- - -void ShowEquConfig( void ); -void HideEquConfig( void ); - -static void eqSetBands( int channel ) -{ - if ( channel < 0 ) channel=0; - gtk_adjustment_set_value( A3125adj,0.0f - gtkEquChannels[channel][0] ); - gtk_adjustment_set_value( A6250adj,0.0f - gtkEquChannels[channel][1] ); - gtk_adjustment_set_value( A125adj,0.0f - gtkEquChannels[channel][2] ); - gtk_adjustment_set_value( A250adj,0.0f - gtkEquChannels[channel][3] ); - gtk_adjustment_set_value( A500adj,0.0f - gtkEquChannels[channel][4] ); - gtk_adjustment_set_value( A1000adj,0.0f - gtkEquChannels[channel][5] ); - gtk_adjustment_set_value( A2000adj,0.0f - gtkEquChannels[channel][6] ); - gtk_adjustment_set_value( A4000adj,0.0f - gtkEquChannels[channel][7] ); - gtk_adjustment_set_value( A8000adj,0.0f - gtkEquChannels[channel][8] ); - gtk_adjustment_set_value( A16000adj,0.0f - gtkEquChannels[channel][9] ); - - if ( guiInfo.sh_video ) - { - get_video_colors( guiInfo.sh_video,"brightness",&vo_gamma_brightness ); - get_video_colors( guiInfo.sh_video,"contrast",&vo_gamma_contrast ); - get_video_colors( guiInfo.sh_video,"hue",&vo_gamma_hue ); - get_video_colors( guiInfo.sh_video,"saturation",&vo_gamma_saturation ); - } - - gtk_adjustment_set_value( VContrastadj,(float)vo_gamma_contrast ); - gtk_adjustment_set_value( VBrightnessadj,(float)vo_gamma_brightness ); - gtk_adjustment_set_value( VHueadj,(float)vo_gamma_hue ); - gtk_adjustment_set_value( VSaturationadj,(float)vo_gamma_saturation ); -} - -static void eqSetChannelNames( void ) -{ - gchar * str[2]; - gtk_clist_clear( GTK_CLIST( ChannelsList ) ); - str[1]=""; - str[0]=MSGTR_EQU_All; - gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - if ( guiInfo.AudioType > 1 ) - { - str[0]=gtkEquChannel1; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - str[0]=gtkEquChannel2; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - } - if ( guiInfo.AudioType > 2 ) - { - str[0]=gtkEquChannel3; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - str[0]=gtkEquChannel4; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - } - if ( guiInfo.AudioType > 4 ) - { - str[0]=gtkEquChannel5; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - str[0]=gtkEquChannel6; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); - } - gtk_clist_select_row( GTK_CLIST( ChannelsList ),0,0 ); -} - -void ShowEqualizer( void ) -{ - if ( Equalizer ) gtkActive( Equalizer ); - else Equalizer=create_Equalizer(); - - if ( !gtkEquChannel1 ) gtkEquChannel1=strdup( MSGTR_EQU_Front_Right ); - if ( !gtkEquChannel2 ) gtkEquChannel2=strdup( MSGTR_EQU_Front_Left ); - if ( !gtkEquChannel3 ) gtkEquChannel3=strdup( MSGTR_EQU_Back_Right ); - if ( !gtkEquChannel4 ) gtkEquChannel4=strdup( MSGTR_EQU_Back_Left ); - if ( !gtkEquChannel5 ) gtkEquChannel5=strdup( MSGTR_EQU_Center ); - if ( !gtkEquChannel6 ) gtkEquChannel6=strdup( MSGTR_EQU_Bass ); - - eqSetChannelNames(); - - if ( !guiInfo.Playing || !guiInfo.sh_video ) - { - gtk_widget_set_sensitive( VContrast,FALSE ); - gtk_widget_set_sensitive( VBrightness,FALSE ); - gtk_widget_set_sensitive( VHue,FALSE ); - gtk_widget_set_sensitive( VSaturation,FALSE ); - } - Channel=-1; - eqSetBands( 0 ); - if ( !guiInfo.Playing || !gtkEnableAudioEqualizer ) - { - gtk_widget_set_sensitive( ChannelsList,FALSE ); - gtk_widget_set_sensitive( A3125,FALSE ); - gtk_widget_set_sensitive( A125,FALSE ); - gtk_widget_set_sensitive( A6250,FALSE ); - gtk_widget_set_sensitive( A250,FALSE ); - gtk_widget_set_sensitive( A500,FALSE ); - gtk_widget_set_sensitive( A1000,FALSE ); - gtk_widget_set_sensitive( A2000,FALSE ); - gtk_widget_set_sensitive( A4000,FALSE ); - gtk_widget_set_sensitive( A8000,FALSE ); - gtk_widget_set_sensitive( A16000,FALSE ); - } - - if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( Notebook ) ) == 0 ) gtk_widget_show( Config ); - gtk_widget_show( Equalizer ); -} - -static void HideEqualizer( void ) -{ - if ( !Equalizer ) return; - gtk_widget_hide( Equalizer ); - gtk_widget_destroy( Equalizer ); - Equalizer=NULL; - if ( EquConfig ) HideEquConfig(); -} - -static gboolean eqHScaleMotion( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) -{ - equalizer_t eq; - switch ( (int)user_data ) - { - case 0: eq.gain=A3125adj->value; break; - case 1: eq.gain=A6250adj->value; break; - case 2: eq.gain=A125adj->value; break; - case 3: eq.gain=A250adj->value; break; - case 4: eq.gain=A500adj->value; break; - case 5: eq.gain=A1000adj->value; break; - case 6: eq.gain=A2000adj->value; break; - case 7: eq.gain=A4000adj->value; break; - case 8: eq.gain=A8000adj->value; break; - case 9: eq.gain=A16000adj->value; break; - default: return FALSE; - } - eq.gain=0.0f - eq.gain; - eq.band=(int)user_data; - if ( Channel == -1 ) - { - int i; - for ( i=0;i<6;i++ ) - { eq.channel=i; gtkSet( gtkSetEqualizer,0,&eq ); } - } else { eq.channel=Channel; gtkSet( gtkSetEqualizer,0,&eq ); } - - return FALSE; -} - -static gboolean eqVScaleMotion( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) -{ - - switch( (int)user_data ) - { - case 1: gtkSet( gtkSetContrast,VContrastadj->value,NULL ); break; - case 2: gtkSet( gtkSetBrightness,VBrightnessadj->value,NULL ); break; - case 3: gtkSet( gtkSetHue,VHueadj->value,NULL ); break; - case 4: gtkSet( gtkSetSaturation,VSaturationadj->value,NULL ); break; - } - - return FALSE; -} - -static void eqButtonReleased( GtkButton * button,gpointer user_data ) -{ - switch( (int)user_data ) - { - case 0: HideEqualizer(); break; - case 1: - if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( Notebook ) ) == 0 ) - { - if ( !guiInfo.Playing || !gtkEnableAudioEqualizer ) break; - gtkSet( gtkSetEqualizer,0,NULL ); - eqSetBands( Channel ); - } - else - { - if ( !guiInfo.Playing ) break; - gtkSet( gtkSetContrast,0.0f,NULL ); - gtkSet( gtkSetBrightness,0.0f,NULL ); - gtkSet( gtkSetHue,0.0f,NULL ); - gtkSet( gtkSetSaturation,0.0f,NULL ); - eqSetBands( Channel ); - } - break; - case 2: - ShowEquConfig(); - break; - } -} - -static void eqFocus( GtkWindow * window,GtkWidget * widget,gpointer user_data ) -{ eqSetBands( Channel ); } - -static void eqSelectChannelsListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) -{ - Channel=row - 1; - eqSetBands( Channel ); - if ( Channel == -1 ) - { - int i,j; equalizer_t eq; - for ( i=1;i<6;i++ ) - for ( j=0;j<10;j++ ) - { eq.band=j; eq.channel=i; eq.gain=gtkEquChannels[0][j]; gtkSet( gtkSetEqualizer,0,&eq ); } - } -} - -static void eqNotebook( GtkNotebook * notebook, GtkNotebookPage * page, - gint page_num, gpointer user_data ) -{ - if ( page_num ) gtk_widget_hide( Config ); - else gtk_widget_show( Config ); -} - -GtkWidget * create_Equalizer( void ) -{ - GtkWidget * vbox1; - GtkWidget * hbox1; - GtkWidget * scrolledwindow1; - GtkWidget * table1; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - - accel_group=gtk_accel_group_new(); - - Equalizer=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( Equalizer,MSGTR_Equalizer ); - gtk_object_set_data( GTK_OBJECT( Equalizer ),MSGTR_Equalizer,Equalizer ); - gtk_widget_set_usize( Equalizer,-1,256 ); - gtk_window_set_title( GTK_WINDOW( Equalizer ),MSGTR_Equalizer ); - gtk_window_set_position( GTK_WINDOW( Equalizer ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( Equalizer ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( Equalizer ),"Equalizer","MPlayer" ); - - gtk_widget_realize( Equalizer ); - gtkAddIcon( Equalizer ); - - vbox1=AddVBox( AddDialogFrame( Equalizer ),0 ); - - Notebook=gtk_notebook_new(); - gtk_widget_set_name( Notebook,"Notebook" ); - gtk_widget_show( Notebook ); - gtk_box_pack_start( GTK_BOX( vbox1 ),Notebook,TRUE,TRUE,0 ); - gtk_container_set_border_width( GTK_CONTAINER( Notebook ),1 ); - - hbox1=AddHBox( Notebook,0 ); - - scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); - gtk_widget_show( scrolledwindow1 ); - gtk_box_pack_start( GTK_BOX( hbox1 ),scrolledwindow1,FALSE,FALSE,0 ); - gtk_widget_set_usize( scrolledwindow1,106,-2 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); - - ChannelsList=gtk_clist_new( 1 ); - gtk_widget_set_name( ChannelsList,"ChannelsList" ); - gtk_widget_show( ChannelsList ); - gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),ChannelsList ); - gtk_clist_set_column_width( GTK_CLIST( ChannelsList ),0,80 ); - gtk_clist_column_titles_hide( GTK_CLIST( ChannelsList ) ); - - table1=gtk_table_new( 2,10,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( hbox1 ),table1,FALSE,FALSE,0 ); - gtk_table_set_row_spacings( GTK_TABLE( table1 ),4 ); - gtk_table_set_col_spacings( GTK_TABLE( table1 ),9 ); - - A3125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A3125=AddVScaler( A3125adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A3125,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A6250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A6250=AddVScaler( A6250adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A6250,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A125=AddVScaler( A125adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A125,2,3,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A250=AddVScaler( A250adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A250,3,4,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A500adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A500=AddVScaler( A500adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A500,4,5,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A1000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A1000=AddVScaler( A1000adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A1000,5,6,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A2000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A2000=AddVScaler( A2000adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A2000,6,7,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A4000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A4000=AddVScaler( A4000adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A4000,7,8,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A8000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A8000=AddVScaler( A8000adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A8000,8,9,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - A16000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); - A16000=AddVScaler( A16000adj,NULL,-1 ); - gtk_table_attach( GTK_TABLE( table1 ),A16000,9,10,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "31.25",NULL ), - 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "62.50",NULL ), - 1,2,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "125",NULL ), - 2,3,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "250",NULL ), - 3,4,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "500",NULL ), - 4,5,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "1000",NULL ), - 5,6,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "2000",NULL ), - 6,7,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "4000",NULL ), - 7,8,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "8000",NULL ), - 8,9,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( "16000",NULL ), - 9,10,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),0 ), - AddLabel( MSGTR_EQU_Audio,NULL ) ); - - table1=gtk_table_new( 4,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_container_add( GTK_CONTAINER( Notebook ),table1 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Contrast,NULL ), - 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Brightness,NULL ), - 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Hue,NULL ), - 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Saturation,NULL ), - 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - VContrastadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); - VContrast=AddHScaler( VContrastadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),VContrast,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - gtk_widget_set_usize( VContrast,-1,45 ); - - VBrightnessadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); - VBrightness=AddHScaler( VBrightnessadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),VBrightness,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - gtk_widget_set_usize( VBrightness,-1,45 ); - - VHueadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); - VHue=AddHScaler( VHueadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),VHue,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - gtk_widget_set_usize( VHue,-1,45 ); - - VSaturationadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); - VSaturation=AddHScaler( VSaturationadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),VSaturation,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - gtk_widget_set_usize( VSaturation,-1,45 ); - - gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),1 ), - AddLabel( MSGTR_EQU_Video,NULL ) ); - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - - Config=AddButton( MSGTR_Config,hbuttonbox1 ); - Clear=AddButton( MSGTR_Clear,hbuttonbox1 ); - Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); - - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( Equalizer ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Equalizer ); - gtk_signal_connect( GTK_OBJECT( Equalizer ),"focus_in_event",GTK_SIGNAL_FUNC( eqFocus ),(void *)2 ); - - gtk_signal_connect( GTK_OBJECT( ChannelsList ),"select_row",GTK_SIGNAL_FUNC( eqSelectChannelsListRow ),NULL ); - - gtk_signal_connect( GTK_OBJECT( A3125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( A6250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( A125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)2 ); - gtk_signal_connect( GTK_OBJECT( A250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)3 ); - gtk_signal_connect( GTK_OBJECT( A500 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)4 ); - gtk_signal_connect( GTK_OBJECT( A1000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)5 ); - gtk_signal_connect( GTK_OBJECT( A2000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)6 ); - gtk_signal_connect( GTK_OBJECT( A4000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)7 ); - gtk_signal_connect( GTK_OBJECT( A8000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)8 ); - gtk_signal_connect( GTK_OBJECT( A16000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)9 ); - - gtk_signal_connect( GTK_OBJECT( VContrast ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( VBrightness ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)2 ); - gtk_signal_connect( GTK_OBJECT( VHue ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)3 ); - gtk_signal_connect( GTK_OBJECT( VSaturation ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void *)4 ); - - gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)0 ); - gtk_signal_connect( GTK_OBJECT( Clear ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)1 ); - gtk_signal_connect( GTK_OBJECT( Config ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)2 ); - - gtk_signal_connect( GTK_OBJECT( Notebook ),"switch_page",GTK_SIGNAL_FUNC( eqNotebook ),NULL ); - - gtk_window_add_accel_group( GTK_WINDOW( Equalizer ),accel_group ); - - return Equalizer; -} - -// --- equalizer config dialog box - -static GtkWidget * CBChannel1; -static GtkWidget * CEChannel1; -static GtkWidget * CBChannel2; -static GtkWidget * CEChannel2; -static GtkWidget * CBChannel3; -static GtkWidget * CEChannel3; -static GtkWidget * CBChannel4; -static GtkWidget * CEChannel4; -static GtkWidget * CBChannel5; -static GtkWidget * CEChannel5; -static GtkWidget * CBChannel6; -static GtkWidget * CEChannel6; -static GtkWidget * ecOk; -static GtkWidget * ecCancel; - -GtkWidget * create_EquConfig( void ); - -void ShowEquConfig( void ) -{ - GList * Items = NULL; - - if ( EquConfig ) gtkActive( EquConfig ); - else EquConfig=create_EquConfig(); - - Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Right ); - Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Left ); - Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Right ); - Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Left ); - Items=g_list_append( Items,(gpointer)MSGTR_EQU_Center ); - Items=g_list_append( Items,(gpointer)MSGTR_EQU_Bass ); - - gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel1 ),Items ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel2 ),Items ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel3 ),Items ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel4 ),Items ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel5 ),Items ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel6 ),Items ); - - g_list_free( Items ); - - gtk_entry_set_text( GTK_ENTRY( CEChannel1 ),gtkEquChannel1 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel1 ),FALSE ); - gtk_entry_set_text( GTK_ENTRY( CEChannel2 ),gtkEquChannel2 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel2 ),FALSE ); - gtk_entry_set_text( GTK_ENTRY( CEChannel3 ),gtkEquChannel3 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel3 ),FALSE ); - gtk_entry_set_text( GTK_ENTRY( CEChannel4 ),gtkEquChannel4 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel4 ),FALSE ); - gtk_entry_set_text( GTK_ENTRY( CEChannel5 ),gtkEquChannel5 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel5 ),FALSE ); - gtk_entry_set_text( GTK_ENTRY( CEChannel6 ),gtkEquChannel6 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel6 ),FALSE ); - - gtk_widget_show( EquConfig ); - gtkSetLayer( EquConfig ); -} - -void HideEquConfig( void ) -{ - if ( !EquConfig ) return; - gtk_widget_hide( EquConfig ); - gtk_widget_destroy( EquConfig ); - EquConfig=NULL; -} - -static void ecButtonReleased( GtkButton * button,gpointer user_data ) -{ - if ( (int)user_data ) - { // if you pressed Ok - gfree( (void **)>kEquChannel1 ); gtkEquChannel1=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel1 ) ) ); - gfree( (void **)>kEquChannel2 ); gtkEquChannel2=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel2 ) ) ); - gfree( (void **)>kEquChannel3 ); gtkEquChannel3=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel3 ) ) ); - gfree( (void **)>kEquChannel4 ); gtkEquChannel4=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel4 ) ) ); - gfree( (void **)>kEquChannel5 ); gtkEquChannel5=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel5 ) ) ); - gfree( (void **)>kEquChannel6 ); gtkEquChannel6=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel6 ) ) ); - eqSetChannelNames(); - } - HideEquConfig(); -} - -GtkWidget * create_EquConfig( void ) -{ - GtkWidget * vbox1; - GtkWidget * table1; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - - accel_group=gtk_accel_group_new(); - - EquConfig=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( EquConfig,"EquConfig" ); - gtk_object_set_data( GTK_OBJECT( EquConfig ),"EquConfig",EquConfig ); - gtk_widget_set_usize( EquConfig,350,260 ); - GTK_WIDGET_SET_FLAGS( EquConfig,GTK_CAN_DEFAULT ); - gtk_window_set_title( GTK_WINDOW( EquConfig ),MSGTR_ConfigureEqualizer ); - gtk_window_set_position( GTK_WINDOW( EquConfig ),GTK_WIN_POS_CENTER ); -// gtk_window_set_modal( GTK_WINDOW( EquConfig ),TRUE ); - gtk_window_set_policy( GTK_WINDOW( EquConfig ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( EquConfig ),"EquConfig","MPlayer" ); - - gtk_widget_realize( EquConfig ); - gtkAddIcon( EquConfig ); - - vbox1=AddVBox( AddDialogFrame( EquConfig ),0 ); - - table1=gtk_table_new( 6,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox1 ),table1,TRUE,TRUE,0 ); - gtk_table_set_row_spacings( GTK_TABLE( table1 ),4 ); - gtk_table_set_col_spacings( GTK_TABLE( table1 ),4 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Channel1,NULL ), - 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Channel2,NULL ), - 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Channel3,NULL ), - 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Channel4,NULL ), - 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Channel5,NULL ), - 0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - gtk_table_attach( GTK_TABLE( table1 ), - AddLabel( MSGTR_EQU_Channel6,NULL ), - 0,1,5,6,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CBChannel1=AddComboBox( NULL ); - gtk_table_attach( GTK_TABLE( table1 ),CBChannel1,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CEChannel1=GTK_COMBO( CBChannel1 )->entry; - gtk_widget_set_name( CEChannel1,"CEChannel1" ); - gtk_widget_show( CEChannel1 ); - - CBChannel2=AddComboBox( NULL ); - gtk_table_attach( GTK_TABLE( table1 ),CBChannel2,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CEChannel2=GTK_COMBO( CBChannel2 )->entry; - gtk_widget_set_name( CEChannel2,"CEChannel2" ); - gtk_widget_show( CEChannel2 ); - - CBChannel3=AddComboBox( NULL ); - gtk_table_attach( GTK_TABLE( table1 ),CBChannel3,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CEChannel3=GTK_COMBO( CBChannel3 )->entry; - gtk_widget_set_name( CEChannel3,"CEChannel3" ); - gtk_widget_show( CEChannel3 ); - - CBChannel4=AddComboBox( NULL ); - gtk_table_attach( GTK_TABLE( table1 ),CBChannel4,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CEChannel4=GTK_COMBO( CBChannel4 )->entry; - gtk_widget_set_name( CEChannel4,"CEChannel4" ); - gtk_widget_show( CEChannel4 ); - - CBChannel5=AddComboBox( NULL ); - gtk_table_attach( GTK_TABLE( table1 ),CBChannel5,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CEChannel5=GTK_COMBO( CBChannel5 )->entry; - gtk_widget_set_name( CEChannel5,"CEChannel5" ); - gtk_widget_show( CEChannel5 ); - - CBChannel6=AddComboBox( NULL ); - gtk_table_attach( GTK_TABLE( table1 ),CBChannel6,1,2,5,6,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CEChannel6=GTK_COMBO( CBChannel6 )->entry; - gtk_widget_set_name( CEChannel6,"CEChannel6" ); - gtk_widget_show( CEChannel6 ); - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - - ecOk=AddButton( MSGTR_Ok,hbuttonbox1 ); - ecCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( ecOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( ecCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( EquConfig ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&EquConfig ); - - gtk_signal_connect( GTK_OBJECT( ecOk ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)1 ); - gtk_signal_connect( GTK_OBJECT( ecCancel ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)0 ); - - gtk_window_add_accel_group( GTK_WINDOW( EquConfig ),accel_group ); - - return EquConfig; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/eq.h --- a/gui/mplayer/gtk/eq.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_EQ_H -#define MPLAYER_GUI_EQ_H - -#include - -extern GtkWidget * Equalizer; - -GtkWidget * create_Equalizer( void ); -void ShowEqualizer( void ); - -#endif /* MPLAYER_GUI_EQ_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/fs.c --- a/gui/mplayer/gtk/fs.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,710 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "gui/mplayer/gmplayer.h" - -#include "gui/mplayer/pixmaps/up.xpm" -#include "gui/mplayer/pixmaps/dir.xpm" -#include "gui/mplayer/pixmaps/file.xpm" - -#include "gui/app.h" -#include "gui/interface.h" -#include "help_mp.h" -#include "mpcommon.h" -#include "stream/stream.h" - -#include "gui/mplayer/widgets.h" -#include "fs.h" -#include "opts.h" -#include "gtk_common.h" - -#ifndef __linux__ -#define get_current_dir_name() getcwd(NULL, PATH_MAX) -#else -char * get_current_dir_name( void ); -#endif - -gchar * fsSelectedFile = NULL; -gchar * fsSelectedFileUtf8 = NULL; -gchar * fsSelectedDirectory = NULL; -unsigned char * fsThatDir = "."; -const gchar * fsFilter = "*"; - -int fsType = 0; - -char * fsVideoFilterNames[][2] = - { - { "ASF files (*.asf)", "*.asf" }, - { "AVI files (*.avi)", "*.avi" }, - { "Autodesk animations (*.fli,*.flc)", "*.fli,*.flc" }, - { "DGStation Cuberevo recordings (*.trp)", "*.trp" }, - { "DiVX files (*.divx)", "*.divx" }, - { "MP3 files (*.mp3,*.mp2)", "*.mp3,*.mp2" }, - { "MPEG files (*.mpg,*.mpeg,*.m1v)", "*.mpg,*.mpeg,*.m1v" }, - { "Macromedia Flash Video (*.flv)", "*.flv" }, - { "Matroska Audio files (*.mka)", "*.mka" }, - { "Matroska Media files (*.mkv)", "*.mkv" }, - { "NuppelVideo files (*.nuv)", "*.nuv" }, - { "OGG Vorbis files (*.ogg)", "*.ogg" }, - { "OGG Media files (*.ogm)", "*.ogm" }, - { "QuickTime files (*.mov,*.qt,*.mp4)", "*.mov,*.qt,*.mp4" }, - { "RealVideo files (*.rm,*.rmvb)", "*.rm,*.rmvb" }, - { "Tivo files (*.ty)", "*.ty" }, - { "VCD/SVCD Images (*.bin)", "*.bin" }, - { "VIVO files (*.viv)", "*.viv" }, - { "VOB files (*.vob)", "*.vob" }, - { "Wave files (*.wav)", "*.wav" }, - { "Windows Media Audio (*.wma)", "*.wma" }, - { "Windows Media Video (*.wmv)", "*.wmv" }, - { "Audio files", "*.mp2,*.mp3,*.mka,*.ogg,*.wav,*.wma" }, - { "Video files", "*.asf,*.avi,*.fli,*.flc,*.trp,*.divx,*.mpg,*.mpeg,*.m1v,*.flv,*.mkv,*.nuv,*.ogm,*.mov,*.qt,*.mp4,*.rm,*.rmvb,*.ty,*.bin,*.viv,*.vob,*.wmv" }, - { "All files", "*" }, - { NULL,NULL } - }; -int fsLastVideoFilterSelected = -1; - -char * fsSubtitleFilterNames[][2] = - { - { "AQT (*.aqt)", "*.aqt" }, - { "ASS (*.ass)", "*.ass" }, - { "RT (*.rt) ", "*.rt" }, - { "SMI (*.smi)", "*.smi" }, - { "SRT (*.srt)", "*.srt" }, - { "SSA (*.ssa)", "*.ssa" }, - { "SUB (*.sub)", "*.sub" }, - { "TXT (*.txt)", "*.txt" }, - { "UTF (*.utf)", "*.utf" }, - { "Subtitles", "*.aqt,*.ass,*.rt,*.smi,*.srt,*.ssa,*.sub,*.txt,*.utf" }, - { "All files", "*" }, - { NULL,NULL } - }; -int fsLastSubtitleFilterSelected = -1; - -char * fsOtherFilterNames[][2] = - { - { "All files", "*" }, - { NULL,NULL } - }; - -char * fsAudioFileNames[][2] = - { - { "MP3 files (*.mp2, *.mp3)", "*.mp2,*.mp3" }, - { "Matroska Audio files (*.mka)", "*.mka" }, - { "OGG Vorbis files (*.ogg)", "*.ogg" }, - { "WAV files (*.wav)", "*.wav" }, - { "WMA files (*.wma)", "*.wma" }, - { "Audio files", "*.mp2,*.mp3,*.mka,*.ogg,*.wav,*.wma" }, - { "All files", "*" }, - { NULL, NULL } - }; -int fsLastAudioFilterSelected = -1; - -char * fsFontFileNames[][2] = - { -#ifdef CONFIG_FREETYPE - { "True Type fonts (*.ttf)", "*.ttf" }, - { "Type1 fonts (*.pfb)", "*.pfb" }, - { "All fonts", "*.ttf,*.pfb" }, -#else - { "Font files (*.desc)", "*.desc" }, -#endif - { "All files", "*" }, - { NULL,NULL } - }; -int fsLastFontFilterSelected = -1; - -GtkWidget * fsFileNamesList; -GtkWidget * fsFNameList; -GtkWidget * fsFileSelect = NULL; -GdkColormap * fsColorMap; -GtkWidget * fsOk; -GtkWidget * fsUp; -GtkWidget * fsCancel; -GtkWidget * fsCombo4; -GtkWidget * fsPathCombo; -GList * fsList_items = NULL; -GList * fsTopList_items = NULL; -GtkWidget * List; -GtkWidget * fsFilterCombo; - -GtkStyle * style; -GdkPixmap * dpixmap; -GdkPixmap * fpixmap; -GdkBitmap * dmask; -GdkBitmap * fmask; - -static char * get_current_dir_name_utf8( void ) -{ - char * dir, * utf8dir; - dir = get_current_dir_name(); - utf8dir = g_filename_to_utf8( dir, -1, NULL, NULL, NULL ); - if ( !utf8dir ) utf8dir = g_strdup( dir ); - free( dir ); - return utf8dir; -} - -static char * Filter( const char * name ) -{ - static char tmp[32]; - int i,c; - for ( i=0,c=0;i < strlen( name );i++ ) - { - if ( ( name[i] >='a' )&&( name[i] <= 'z' ) ) { tmp[c++]='['; tmp[c++]=name[i]; tmp[c++]=name[i] - 32; tmp[c++]=']'; } - else tmp[c++]=name[i]; - } - tmp[c]=0; - return tmp; -} - -static void clist_append_fname(GtkWidget * list, char *fname, - GdkPixmap *pixmap, GdkPixmap *mask) { - gint pos; - gchar *filename, *str[2]; - filename = g_filename_to_utf8(fname, -1, NULL, NULL, NULL); - str[0] = NULL; - str[1] = filename ? filename : fname; - pos = gtk_clist_append(GTK_CLIST(list), str); - gtk_clist_set_pixmap(GTK_CLIST(list), pos, 0, pixmap, mask); - g_free(filename); -} - -static void CheckDir( GtkWidget * list ) -{ - struct stat fs; - int i; - glob_t gg; - - if ( !fsFilter[0] ) return; - - gtk_widget_hide( list ); - gtk_clist_clear( GTK_CLIST( list ) ); - - clist_append_fname(list, ".", dpixmap, dmask); - clist_append_fname(list, "..", dpixmap, dmask); - - glob( "*",0,NULL,&gg ); - for( i=0;(unsigned)i= 0 ? k : i-2][0] ); - tmp=guiInfo.Filename; - break; - case fsSubtitleSelector: - gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_SubtitleSelect ); - fsList_items=NULL; - for( i=0;fsSubtitleFilterNames[i][0];i++ ) - fsList_items=g_list_append( fsList_items,fsSubtitleFilterNames[i][0] ); - k = fsLastSubtitleFilterSelected; - gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); - g_list_free( fsList_items ); - gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsSubtitleFilterNames[k >= 0 ? k : i-2][0] ); - tmp=guiInfo.Subtitlename; - break; - case fsOtherSelector: - gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_OtherSelect ); - fsList_items=NULL; - for( i=0;fsOtherFilterNames[i][0];i++ ) - fsList_items=g_list_append( fsList_items,fsOtherFilterNames[i][0] ); - gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); - g_list_free( fsList_items ); - gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsOtherFilterNames[0][0] ); - tmp=guiInfo.Othername; - break; - case fsAudioSelector: - gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_AudioFileSelect ); - fsList_items=NULL; - for( i=0;fsAudioFileNames[i][0];i++ ) - fsList_items=g_list_append( fsList_items,fsAudioFileNames[i][0] ); - k = fsLastAudioFilterSelected; - gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); - g_list_free( fsList_items ); - gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsAudioFileNames[k >= 0 ? k : i-2][0] ); - tmp=guiInfo.AudioFile; - break; - case fsFontSelector: - gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FontSelect ); - fsList_items=NULL; - for( i=0;fsFontFileNames[i][0];i++ ) - fsList_items=g_list_append( fsList_items,fsFontFileNames[i][0] ); - k = fsLastFontFilterSelected; - gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); - g_list_free( fsList_items ); - gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsFontFileNames[k >= 0 ? k : i-2][0] ); - tmp=font_name; - break; - } - - if ( tmp && tmp[0] ) - { - struct stat f; - char * dir = strdup( tmp ); - - do - { - char * c = strrchr( dir,'/' ); - stat( dir,&f ); - if ( S_ISDIR( f.st_mode ) ) break; - if ( c ) *c=0; - } while ( strrchr( dir,'/' ) ); - - if ( dir[0] ) chdir( dir ); - - free( dir ); - } - - if ( fsTopList_items ) g_list_free( fsTopList_items ); fsTopList_items=NULL; - { - int i, c = 1; - - if ( fsType == fsVideoSelector ) - { - for ( i=0;i < fsPersistant_MaxPos;i++ ) - if ( fsHistory[i] ) { fsTopList_items=g_list_append( fsTopList_items,fsHistory[i] ); c=0; } - } - if ( c ) fsTopList_items=g_list_append( fsTopList_items,(gchar *)get_current_dir_name_utf8() ); - } - if ( getenv( "HOME" ) ) fsTopList_items=g_list_append( fsTopList_items,getenv( "HOME" ) ); - fsTopList_items=g_list_append( fsTopList_items,"/home" ); - fsTopList_items=g_list_append( fsTopList_items,"/mnt" ); - fsTopList_items=g_list_append( fsTopList_items,"/" ); - gtk_combo_set_popdown_strings( GTK_COMBO( fsCombo4 ),fsTopList_items ); - - gtk_window_set_modal( GTK_WINDOW( fsFileSelect ),modal ); - - gtk_widget_show( fsFileSelect ); -} - -void HideFileSelect( void ) -{ - if ( !fsFileSelect ) return; - gtk_widget_hide( fsFileSelect ); - gtk_widget_destroy( fsFileSelect ); - fsFileSelect=NULL; -} - -static void fs_PersistantHistory( char * subject ) -{ - int i; - - if ( fsType != fsVideoSelector ) return; - - for ( i=0;i < fsPersistant_MaxPos;i++ ) - if ( fsHistory[i] && !strcmp( fsHistory[i],subject ) ) - { - char * tmp = fsHistory[i]; fsHistory[i]=fsHistory[0]; fsHistory[0]=tmp; - return; - } - gfree( (void **)&fsHistory[fsPersistant_MaxPos - 1] ); - for ( i=fsPersistant_MaxPos - 1;i;i-- ) fsHistory[i]=fsHistory[i - 1]; - fsHistory[0]=gstrdup( subject ); -} -//----------------------------------------------- - -static void fs_fsFilterCombo_activate( GtkEditable * editable, - gpointer user_data ) -{ - fsFilter=gtk_entry_get_text( GTK_ENTRY( user_data ) ); - CheckDir( fsFNameList ); -} - -static void fs_fsFilterCombo_changed( GtkEditable * editable, - gpointer user_data ) -{ - const char * str; - int i; - - str=gtk_entry_get_text( GTK_ENTRY(user_data ) ); - - switch ( fsType ) - { - case fsVideoSelector: - for( i=0;fsVideoFilterNames[i][0];i++ ) - if( !strcmp( str,fsVideoFilterNames[i][0] ) ) - { fsFilter=fsVideoFilterNames[i][1]; fsLastVideoFilterSelected = i; break; } - break; - case fsSubtitleSelector: - for( i=0;fsSubtitleFilterNames[i][0];i++ ) - if( !strcmp( str,fsSubtitleFilterNames[i][0] ) ) - { fsFilter=fsSubtitleFilterNames[i][1]; fsLastSubtitleFilterSelected = i; break; } - break; - case fsOtherSelector: - for( i=0;fsOtherFilterNames[i][0];i++ ) - if( !strcmp( str,fsOtherFilterNames[i][0] ) ) - { fsFilter=fsOtherFilterNames[i][1]; break; } - break; - case fsAudioSelector: - for( i=0;fsAudioFileNames[i][0];i++ ) - if( !strcmp( str,fsAudioFileNames[i][0] ) ) - { fsFilter=fsAudioFileNames[i][1]; fsLastAudioFilterSelected = i; break; } - break; - case fsFontSelector: - for( i=0;fsFontFileNames[i][0];i++ ) - if( !strcmp( str,fsFontFileNames[i][0] ) ) - { fsFilter=fsFontFileNames[i][1]; fsLastFontFilterSelected = i; break; } - break; - default: return; - } - CheckDir( fsFNameList ); -} - -static void fs_fsPathCombo_activate( GtkEditable * editable, - gpointer user_data ) -{ - const unsigned char * str; - gchar * dirname; - - str=gtk_entry_get_text( GTK_ENTRY( user_data ) ); - dirname = g_filename_from_utf8( str, -1, NULL, NULL, NULL ); - if ( chdir( dirname ? (const unsigned char *)dirname : str ) != -1 ) CheckDir( fsFNameList ); - g_free( dirname ); -} - -static void fs_fsPathCombo_changed( GtkEditable * editable, - gpointer user_data ) -{ - const unsigned char * str; - gchar * dirname; - - str=gtk_entry_get_text( GTK_ENTRY( user_data ) ); - dirname = g_filename_from_utf8( str, -1, NULL, NULL, NULL ); - if ( chdir( dirname ? (const unsigned char *)dirname : str ) != -1 ) CheckDir( fsFNameList ); - g_free( dirname ); -} - -static void fs_Up_released( GtkButton * button, gpointer user_data ) -{ - chdir( ".." ); - fsSelectedFile=fsThatDir; - CheckDir( fsFNameList ); - gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)get_current_dir_name_utf8() ); - return; -} - -static void fs_Ok_released( GtkButton * button, gpointer user_data ) -{ - GList * item; - int i = 1; - struct stat fs; - - stat( fsSelectedFile,&fs ); - if( S_ISDIR(fs.st_mode ) ) - { - chdir( fsSelectedFile ); - fsSelectedFile=fsThatDir; - CheckDir( fsFNameList ); - gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)get_current_dir_name_utf8() ); - return; - } - - fsSelectedDirectory=(unsigned char *)get_current_dir_name(); - switch ( fsType ) - { - case fsVideoSelector: - guiSetDF( guiInfo.Filename,fsSelectedDirectory,fsSelectedFile ); - guiInfo.StreamType=STREAMTYPE_FILE; - guiInfo.FilenameChanged=1; sub_fps=0; - gfree( (void **)&guiInfo.AudioFile ); - gfree( (void **)&guiInfo.Subtitlename ); - fs_PersistantHistory( get_current_dir_name_utf8() ); //totem, write into history - break; - case fsSubtitleSelector: - guiSetDF( guiInfo.Subtitlename,fsSelectedDirectory,fsSelectedFile ); - guiLoadSubtitle( guiInfo.Subtitlename ); - break; - case fsOtherSelector: - guiSetDF( guiInfo.Othername,fsSelectedDirectory,fsSelectedFile ); - break; - case fsAudioSelector: - guiSetDF( guiInfo.AudioFile,fsSelectedDirectory,fsSelectedFile ); - break; - case fsFontSelector: - guiSetDF( font_name,fsSelectedDirectory,fsSelectedFile ); - guiLoadFont(); - if ( Preferences ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); - break; - } - - HideFileSelect(); - - item=fsTopList_items; - while( item ) - { - if ( !strcmp( item->data,fsSelectedDirectory ) ) i=0; - item=item->next; - } - if ( i ) fsTopList_items=g_list_prepend( fsTopList_items,(gchar *)get_current_dir_name_utf8() ); - if ( uiMainAutoPlay ) { uiMainAutoPlay=0; uiEventHandling( evPlay,0 ); } - else guiGetEvent( guiCEvent,guiSetStop ); -} - -static void fs_Cancel_released( GtkButton * button,gpointer user_data ) -{ - HideFileSelect(); - fs_PersistantHistory( get_current_dir_name_utf8() ); //totem, write into history file -} - -static void fs_fsFNameList_select_row( GtkWidget * widget, gint row, gint column, - GdkEventButton *bevent, gpointer user_data) -{ - gtk_clist_get_text( GTK_CLIST(widget ),row,1,&fsSelectedFile ); - g_free( fsSelectedFileUtf8 ); - fsSelectedFileUtf8 = g_filename_from_utf8( fsSelectedFile, -1, NULL, NULL, NULL ); - if ( fsSelectedFileUtf8 ) fsSelectedFile = fsSelectedFileUtf8; - if( bevent && bevent->type == GDK_BUTTON_PRESS ) gtk_button_released( GTK_BUTTON( fsOk ) ); -} - -static gboolean on_FileSelect_key_release_event( GtkWidget * widget, - GdkEventKey * event, - gpointer user_data ) -{ - switch ( event->keyval ) - { - case GDK_Escape: - gtk_button_released( GTK_BUTTON( fsCancel ) ); - break; - case GDK_Return: - gtk_button_released( GTK_BUTTON( fsOk ) ); - break; - case GDK_BackSpace: - gtk_button_released( GTK_BUTTON( fsUp ) ); - break; - } - return FALSE; -} - -static gboolean fs_fsFNameList_event( GtkWidget * widget, - GdkEvent * event, - gpointer user_data ) -{ - GdkEventButton *bevent; - gint row, col; - - (void) user_data; - - bevent = (GdkEventButton *) event; - - if ( event->type == GDK_BUTTON_RELEASE && bevent->button == 2 ) - { - if ( gtk_clist_get_selection_info( GTK_CLIST( widget ), bevent->x, bevent->y, &row, &col ) ) - { - gtk_clist_get_text( GTK_CLIST( widget ), row, 1, &fsSelectedFile ); - g_free( fsSelectedFileUtf8 ); - fsSelectedFileUtf8 = g_filename_from_utf8( fsSelectedFile, -1, NULL, NULL, NULL ); - if ( fsSelectedFileUtf8 ) fsSelectedFile = fsSelectedFileUtf8; - gtk_button_released( GTK_BUTTON( fsOk ) ); - return TRUE; - } - } - - return FALSE; -} - -static void fs_Destroy( void ) -{ - g_free( fsSelectedFileUtf8 ); - fsSelectedFileUtf8 = NULL; - WidgetDestroy( fsFileSelect, &fsFileSelect ); -} - -GtkWidget * create_FileSelect( void ) -{ - GtkWidget * vbox4; - GtkWidget * hbox4; - GtkWidget * vseparator1; - GtkWidget * hbox6; - GtkWidget * fsFNameListWindow; - GtkWidget * hbuttonbox3; - - GtkWidget * uppixmapwid; - GdkPixmap * uppixmap; - GdkBitmap * upmask; - GtkStyle * upstyle; - - - fsFileSelect=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( fsFileSelect,"fsFileSelect" ); - gtk_object_set_data( GTK_OBJECT( fsFileSelect ),"fsFileSelect",fsFileSelect ); - gtk_widget_set_usize( fsFileSelect,512,300 ); - GTK_WIDGET_SET_FLAGS( fsFileSelect,GTK_CAN_DEFAULT ); - gtk_widget_set_events( fsFileSelect,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); - gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FileSelect ); - gtk_window_set_position( GTK_WINDOW( fsFileSelect ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( fsFileSelect ),TRUE,TRUE,TRUE ); - gtk_window_set_wmclass( GTK_WINDOW( fsFileSelect ),"FileSelect","MPlayer" ); - fsColorMap=gdk_colormap_get_system(); - - gtk_widget_realize( fsFileSelect ); - gtkAddIcon( fsFileSelect ); - - style=gtk_widget_get_style( fsFileSelect ); - dpixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&dmask,&style->bg[GTK_STATE_NORMAL],(gchar **)dir_xpm ); - fpixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&fmask,&style->bg[GTK_STATE_NORMAL],(gchar **)file_xpm ); - - vbox4=AddVBox( AddDialogFrame( fsFileSelect ),0 ); - hbox4=AddHBox( vbox4,1 ); - - fsCombo4=gtk_combo_new(); - gtk_widget_set_name( fsCombo4,"fsCombo4" ); - gtk_widget_show( fsCombo4 ); - gtk_box_pack_start( GTK_BOX( hbox4 ),fsCombo4,TRUE,TRUE,0 ); - gtk_widget_set_usize( fsCombo4,-2,20 ); - - fsPathCombo=GTK_COMBO( fsCombo4 )->entry; - gtk_widget_set_name( fsPathCombo,"fsPathCombo" ); - gtk_widget_show( fsPathCombo ); - gtk_widget_set_usize( fsPathCombo,-2,20 ); - - vseparator1=gtk_vseparator_new(); - gtk_widget_set_name( vseparator1,"vseparator1" ); - gtk_widget_show( vseparator1 ); - gtk_box_pack_start( GTK_BOX( hbox4 ),vseparator1,FALSE,TRUE,0 ); - gtk_widget_set_usize( vseparator1,7,20 ); - - upstyle=gtk_widget_get_style( fsFileSelect ); - uppixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&upmask,&upstyle->bg[GTK_STATE_NORMAL],(gchar **)up_xpm ); - uppixmapwid=gtk_pixmap_new( uppixmap,upmask ); - gtk_widget_show( uppixmapwid ); - - fsUp=gtk_button_new(); - gtk_container_add( GTK_CONTAINER(fsUp ),uppixmapwid ); - gtk_widget_show( fsUp ); - gtk_box_pack_start( GTK_BOX( hbox4 ),fsUp,FALSE,FALSE,0 ); - gtk_widget_set_usize( fsUp,65,15 ); - - AddHSeparator( vbox4 ); - - hbox6=AddHBox( NULL,0 ); - gtk_box_pack_start( GTK_BOX( vbox4 ),hbox6,TRUE,TRUE,0 ); - - fsFNameListWindow=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( fsFNameListWindow,"fsFNameListWindow" ); - gtk_widget_show( fsFNameListWindow ); - gtk_box_pack_start( GTK_BOX( hbox6 ),fsFNameListWindow,TRUE,TRUE,0 ); - gtk_widget_set_usize( fsFNameListWindow,-2,145 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( fsFNameListWindow ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); - - fsFNameList=gtk_clist_new( 2 ); - gtk_widget_set_name( fsFNameList,"fsFNameList" ); - gtk_container_add( GTK_CONTAINER( fsFNameListWindow ),fsFNameList ); - gtk_clist_set_column_width( GTK_CLIST( fsFNameList ),0,80 ); - gtk_clist_set_selection_mode( GTK_CLIST( fsFNameList ),GTK_SELECTION_BROWSE ); - gtk_clist_column_titles_hide( GTK_CLIST( fsFNameList ) ); - gtk_clist_set_shadow_type( GTK_CLIST( fsFNameList ),GTK_SHADOW_ETCHED_OUT ); - - AddHSeparator( vbox4 ); - - List=gtk_combo_new(); - gtk_widget_set_name( List,"List" ); - gtk_widget_ref( List ); - gtk_object_set_data_full( GTK_OBJECT( fsFileSelect ),"List",List,(GtkDestroyNotify)gtk_widget_unref ); - gtk_widget_show( List ); - gtk_box_pack_start( GTK_BOX( vbox4 ),List,FALSE,FALSE,0 ); - gtk_widget_set_usize( List,-2,20 ); - - fsFilterCombo=GTK_COMBO( List )->entry; - gtk_widget_set_name( fsFilterCombo,"fsFilterCombo" ); - gtk_widget_show( fsFilterCombo ); - gtk_entry_set_editable (GTK_ENTRY( fsFilterCombo ),FALSE ); - - AddHSeparator( vbox4 ); - - hbuttonbox3=AddHButtonBox( vbox4 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox3 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox3 ),10 ); - - fsOk=AddButton( MSGTR_Ok,hbuttonbox3 ); - fsCancel=AddButton( MSGTR_Cancel,hbuttonbox3 ); - - gtk_signal_connect( GTK_OBJECT( fsFileSelect ),"destroy",GTK_SIGNAL_FUNC( fs_Destroy ), NULL ); - gtk_signal_connect( GTK_OBJECT( fsFileSelect ),"key_release_event",GTK_SIGNAL_FUNC( on_FileSelect_key_release_event ),NULL ); - - gtk_signal_connect( GTK_OBJECT( fsFilterCombo ),"changed",GTK_SIGNAL_FUNC( fs_fsFilterCombo_changed ),fsFilterCombo ); - gtk_signal_connect( GTK_OBJECT( fsFilterCombo ),"activate",GTK_SIGNAL_FUNC( fs_fsFilterCombo_activate ),fsFilterCombo ); - gtk_signal_connect( GTK_OBJECT( fsPathCombo ),"changed",GTK_SIGNAL_FUNC( fs_fsPathCombo_changed ),fsPathCombo ); - gtk_signal_connect( GTK_OBJECT( fsPathCombo ),"activate",GTK_SIGNAL_FUNC( fs_fsPathCombo_activate ),fsPathCombo ); - gtk_signal_connect( GTK_OBJECT( fsUp ),"released",GTK_SIGNAL_FUNC( fs_Up_released ),fsFNameList ); - gtk_signal_connect( GTK_OBJECT( fsOk ),"released",GTK_SIGNAL_FUNC( fs_Ok_released ),fsCombo4 ); - gtk_signal_connect( GTK_OBJECT( fsCancel ),"released",GTK_SIGNAL_FUNC( fs_Cancel_released ),NULL ); - gtk_signal_connect( GTK_OBJECT( fsFNameList ),"select_row",(GtkSignalFunc)fs_fsFNameList_select_row,NULL ); - gtk_signal_connect( GTK_OBJECT( fsFNameList ),"event", (GtkSignalFunc)fs_fsFNameList_event,NULL ); - - gtk_widget_grab_focus( fsFNameList ); - - return fsFileSelect; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/fs.h --- a/gui/mplayer/gtk/fs.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_FS_H -#define MPLAYER_GUI_FS_H - -#include - -#define fsVideoSelector 0 -#define fsSubtitleSelector 1 -#define fsOtherSelector 2 -#define fsAudioSelector 3 -#define fsFontSelector 4 - -#include - -extern GtkWidget * fsFileSelect; - -void HideFileSelect( void ); -void ShowFileSelect( int type, int modal ); - -GtkWidget * create_FileSelect( void ); - -#endif /* MPLAYER_GUI_FS_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/gtk_common.c --- a/gui/mplayer/gtk/gtk_common.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,197 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include - -#include "gtk_common.h" - -void WidgetDestroy( GtkWidget * widget,GtkWidget ** widget_pointer ) -{ - if ( !widget_pointer ) return; - gtk_widget_hide( *widget_pointer ); - gtk_widget_destroy( *widget_pointer ); - *widget_pointer=NULL; -} - -GtkWidget * AddDialogFrame( GtkWidget * parent ) -{ - GtkWidget * frame; - frame=AddFrame( NULL,GTK_SHADOW_IN,parent,1 ); - gtk_container_set_border_width( GTK_CONTAINER( frame ),1 ); - frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); - frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,frame,1 ); - frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); - return frame; -} - -GtkWidget * AddFrame( const char * title,int type,GtkWidget * parent,int add ) -{ - GtkWidget * frame = NULL; - frame=gtk_frame_new( title ); - gtk_widget_set_name( frame,"frame" ); - gtk_widget_show( frame ); - gtk_frame_set_shadow_type( GTK_FRAME( frame ),type ); - if ( !parent ) return frame; - if ( add ) gtk_container_add( GTK_CONTAINER( parent ),frame ); - else gtk_box_pack_start( GTK_BOX( parent ),frame,FALSE,FALSE,0 ); - return frame; -} - -GtkWidget * AddLabel( const char * title,GtkWidget * parent ) -{ - GtkWidget * label; - label=gtk_label_new( title ); - gtk_widget_set_name( label,"label" ); - gtk_widget_show( label ); - if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),label,FALSE,FALSE,0 ); - gtk_misc_set_alignment( GTK_MISC( label ),0,0.5 ); - gtk_misc_set_padding( GTK_MISC( label ),4,0 ); - return label; -} - -GtkWidget * AddVBox( GtkWidget * parent,int type ) -{ - GtkWidget * vbox; - vbox=gtk_vbox_new( FALSE,0 ); - gtk_widget_set_name( vbox,"vbox" ); - gtk_widget_show( vbox ); - if ( parent ) - { - if ( type ) gtk_box_pack_start( GTK_BOX( parent ),vbox,FALSE,FALSE,0 ); - else gtk_container_add( GTK_CONTAINER( parent ),vbox ); - } - return vbox; -} - -GtkWidget * AddHBox( GtkWidget * parent,int type ) -{ - GtkWidget * hbox; - hbox=gtk_hbox_new( FALSE,0 ); - gtk_widget_set_name( hbox,"hbox" ); - gtk_widget_show( hbox ); - if ( parent ) - { - if ( type ) gtk_box_pack_start( GTK_BOX( parent ),hbox,FALSE,FALSE,0 ); - else gtk_container_add( GTK_CONTAINER( parent ),hbox ); - } - return hbox; -} - -GtkWidget * AddCheckButton( const char * title, GtkWidget * parent ) -{ - GtkWidget * CB; - CB=gtk_check_button_new_with_label( title ); - gtk_widget_set_name( CB,"CB" ); - gtk_widget_show( CB ); - gtk_box_pack_start( GTK_BOX( parent ),CB,FALSE,FALSE,0 ); - return CB; -} - -GtkWidget * AddRadioButton( const char * title,GSList ** group,GtkWidget * parent ) -{ - GtkWidget * RB; - RB=gtk_radio_button_new_with_label( *group,title ); - *group=gtk_radio_button_group( GTK_RADIO_BUTTON( RB ) ); - gtk_widget_set_name( RB,"RB" ); - gtk_widget_show( RB ); - gtk_box_pack_start( GTK_BOX( parent ),RB,FALSE,FALSE,0 ); - return RB; -} - -GtkWidget * AddSpinButton( const char * title,GtkAdjustment * adj,GtkWidget * parent ) -{ - GtkWidget * SB; - GtkWidget * label; - label=gtk_label_new( title ); - gtk_misc_set_alignment( GTK_MISC( label ),0,0.5 ); - gtk_box_pack_start( GTK_BOX( parent ),label,FALSE,FALSE,0 ); - gtk_widget_show( label ); - SB=gtk_spin_button_new( adj,0,0 ); - gtk_widget_set_name( SB,"SB" ); - gtk_box_pack_start( GTK_BOX( parent ),SB,FALSE,FALSE,0 ); - gtk_widget_show( SB ); - return SB; -} - -GtkWidget * AddButton( const char * title,GtkWidget * parent ) -{ - GtkWidget * B; - B=gtk_button_new_with_label( title ); - gtk_widget_set_name( B,"B" ); - gtk_widget_show( B ); - gtk_container_add( GTK_CONTAINER( parent ),B ); - return B; -} - -GtkWidget * AddHSeparator( GtkWidget * parent ) -{ - GtkWidget * hseparator; - hseparator=gtk_hseparator_new(); - gtk_widget_set_name( hseparator,"hseparator1" ); - gtk_widget_show( hseparator ); - gtk_box_pack_start( GTK_BOX( parent ),hseparator,FALSE,FALSE,0 ); - gtk_widget_set_usize( hseparator,-2,6 ); - return hseparator; -} - -GtkWidget * AddHButtonBox( GtkWidget * parent ) -{ - GtkWidget * hbuttonbox; - hbuttonbox=gtk_hbutton_box_new(); - gtk_widget_set_name( hbuttonbox,"hbuttonbox" ); - gtk_widget_show( hbuttonbox ); - gtk_box_pack_start( GTK_BOX( parent ),hbuttonbox,FALSE,FALSE,0 ); - gtk_button_box_set_child_size( GTK_BUTTON_BOX( hbuttonbox ),85,20 ); - return hbuttonbox; -} - -GtkWidget * AddHScaler( GtkAdjustment * adj,GtkWidget * parent,int digit ) -{ - GtkWidget * HS; - HS=gtk_hscale_new( adj ); - gtk_widget_set_name( HS,"HS" ); - gtk_widget_show( HS ); - if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),HS,TRUE,TRUE,0 ); - gtk_scale_set_value_pos( GTK_SCALE( HS ),GTK_POS_RIGHT ); - gtk_scale_set_digits( GTK_SCALE( HS ),digit ); - return HS; -} - -GtkWidget * AddVScaler( GtkAdjustment * adj,GtkWidget * parent,int digit ) -{ - GtkWidget * VS; - VS=gtk_vscale_new( adj ); - gtk_widget_set_name( VS,"VS" ); - gtk_widget_show( VS ); - if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),VS,TRUE,TRUE,0 ); -// gtk_scale_set_value_pos( GTK_SCALE( VS ),GTK_POS_RIGHT ); - if ( digit == -1 ) gtk_scale_set_draw_value( GTK_SCALE( VS ),FALSE ); - else gtk_scale_set_digits( GTK_SCALE( VS ),digit ); - return VS; -} - -GtkWidget * AddComboBox( GtkWidget * parent ) -{ - GtkWidget * CB; - CB=gtk_combo_new(); - gtk_widget_set_name( CB,"CB" ); - gtk_widget_show( CB ); - if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),CB,TRUE,TRUE,0 ); - return CB; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/gtk_common.h --- a/gui/mplayer/gtk/gtk_common.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_GTK_COMMON_H -#define MPLAYER_GUI_GTK_COMMON_H - -#include -#include - -GtkWidget * AddDialogFrame( GtkWidget * parent ); -GtkWidget * AddFrame( const char * title, int type, GtkWidget * parent, int add ); -GtkWidget * AddLabel( const char * title, GtkWidget * parent ); -GtkWidget * AddVBox( GtkWidget * parent, int type ); -GtkWidget * AddHBox( GtkWidget * parent, int type ); -GtkWidget * AddCheckButton( const char * title, GtkWidget * parent ); -GtkWidget * AddRadioButton( const char * title, GSList ** group, GtkWidget * parent ); -GtkWidget * AddSpinButton( const char * title, GtkAdjustment * adj, GtkWidget * parent ); -GtkWidget * AddButton( const char * title, GtkWidget * parent ); -GtkWidget * AddHSeparator( GtkWidget * parent ); -GtkWidget * AddHButtonBox( GtkWidget * parent ); -GtkWidget * AddHScaler( GtkAdjustment * adj, GtkWidget * parent, int digit ); -GtkWidget * AddVScaler( GtkAdjustment * adj, GtkWidget * parent, int digit ); -GtkWidget * AddComboBox( GtkWidget * parent ); -void WidgetDestroy( GtkWidget * widget, GtkWidget ** widget_pointer ); - -#endif /* MPLAYER_GUI_GTK_COMMON_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/gtk_menu.c --- a/gui/mplayer/gtk/gtk_menu.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,647 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include - -#include "config.h" -#include "help_mp.h" -#include "access_mpcontext.h" -#include "mixer.h" -#include "mpcommon.h" - -#include "gtk_menu.h" -#include "gui/mplayer/widgets.h" -#include "gui/mplayer/gmplayer.h" -#include "gui/app.h" - -#include "stream/stream.h" -#include "libmpdemux/demuxer.h" -#include "libmpdemux/stheader.h" -#include "libavutil/avstring.h" - -#include "gui/mplayer/pixmaps/ab.xpm" -#include "gui/mplayer/pixmaps/half.xpm" -#include "gui/mplayer/pixmaps/normal.xpm" -#include "gui/mplayer/pixmaps/double.xpm" -#include "gui/mplayer/pixmaps/fs.xpm" -#include "gui/mplayer/pixmaps/exit.xpm" -#include "gui/mplayer/pixmaps/prefs.xpm" -#include "gui/mplayer/pixmaps/eq.xpm" -#include "gui/mplayer/pixmaps/pl.xpm" -#include "gui/mplayer/pixmaps/skin.xpm" -#include "gui/mplayer/pixmaps/sound.xpm" -#include "gui/mplayer/pixmaps/open.xpm" -#include "gui/mplayer/pixmaps/play.xpm" -#include "gui/mplayer/pixmaps/stop2.xpm" -#include "gui/mplayer/pixmaps/pause.xpm" -#include "gui/mplayer/pixmaps/prev.xpm" -#include "gui/mplayer/pixmaps/next.xpm" -#include "gui/mplayer/pixmaps/aspect.xpm" -#include "gui/mplayer/pixmaps/a11.xpm" -#include "gui/mplayer/pixmaps/a169.xpm" -#include "gui/mplayer/pixmaps/a235.xpm" -#include "gui/mplayer/pixmaps/a43.xpm" -#include "gui/mplayer/pixmaps/file2.xpm" -#include "gui/mplayer/pixmaps/url.xpm" -#include "gui/mplayer/pixmaps/sub.xpm" -#include "gui/mplayer/pixmaps/delsub.xpm" -#include "gui/mplayer/pixmaps/empty.xpm" -#include "gui/mplayer/pixmaps/loadeaf.xpm" -#include "gui/mplayer/pixmaps/title.xpm" -#ifdef CONFIG_DVDREAD -#include "gui/mplayer/pixmaps/dvd.xpm" -#include "gui/mplayer/pixmaps/playdvd.xpm" -#include "gui/mplayer/pixmaps/chapter.xpm" -#include "gui/mplayer/pixmaps/dolby.xpm" -#include "gui/mplayer/pixmaps/tongue.xpm" -#include "gui/mplayer/pixmaps/tonguebla.xpm" -#include "gui/mplayer/pixmaps/empty1px.xpm" -#endif -#ifdef CONFIG_VCD -#include "gui/mplayer/pixmaps/vcd.xpm" -#include "gui/mplayer/pixmaps/playvcd.xpm" -#endif - -static void ActivateMenuItem( int Item ) -{ -// fprintf( stderr,"[menu] item: %d.%d\n",Item&0xffff,Item>>16 ); - gtkPopupMenu=Item & 0x0000ffff; - gtkPopupMenuParam=Item >> 16; - uiEventHandling( Item & 0x0000ffff,Item >> 16 ); -} - -static GtkWidget * AddMenuCheckItem(GtkWidget *window1, const char * immagine_xpm, GtkWidget* Menu,const char* label, gboolean state, int Number) -{ - GtkWidget * Label = NULL; - GtkWidget * Pixmap = NULL; - GtkWidget * hbox = NULL; - GtkWidget * Item = NULL; - - GdkPixmap *PixmapIcon = NULL; - GdkColor transparent; - GdkBitmap *MaskIcon = NULL; - - PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm ); - Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon); - gdk_pixmap_unref (PixmapIcon); - - Item=gtk_check_menu_item_new(); - Label = gtk_label_new (label); - - hbox = gtk_hbox_new (FALSE, 8); - gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0); - gtk_container_add (GTK_CONTAINER (Item), hbox); - - gtk_menu_append( GTK_MENU( Menu ),Item ); - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Item),state); - gtk_signal_connect_object( GTK_OBJECT(Item),"activate", - GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number ); - gtk_menu_item_right_justify (GTK_MENU_ITEM (Item)); - gtk_widget_show_all(Item); - - return Item; -} -GtkWidget * AddMenuItem( GtkWidget *window1, const char * immagine_xpm, GtkWidget * SubMenu,const char * label,int Number ) -{ - GtkWidget * Label = NULL; - GtkWidget * Pixmap = NULL; - GtkWidget * hbox = NULL; - GtkWidget * Item = NULL; - GdkPixmap * PixmapIcon = NULL; - GdkColor transparent; - GdkBitmap * MaskIcon = NULL; - - PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm ); - Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon); - gdk_pixmap_unref (PixmapIcon); - - Item=gtk_menu_item_new(); - Label = gtk_label_new (label); - - hbox = gtk_hbox_new (FALSE, 8); - gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0); - gtk_container_add (GTK_CONTAINER (Item), hbox); - - - gtk_menu_append( GTK_MENU( SubMenu ),Item ); - gtk_signal_connect_object( GTK_OBJECT(Item),"activate", - GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number ); - - gtk_menu_item_right_justify (GTK_MENU_ITEM (Item)); - gtk_widget_show_all(Item); - return Item; -} - - -GtkWidget * AddSubMenu( GtkWidget *window1, const char * immagine_xpm, GtkWidget * Menu,const char * label ) -{ - GtkWidget * Label = NULL; - GtkWidget * Pixmap = NULL; - GtkWidget * hbox = NULL; - GtkWidget * Item = NULL; - GtkWidget * SubItem = NULL; - GdkPixmap * PixmapIcon = NULL; - GdkColor transparent; - GdkBitmap * MaskIcon = NULL; - - PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm); - Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon); - gdk_pixmap_unref (PixmapIcon); - - SubItem=gtk_menu_item_new(); - Item=gtk_menu_new(); - Label = gtk_label_new (label); - - hbox = gtk_hbox_new (FALSE, 8); - gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0); - gtk_container_add (GTK_CONTAINER (SubItem), hbox); - - gtk_menu_append( GTK_MENU( Menu ),SubItem ); - gtk_menu_item_set_submenu( GTK_MENU_ITEM( SubItem ),Item ); - - gtk_widget_show_all( SubItem ); - return Item; -} - -GtkWidget * AddSeparator( GtkWidget * Menu ) -{ - GtkWidget * Item = NULL; - - Item=gtk_menu_item_new (); - gtk_widget_show( Item ); - gtk_container_add( GTK_CONTAINER( Menu ),Item ); - gtk_widget_set_sensitive( Item,FALSE ); - - return Item; -} - -typedef struct -{ - int id; - const char * name; -} Languages_t; - -#define lng( a,b ) ( (int)(a) * 256 + b ) -static Languages_t Languages[] = - { - { lng( 'a','b' ), "Abkhazian" }, - { lng( 'a','a' ), "Afar" }, - { lng( 'a','f' ), "Afrikaans" }, - { lng( 's','q' ), "Albanian" }, - { lng( 'a','m' ), "Amharic" }, - { lng( 'a','r' ), "Arabic" }, - { lng( 'h','y' ), "Armenian" }, - { lng( 'a','s' ), "Assamese" }, - { lng( 'a','e' ), "Avestan" }, - { lng( 'a','y' ), "Aymara" }, - { lng( 'a','z' ), "Azerbaijani" }, - { lng( 'b','a' ), "Bashkir" }, - { lng( 'e','u' ), "Basque" }, - { lng( 'b','e' ), "Belarusian" }, - { lng( 'b','n' ), "Bengali" }, - { lng( 'b','h' ), "Bihari" }, - { lng( 'b','i' ), "Bislama" }, - { lng( 'b','s' ), "Bosnian" }, - { lng( 'b','r' ), "Breton" }, - { lng( 'b','g' ), "Bulgarian" }, - { lng( 'm','y' ), "Burmese" }, - { lng( 'c','a' ), "Catalan" }, - { lng( 'c','h' ), "Chamorro" }, - { lng( 'c','e' ), "Chechen" }, - { lng( 'n','y' ), "Chichewa;Nyanja" }, - { lng( 'z','h' ), "Chinese" }, - { lng( 'c','u' ), "ChurchSlavic" }, - { lng( 'c','v' ), "Chuvash" }, - { lng( 'k','w' ), "Cornish" }, - { lng( 'c','o' ), "Corsican" }, - { lng( 'h','r' ), "Croatian" }, - { lng( 'c','s' ), "Czech" }, - { lng( 'd','a' ), "Danish" }, - { lng( 'n','l' ), "Dutch" }, - { lng( 'd','z' ), "Dzongkha" }, - { lng( 'e','n' ), "English" }, - { lng( 'e','o' ), "Esperanto" }, - { lng( 'e','t' ), "Estonian" }, - { lng( 'f','o' ), "Faroese" }, - { lng( 'f','j' ), "Fijian" }, - { lng( 'f','i' ), "Finnish" }, - { lng( 'f','r' ), "French" }, - { lng( 'f','y' ), "Frisian" }, - { lng( 'g','d' ), "Gaelic(Scots" }, - { lng( 'g','l' ), "Gallegan" }, - { lng( 'k','a' ), "Georgian" }, - { lng( 'd','e' ), "German" }, - { lng( 'e','l' ), "Greek" }, - { lng( 'g','n' ), "Guarani" }, - { lng( 'g','u' ), "Gujarati" }, - { lng( 'h','a' ), "Hausa" }, - { lng( 'h','e' ), "Hebrew" }, - { lng( 'i','w' ), "Hebrew" }, - { lng( 'h','z' ), "Herero" }, - { lng( 'h','i' ), "Hindi" }, - { lng( 'h','o' ), "HiriMotu" }, - { lng( 'h','u' ), "Hungarian" }, - { lng( 'i','s' ), "Icelandic" }, - { lng( 'i','d' ), "Indonesian" }, - { lng( 'i','n' ), "Indonesian" }, - { lng( 'i','a' ), "Interlingua" }, - { lng( 'i','e' ), "Interlingue" }, - { lng( 'i','u' ), "Inuktitut" }, - { lng( 'i','k' ), "Inupiaq" }, - { lng( 'g','a' ), "Irish" }, - { lng( 'i','t' ), "Italian" }, - { lng( 'j','a' ), "Japanese" }, - { lng( 'j','v' ), "Javanese" }, - { lng( 'j','w' ), "Javanese" }, - { lng( 'k','l' ), "Kalaallisut" }, - { lng( 'k','n' ), "Kannada" }, - { lng( 'k','s' ), "Kashmiri" }, - { lng( 'k','k' ), "Kazakh" }, - { lng( 'k','m' ), "Khmer" }, - { lng( 'k','i' ), "Kikuyu" }, - { lng( 'r','w' ), "Kinyarwanda" }, - { lng( 'k','y' ), "Kirghiz" }, - { lng( 'k','v' ), "Komi" }, - { lng( 'k','o' ), "Korean" }, - { lng( 'k','j' ), "Kuanyama" }, - { lng( 'k','u' ), "Kurdish" }, - { lng( 'l','o' ), "Lao" }, - { lng( 'l','a' ), "Latin" }, - { lng( 'l','v' ), "Latvian" }, - { lng( 'l','b' ), "Letzeburgesch" }, - { lng( 'l','n' ), "Lingala" }, - { lng( 'l','t' ), "Lithuanian" }, - { lng( 'm','k' ), "Macedonian" }, - { lng( 'm','g' ), "Malagasy" }, - { lng( 'm','s' ), "Malay" }, - { lng( 'm','l' ), "Malayalam" }, - { lng( 'm','t' ), "Maltese" }, - { lng( 'g','v' ), "Manx" }, - { lng( 'm','i' ), "Maori" }, - { lng( 'm','r' ), "Marathi" }, - { lng( 'm','h' ), "Marshall" }, - { lng( 'm','o' ), "Moldavian" }, - { lng( 'm','n' ), "Mongolian" }, - { lng( 'n','a' ), "Nauru" }, - { lng( 'n','v' ), "Navajo" }, - { lng( 'n','d' ), "North Ndebele" }, - { lng( 'n','r' ), "South Ndebele" }, - { lng( 'n','g' ), "Ndonga" }, - { lng( 'n','e' ), "Nepali" }, - { lng( 's','e' ), "NorthernSami" }, - { lng( 'n','o' ), "Norwegian" }, - { lng( 'n','b' ), "NorwegianBokmål" }, - { lng( 'n','n' ), "NorwegianNynorsk" }, - { lng( 'n','y' ), "Nyanja;Chichewa" }, - { lng( 'o','c' ), "Occitan(post1500;Provençal" }, - { lng( 'o','r' ), "Oriya" }, - { lng( 'o','m' ), "Oromo" }, - { lng( 'o','s' ), "Ossetian;Ossetic" }, - { lng( 'p','i' ), "Pali" }, - { lng( 'p','a' ), "Panjabi" }, - { lng( 'f','a' ), "Persian" }, - { lng( 'p','l' ), "Polish" }, - { lng( 'p','t' ), "Portuguese" }, - { lng( 'o','c' ), "Provençal;Occitan(post1500" }, - { lng( 'p','s' ), "Pushto" }, - { lng( 'q','u' ), "Quechua" }, - { lng( 'r','m' ), "Raeto-Romance" }, - { lng( 'r','o' ), "Romanian" }, - { lng( 'r','n' ), "Rundi" }, - { lng( 'r','u' ), "Russian" }, - { lng( 's','m' ), "Samoan" }, - { lng( 's','g' ), "Sango" }, - { lng( 's','a' ), "Sanskrit" }, - { lng( 's','c' ), "Sardinian" }, - { lng( 's','r' ), "Serbian" }, - { lng( 's','n' ), "Shona" }, - { lng( 's','d' ), "Sindhi" }, - { lng( 's','i' ), "Sinhalese" }, - { lng( 's','k' ), "Slovak" }, - { lng( 's','l' ), "Slovenian" }, - { lng( 's','o' ), "Somali" }, - { lng( 's','t' ), "Sotho" }, - { lng( 'e','s' ), "Spanish" }, - { lng( 's','u' ), "Sundanese" }, - { lng( 's','w' ), "Swahili" }, - { lng( 's','s' ), "Swati" }, - { lng( 's','v' ), "Swedish" }, - { lng( 't','l' ), "Tagalog" }, - { lng( 't','y' ), "Tahitian" }, - { lng( 't','g' ), "Tajik" }, - { lng( 't','a' ), "Tamil" }, - { lng( 't','t' ), "Tatar" }, - { lng( 't','e' ), "Telugu" }, - { lng( 't','h' ), "Thai" }, - { lng( 'b','o' ), "Tibetan" }, - { lng( 't','i' ), "Tigrinya" }, - { lng( 't','o' ), "Tonga" }, - { lng( 't','s' ), "Tsonga" }, - { lng( 't','n' ), "Tswana" }, - { lng( 't','r' ), "Turkish" }, - { lng( 't','k' ), "Turkmen" }, - { lng( 't','w' ), "Twi" }, - { lng( 'u','g' ), "Uighur" }, - { lng( 'u','k' ), "Ukrainian" }, - { lng( 'u','r' ), "Urdu" }, - { lng( 'u','z' ), "Uzbek" }, - { lng( 'v','i' ), "Vietnamese" }, - { lng( 'v','o' ), "Volapük" }, - { lng( 'c','y' ), "Welsh" }, - { lng( 'w','o' ), "Wolof" }, - { lng( 'x','h' ), "Xhosa" }, - { lng( 'y','i' ), "Yiddish" }, - { lng( 'j','i' ), "Yiddish" }, - { lng( 'y','o' ), "Yoruba" }, - { lng( 'z','a' ), "Zhuang" }, - { lng( 'z','u' ), "Zulu" }, - }; -#undef lng - -#ifdef CONFIG_DVDREAD -static char * ChannelTypes[] = - { "Dolby Digital","","Mpeg1","Mpeg2","PCM","","Digital Theatre System" }; -static char * ChannelNumbers[] = - { "","Stereo","","","","5.1" }; -#endif - -static const char * GetLanguage( int language ) -{ - unsigned int i; - for ( i=0;iaudio->id : audio_id; - for ( i=0;i < guiInfo.DVD.nr_of_audio_channels;i++ ) - { - snprintf( tmp,64,"%s - %s %s",GetLanguage( guiInfo.DVD.audio_streams[i].language ), - ChannelTypes[ guiInfo.DVD.audio_streams[i].type ], - ChannelNumbers[ guiInfo.DVD.audio_streams[i].channels ] ); -// if ( id == -1 ) id=audio_id; //guiInfo.DVD.audio_streams[i].id; - AddMenuCheckItem( window1, (const char*)dolby_xpm, DVDAudioLanguageMenu,tmp, - id == guiInfo.DVD.audio_streams[i].id, - ( guiInfo.DVD.audio_streams[i].id << 16 ) + evSetDVDAudio ); - } - } - else - { - MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDAudioLanguageMenu,MSGTR_MENU_None,evNone ); - gtk_widget_set_sensitive( MenuItem,FALSE ); - } - DVDSubtitleLanguageMenu=AddSubMenu( window1, (const char*)tonguebla_xpm, DVDSubMenu,MSGTR_MENU_SubtitleLanguages ); - if ( guiInfo.DVD.nr_of_subtitles ) - { - char tmp[64]; int i; - AddMenuItem( window1, (const char*)empty1px_xpm, DVDSubtitleLanguageMenu,MSGTR_MENU_None,( (unsigned short)-1 << 16 ) + evSetDVDSubtitle ); - for ( i=0;i < guiInfo.DVD.nr_of_subtitles;i++ ) - { - av_strlcpy( tmp,GetLanguage( guiInfo.DVD.subtitles[i].language ),sizeof(tmp) ); - AddMenuCheckItem( window1, (const char*)empty1px_xpm, DVDSubtitleLanguageMenu,tmp, - dvdsub_id == guiInfo.DVD.subtitles[i].id, - ( guiInfo.DVD.subtitles[i].id << 16 ) + evSetDVDSubtitle ); - } - } - else - { - MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDSubtitleLanguageMenu,MSGTR_MENU_None,evNone ); - gtk_widget_set_sensitive( MenuItem,FALSE ); - } -#endif - -// if ( guiInfo.Playing ) - { - AspectMenu=AddSubMenu( window1, (const char*)aspect_xpm, Menu,MSGTR_MENU_AspectRatio ); - AddMenuItem( window1, (const char*)a11_xpm, AspectMenu,MSGTR_MENU_Original,( 1 << 16 ) + evSetAspect ); - AddMenuItem( window1, (const char*)a169_xpm, AspectMenu,"16:9",( 2 << 16 ) + evSetAspect ); - AddMenuItem( window1, (const char*)a43_xpm, AspectMenu,"4:3",( 3 << 16 ) + evSetAspect ); - AddMenuItem( window1, (const char*)a235_xpm, AspectMenu,"2.35",( 4 << 16 ) + evSetAspect ); - } - - if ( guiInfo.Playing && guiInfo.demuxer && guiInfo.StreamType != STREAMTYPE_DVD ) - { - int i,c = 0; - - for ( i=0;i < MAX_A_STREAMS;i++ ) - if ( ((demuxer_t *)guiInfo.demuxer)->a_streams[i] ) c++; - - if ( c > 1 ) - { - SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_AudioTrack ); - for ( i=0;i < MAX_A_STREAMS;i++ ) - if ( ((demuxer_t *)guiInfo.demuxer)->a_streams[i] ) - { - int aid = ((sh_audio_t *)((demuxer_t *)guiInfo.demuxer)->a_streams[i])->aid; - char tmp[32]; - snprintf( tmp,32,MSGTR_MENU_Track,aid ); - AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( aid << 16 ) + evSetAudio ); - } - } - - for ( c=0,i=0;i < MAX_V_STREAMS;i++ ) - if ( ((demuxer_t *)guiInfo.demuxer)->v_streams[i] ) c++; - - if ( c > 1 ) - { - SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_VideoTrack ); - for ( i=0;i < MAX_V_STREAMS;i++ ) - if ( ((demuxer_t *)guiInfo.demuxer)->v_streams[i] ) - { - int vid = ((sh_video_t *)((demuxer_t *)guiInfo.demuxer)->v_streams[i])->vid; - char tmp[32]; - snprintf( tmp,32,MSGTR_MENU_Track,vid ); - AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( vid << 16 ) + evSetVideo ); - } - } - } - - /* cheap subtitle switching for non-DVD streams */ - if ( global_sub_size && guiInfo.StreamType != STREAMTYPE_DVD ) - { - int i; - SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu, MSGTR_MENU_Subtitles ); - AddMenuItem( window1, (const char*)empty_xpm, SubMenu, MSGTR_MENU_None, (-1 << 16) + evSetSubtitle ); - for ( i=0;i < global_sub_size;i++ ) - { - char tmp[32]; - snprintf( tmp, 32, MSGTR_MENU_Track, i ); - AddMenuItem( window1,(const char*)empty_xpm,SubMenu,tmp,( i << 16 ) + evSetSubtitle ); - } - } - - AddSeparator( Menu ); - MenuItem=AddMenuCheckItem( window1, (const char*)sound_xpm, Menu,MSGTR_MENU_Mute,mixer->muted,evMute ); - if ( !guiInfo.AudioType ) gtk_widget_set_sensitive( MenuItem,FALSE ); - AddMenuItem( window1, (const char*)pl_xpm, Menu,MSGTR_MENU_PlayList, evPlayList ); - AddMenuItem( window1, (const char*)skin_xpm, Menu,MSGTR_MENU_SkinBrowser, evSkinBrowser ); - AddMenuItem( window1, (const char*)prefs_xpm, Menu,MSGTR_MENU_Preferences, evPreferences ); - AddMenuItem( window1, (const char*)eq_xpm, Menu,MSGTR_Equalizer, evEqualizer ); - - if ( guiInfo.NoWindow == False ) - { - int b1 = 0, b2 = 0, b_half = 0; - AddSeparator( Menu ); - if ( !guiApp.subWindow.isFullScreen && guiInfo.Playing ) - { - if ( ( guiApp.subWindow.Width == guiInfo.MovieWidth * 2 )&& - ( guiApp.subWindow.Height == guiInfo.MovieHeight * 2 ) ) b2=1; - else if ( ( guiApp.subWindow.Width == guiInfo.MovieWidth / 2 ) && - ( guiApp.subWindow.Height == guiInfo.MovieHeight / 2 ) ) b_half=1; - else b1=1; - } else b1=!guiApp.subWindow.isFullScreen; - H=AddMenuCheckItem( window1, (const char*)half_xpm, Menu,MSGTR_MENU_HalfSize,b_half,evHalfSize ); - N=AddMenuCheckItem( window1, (const char*)normal_xpm, Menu,MSGTR_MENU_NormalSize" ",b1,evNormalSize ); - D=AddMenuCheckItem( window1, (const char*)double_xpm, Menu,MSGTR_MENU_DoubleSize,b2,evDoubleSize ); - F=AddMenuCheckItem( window1, (const char*)fs_xpm, Menu,MSGTR_MENU_FullScreen,guiApp.subWindow.isFullScreen,evFullScreen ); - if ( !gtkShowVideoWindow && !guiInfo.Playing ) - { - gtk_widget_set_sensitive( H,FALSE ); - gtk_widget_set_sensitive( N,FALSE ); - gtk_widget_set_sensitive( D,FALSE ); - gtk_widget_set_sensitive( F,FALSE ); - } - } - - AddSeparator( Menu ); - AddMenuItem( window1, (const char*)exit_xpm, Menu,MSGTR_MENU_Exit, evExit ); - - return Menu; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/gtk_menu.h --- a/gui/mplayer/gtk/gtk_menu.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_MENU_H -#define MPLAYER_GUI_MENU_H - -#include - -extern GtkWidget * DVDSubMenu; - -GtkWidget * AddMenuItem( GtkWidget *window1, const char * immagine_xpm, GtkWidget * SubMenu, const char * label, int Number ); -GtkWidget * AddSubMenu( GtkWidget *window1, const char * immagine_xpm, GtkWidget * Menu, const char * label ); -GtkWidget * AddSeparator( GtkWidget * Menu ); -GtkWidget * create_PopUpMenu( void ); - -#endif /* MPLAYER_GUI_MENU_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/gtk_url.c --- a/gui/mplayer/gtk/gtk_url.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "gtk_url.h" -#include "gtk_common.h" -#include "gui/interface.h" -#include "gui/app.h" -#include "gui/mplayer/gmplayer.h" -#include "gui/mplayer/widgets.h" -#include "help_mp.h" - -GtkWidget * URL = NULL; - -static GtkWidget * URLCombo; -static GtkWidget * URLEntry; -static GList * URLComboEntrys = NULL; - -void ShowURLDialogBox( void ) -{ - if ( URL ) gtkActive( URL ); - else URL=create_URL(); - - if ( URLList ) - { - urlItem * item = URLList; - g_list_free( URLComboEntrys ); - URLComboEntrys=NULL; - while( item ) - { - URLComboEntrys=g_list_append( URLComboEntrys,(gchar *)item->url ); - item=item->next; - } - } - - if ( URLComboEntrys ) - { - gtk_entry_set_text( GTK_ENTRY( URLEntry ),URLComboEntrys->data ); - gtk_combo_set_popdown_strings( GTK_COMBO( URLCombo ),URLComboEntrys ); - } - - gtk_widget_show( URL ); -} - -static void HideURLDialogBox( void ) -{ - if ( !URL ) return; - gtk_widget_hide( URL ); - gtk_widget_destroy( URL ); - URL=0; -} - -static void on_Button_pressed( GtkButton * button,gpointer user_data ) -{ - urlItem * item; - - if ( (int)user_data ) - { - gchar * str= strdup( gtk_entry_get_text( GTK_ENTRY( URLEntry ) ) ); - - if ( str ) - { - if ( strncmp( str,"http://",7 ) - && strncmp( str,"ftp://",6 ) - && strncmp( str,"mms://",6 ) - && strncmp( str,"pnm://",6 ) - && strncmp( str,"rtsp://",7 ) ) - { - gchar * tmp; - tmp=malloc( strlen( str ) + 8 ); - sprintf( tmp,"http://%s",str ); - free( str ); str=tmp; - } - URLComboEntrys=g_list_prepend( URLComboEntrys,(gchar *)str ); - - item=calloc( 1,sizeof( urlItem ) ); - item->url=gstrdup( str ); - gtkSet( gtkAddURLItem,0,(void *)item ); - - guiSetFilename( guiInfo.Filename,str ); guiInfo.FilenameChanged=1; - uiEventHandling( evPlayNetwork,0 ); - } - } - HideURLDialogBox(); -} - -GtkWidget * create_URL( void ) -{ - GtkWidget * vbox1; - GtkWidget * hbox1; - GtkWidget * hbuttonbox1; - GtkWidget * Ok; - GtkWidget * Cancel; - GtkAccelGroup * accel_group; - - accel_group=gtk_accel_group_new(); - - URL=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( URL,"URL" ); - gtk_object_set_data( GTK_OBJECT( URL ),"URL",URL ); - gtk_widget_set_usize( URL,384,70 ); - GTK_WIDGET_SET_FLAGS( URL,GTK_CAN_DEFAULT ); - gtk_window_set_title( GTK_WINDOW( URL ),MSGTR_Network ); - gtk_window_set_position( GTK_WINDOW( URL ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( URL ),TRUE,TRUE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( URL ),"Network","MPlayer" ); - - gtk_widget_realize( URL ); - gtkAddIcon( URL ); - - vbox1=AddVBox( AddDialogFrame( URL ),0 ); - hbox1=AddHBox( vbox1,1 ); - AddLabel( "URL: ",hbox1 ); - - URLCombo=AddComboBox( hbox1 ); -/* - gtk_combo_new(); - gtk_widget_set_name( URLCombo,"URLCombo" ); - gtk_widget_show( URLCombo ); - gtk_box_pack_start( GTK_BOX( hbox1 ),URLCombo,TRUE,TRUE,0 ); -*/ - URLEntry=GTK_COMBO( URLCombo )->entry; - gtk_widget_set_name( URLEntry,"URLEntry" ); - gtk_widget_show( URLEntry ); - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - - Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); - Cancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( URL ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&URL ); - gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( on_Button_pressed ),(void *)1 ); - gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( on_Button_pressed ),NULL ); - - gtk_widget_grab_focus( URLEntry ); - gtk_window_add_accel_group( GTK_WINDOW( URL ),accel_group ); - - return URL; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/gtk_url.h --- a/gui/mplayer/gtk/gtk_url.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_GTK_URL_H -#define MPLAYER_GUI_GTK_URL_H - -#include - -extern GtkWidget * URL; -extern int gtkVURLDialogBox; - -void ShowURLDialogBox( void ); -GtkWidget * create_URL( void ); - -#endif /* MPLAYER_GUI_GTK_URL_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/mb.c --- a/gui/mplayer/gtk/mb.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "config.h" -#include "gui/app.h" -#include "help_mp.h" - -#include "gui/mplayer/pixmaps/error.xpm" -#include "gui/mplayer/pixmaps/warning.xpm" - -#include "gui/mplayer/widgets.h" -#include "mb.h" -#include "gtk_common.h" - -GtkWidget * gtkMessageBoxText; -GtkWidget * MessageBox = NULL; - -void ShowMessageBox( const char * msg ) -{ - if ( MessageBox ) { gtk_widget_hide( MessageBox ); gtk_widget_destroy( MessageBox ); } - MessageBox=create_MessageBox( 0 ); - if ( strlen( msg ) < 20 ) gtk_widget_set_usize( MessageBox,196,-1 ); -} - -static void on_Ok_released( GtkButton * button,gpointer user_data ) -{ - gtk_widget_hide( MessageBox ); - gtk_widget_destroy( MessageBox ); - MessageBox=NULL; -} - -GtkWidget * create_MessageBox( int type ) -{ - GtkWidget * vbox1; - GtkWidget * hbox1; - GtkWidget * hbuttonbox1; - GtkWidget * Ok; - GtkAccelGroup * accel_group; - GtkStyle * pixmapstyle; - GdkPixmap * pixmapwid; - GdkBitmap * mask; - - accel_group=gtk_accel_group_new(); - - MessageBox=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( MessageBox,"MessageBox" ); - gtk_object_set_data( GTK_OBJECT( MessageBox ),"MessageBox",MessageBox ); - gtk_widget_set_events( MessageBox,GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); - gtk_window_set_title( GTK_WINDOW( MessageBox ),"MPlayer ..." ); - gtk_window_set_position( GTK_WINDOW( MessageBox ),GTK_WIN_POS_CENTER ); - gtk_window_set_modal( GTK_WINDOW( MessageBox ),TRUE ); - gtk_window_set_policy( GTK_WINDOW( MessageBox ),TRUE,TRUE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( MessageBox ),"Message","MPlayer" ); - - gtk_widget_realize( MessageBox ); - gtkAddIcon( MessageBox ); - - vbox1=AddVBox( AddDialogFrame( MessageBox ),0 ); - hbox1=AddHBox( vbox1,1 ); - - pixmapstyle=gtk_widget_get_style( MessageBox ); - - pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )warning_xpm ); - WarningPixmap=gtk_pixmap_new( pixmapwid,mask ); - pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )error_xpm ); - ErrorPixmap=gtk_pixmap_new( pixmapwid,mask ); - - gtk_widget_set_name( WarningPixmap,"pixmap1" ); - gtk_widget_hide( WarningPixmap ); - gtk_box_pack_start( GTK_BOX( hbox1 ),WarningPixmap,FALSE,FALSE,0 ); - gtk_widget_set_usize( WarningPixmap,55,-2 ); - - gtk_widget_set_name( ErrorPixmap,"pixmap1" ); - gtk_widget_hide( ErrorPixmap ); - gtk_box_pack_start( GTK_BOX( hbox1 ),ErrorPixmap,FALSE,FALSE,0 ); - gtk_widget_set_usize( ErrorPixmap,55,-2 ); - - gtkMessageBoxText=gtk_label_new( "Text jol. Ha ezt megerted,akkor neked nagyon jo a magyar tudasod,te." ); - gtk_widget_set_name( gtkMessageBoxText,"gtkMessageBoxText" ); - gtk_widget_show( gtkMessageBoxText ); - gtk_box_pack_start( GTK_BOX( hbox1 ),gtkMessageBoxText,TRUE,TRUE,0 ); -// gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL ); - gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_CENTER ); - gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),FALSE ); - - AddHSeparator( vbox1 ); - hbuttonbox1=AddHButtonBox( vbox1 ); - Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); - - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&MessageBox ); - gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( on_Ok_released ),NULL ); - - gtk_window_add_accel_group( GTK_WINDOW( MessageBox ),accel_group ); - - return MessageBox; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/mb.h --- a/gui/mplayer/gtk/mb.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_MB_H -#define MPLAYER_GUI_MB_H - -#include - -extern GtkWidget * MessageBox; - -GtkWidget * create_MessageBox( int type ); -void ShowMessageBox( const char * msg ); - -#endif /* MPLAYER_GUI_MB_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/opts.c --- a/gui/mplayer/gtk/opts.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1842 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include - -#include -#include - -#include "config.h" -#include "help_mp.h" -#include "mixer.h" -#include "mpcommon.h" -#include "libao2/audio_out.h" -#include "sub/sub.h" -#include "libvo/video_out.h" -#include "libvo/x11_common.h" -#include "stream/stream.h" -#include "libmpdemux/demuxer.h" -#include "libmpdemux/stheader.h" -#include "libmpcodecs/dec_video.h" -#include "sub/font_load.h" - -#include "gui/app.h" -#include "gui/cfg.h" -#include "gui/interface.h" -#include "gui/mplayer/gmplayer.h" -#include "gui/mplayer/widgets.h" -#include "opts.h" -#include "fs.h" -#include "gtk_common.h" - -// for mpcodecs_[av]d_drivers: -#include "libmpcodecs/vd.h" -#include "libmpcodecs/ad.h" - - GtkWidget * Preferences = NULL; -static GtkWidget * AConfig; -static GtkWidget * VConfig; -//static GtkWidget * BLoadSubtitle; -static GtkWidget * BLoadFont; -static GtkWidget * BOk; -static GtkWidget * BCancel; - -static GtkWidget * CLADrivers; -static GtkWidget * CLVDrivers; - -//static GtkWidget * ESubtitleName; - GtkWidget * prEFontName; - GtkWidget * prEDVDDevice; - GtkWidget * prECDRomDevice; -static GtkWidget * EVFM; -static GtkWidget * EAFM; - -static GtkWidget * CBVFM; -static GtkWidget * CBAFM; -static GtkWidget * CBAudioEqualizer; -//static GtkWidget * CBSurround; -static GtkWidget * CBExtraStereo; -static GtkWidget * CBNormalize; -static GtkWidget * CBSoftwareMixer; -static GtkWidget * CBDoubleBuffer; -static GtkWidget * CBDR; -static GtkWidget * CBFramedrop; -static GtkWidget * CBHFramedrop; -//static GtkWidget * CBFullScreen; -static GtkWidget * CBShowVideoWindow; -static GtkWidget * CBNonInterlaved; -static GtkWidget * CBIndex; -static GtkWidget * CBFlip; -static GtkWidget * CBNoAutoSub; -static GtkWidget * CBSubUnicode; -static GtkWidget * CBSubOverlap; -static GtkWidget * CBDumpMPSub; -static GtkWidget * CBDumpSrt; -static GtkWidget * CBUseASS; -static GtkWidget * CBASSUseMargins; -static GtkWidget * SBASSTopMargin; -static GtkWidget * SBASSBottomMargin; -static GtkWidget * CBPostprocess; -static GtkWidget * CBCache; -static GtkWidget * CBLoadFullscreen; -static GtkWidget * CBSaveWinPos; -static GtkWidget * CBStopXScreenSaver; -static GtkWidget * CBPlayBar; -static GtkWidget * CBNoIdle; - -static GtkWidget * SBCache; -static GtkAdjustment * SBCacheadj; - -static GtkWidget * CBAutoSync; -static GtkWidget * SBAutoSync; -static GtkAdjustment * SBAutoSyncadj; - -static GtkWidget * RBOSDNone; -static GtkWidget * RBOSDTandP; -static GtkWidget * RBOSDIndicator; -static GtkWidget * RBOSDTPTT; - -static GtkWidget * HSAudioDelay; -static GtkWidget * HSExtraStereoMul; -static GtkWidget * HSPanscan; -static GtkWidget * HSSubDelay; -static GtkWidget * HSSubPosition; -static GtkWidget * HSSubFPS; -static GtkWidget * HSPPQuality; -static GtkWidget * HSFPS; - -static GtkAdjustment * HSExtraStereoMuladj, * HSAudioDelayadj, * HSPanscanadj, * HSSubDelayadj; -static GtkAdjustment * HSSubPositionadj, * HSSubFPSadj, * HSPPQualityadj, * HSFPSadj; - -#ifndef CONFIG_FREETYPE -static GtkWidget * HSFontFactor; -static GtkAdjustment * HSFontFactoradj; -#else -static GtkWidget * HSFontBlur, * HSFontOutLine, * HSFontTextScale, * HSFontOSDScale; -static GtkAdjustment * HSFontBluradj, * HSFontOutLineadj, * HSFontTextScaleadj, * HSFontOSDScaleadj; -static GtkWidget * CBFontEncoding, * EFontEncoding; -static GtkWidget * RBFontNoAutoScale, * RBFontAutoScaleWidth, * RBFontAutoScaleHeight, * RBFontAutoScaleDiagonal; -//static GtkWidget * AutoScale; -#endif - -#ifdef CONFIG_ICONV -static GtkWidget * CBSubEncoding, * ESubEncoding; -#endif - -#if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) -static struct -{ - char * name; - char * comment; -} lEncoding[] = - { - { "unicode", MSGTR_PREFERENCES_FontEncoding1 }, - { "iso-8859-1", MSGTR_PREFERENCES_FontEncoding2 }, - { "iso-8859-15", MSGTR_PREFERENCES_FontEncoding3 }, - { "iso-8859-2", MSGTR_PREFERENCES_FontEncoding4 }, - { "cp1250", MSGTR_PREFERENCES_FontEncoding22}, - { "iso-8859-3", MSGTR_PREFERENCES_FontEncoding5 }, - { "iso-8859-4", MSGTR_PREFERENCES_FontEncoding6 }, - { "iso-8859-5", MSGTR_PREFERENCES_FontEncoding7 }, - { "cp1251", MSGTR_PREFERENCES_FontEncoding21}, - { "iso-8859-6", MSGTR_PREFERENCES_FontEncoding8 }, - { "cp1256", MSGTR_PREFERENCES_FontEncoding23 }, - { "iso-8859-7", MSGTR_PREFERENCES_FontEncoding9 }, - { "iso-8859-9", MSGTR_PREFERENCES_FontEncoding10 }, - { "iso-8859-13", MSGTR_PREFERENCES_FontEncoding11 }, - { "iso-8859-14", MSGTR_PREFERENCES_FontEncoding12 }, - { "iso-8859-8", MSGTR_PREFERENCES_FontEncoding13 }, - { "koi8-r", MSGTR_PREFERENCES_FontEncoding14 }, - { "koi8-u/ru", MSGTR_PREFERENCES_FontEncoding15 }, - { "cp936", MSGTR_PREFERENCES_FontEncoding16 }, - { "big5", MSGTR_PREFERENCES_FontEncoding17 }, - { "shift-jis", MSGTR_PREFERENCES_FontEncoding18 }, - { "cp949", MSGTR_PREFERENCES_FontEncoding19 }, - { "cp874", MSGTR_PREFERENCES_FontEncoding20 }, - { NULL,NULL } - }; -char * lCEncoding = NULL; -char * lSEncoding = NULL; -#endif - -static int old_audio_driver = 0; -static char * ao_driver[3]; -static char * vo_driver[3]; -static int old_video_driver = 0; - -#ifdef CONFIG_DXR3 - void ShowDXR3Config( void ); - void HideDXR3Config( void ); -#endif - void ShowAudioConfig( void ); - void HideAudioConfig( void ); - -static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ); -static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ); -static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ); -#if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) -static void prEntry( GtkContainer * container,gpointer user_data ); -#endif - -void ShowPreferences( void ) -{ - if ( Preferences ) gtkActive( Preferences ); - else Preferences=create_Preferences(); - -// -- 1. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ),gtkEnableAudioEqualizer ); -#if 0 - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSurround ),gtkAOSurround ); -#endif - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBExtraStereo ),gtkAOExtraStereo ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNormalize ),gtkAONorm ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ),soft_vol ); - gtk_adjustment_set_value( HSExtraStereoMuladj,gtkAOExtraStereoMul ); - { - int i = 0; - char * tmp[3]; tmp[2]=""; - old_audio_driver=-1; - if ( CLADrivers ) gtk_clist_clear( GTK_CLIST( CLADrivers ) ); - while ( audio_out_drivers[i] ) - { - const ao_info_t *info = audio_out_drivers[i++]->info; - if ( !strcmp( info->short_name,"plugin" ) ) continue; - if ( audio_driver_list ) - { - char * name = gstrdup( audio_driver_list[0] ); - char * sep = gstrchr( audio_driver_list[0],':' ); - if ( sep ) *sep=0; - if ( !gstrcmp( name,(char *)info->short_name ) ) old_audio_driver=i - 1; - free( name ); - } - tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); - } - if ( old_audio_driver > -1 ) - { - gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 ); - gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver ); - gtk_widget_set_sensitive( AConfig,FALSE ); - if ( !strncmp( ao_driver[0],"oss",3 ) || - !strncmp( ao_driver[0],"alsa",4 ) || - !strncmp( ao_driver[0],"esd",3 ) || - !strncmp( ao_driver[0],"sdl",3 ) ) - gtk_widget_set_sensitive( AConfig,TRUE ); - } - } - -// -- 2. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),vo_doublebuffering ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),vo_directrendering ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),FALSE ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),FALSE ); - switch ( frame_dropping ) - { - case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),TRUE ); - case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),TRUE ); - } - - if (flip != -1) - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFlip ),flip ); - gtk_adjustment_set_value( HSPanscanadj,vo_panscan ); - - { - int i = 0, c = 0; - char * tmp[3]; tmp[2]=""; - old_video_driver=0; - if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) ); - while ( video_out_drivers[i] ) - if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) - { - if ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) ) old_video_driver=c; c++; - tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name; - gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp ); - } - gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 ); - gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver ); - gtk_widget_set_sensitive( VConfig,FALSE ); -#ifdef CONFIG_DXR3 - if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); -#endif - } - - gtk_adjustment_set_value( HSFPSadj,force_fps ); - -// -- 3. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubOverlap ),suboverlap_enabled ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!sub_auto ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpSrt ),gtkSubDumpSrt ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubUnicode ),sub_unicode ); -#ifdef CONFIG_ASS - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBUseASS ),gtkASS.enabled ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ),gtkASS.use_margins ); - gtk_spin_button_set_value( (GtkSpinButton *)SBASSTopMargin,(gdouble)gtkASS.top_margin ); - gtk_spin_button_set_value( (GtkSpinButton *)SBASSBottomMargin,(gdouble)gtkASS.bottom_margin ); - - if ( !gtkASS.enabled ) - { - gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); - gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); - gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); - } -#endif - - gtk_adjustment_set_value( HSSubDelayadj,sub_delay ); - gtk_adjustment_set_value( HSSubFPSadj,sub_fps ); - gtk_adjustment_set_value( HSSubPositionadj,sub_pos ); - switch ( osd_level ) - { - case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDNone ),TRUE ); break; - case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ),TRUE ); break; - case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTandP ),TRUE ); break; - case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ),TRUE ); break; - } -#if 0 - if ( guiInfo.Subtitlename ) gtk_entry_set_text( GTK_ENTRY( ESubtitleName ),guiInfo.Subtitlename ); -#endif - -#ifdef CONFIG_ICONV - if ( sub_cp ) - { - int i; - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( sub_cp,lEncoding[i].name ) ) break; - if ( lEncoding[i].name ) lSEncoding=lEncoding[i].comment; - gtk_entry_set_text( GTK_ENTRY( ESubEncoding ),lSEncoding ); - } -#endif - -// --- 4. page - // font ... - if ( font_name ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); -#ifndef CONFIG_FREETYPE - gtk_adjustment_set_value( HSFontFactoradj,font_factor ); -#else - gtk_adjustment_set_value( HSFontBluradj,( subtitle_font_radius / 8.0f ) * 100.0f ); - gtk_adjustment_set_value( HSFontOutLineadj,( subtitle_font_thickness / 8.0f ) * 100.0f ); - gtk_adjustment_set_value( HSFontTextScaleadj,text_font_scale_factor ); - gtk_adjustment_set_value( HSFontOSDScaleadj,osd_font_scale_factor ); - if ( subtitle_font_encoding ) - { - int i; - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( subtitle_font_encoding,lEncoding[i].name ) ) break; - if ( lEncoding[i].name ) lCEncoding=lEncoding[i].comment; - gtk_entry_set_text( GTK_ENTRY( EFontEncoding ),lCEncoding ); - } - switch ( subtitle_autoscale ) - { - case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ),TRUE ); break; - case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ),TRUE ); break; - case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ),TRUE ); break; - case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ),TRUE ); break; - } -#endif - -// -- 5. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),force_ni ); - if ( index_mode == 1 ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),1 ); - { - int i; - GList * Items = NULL; - char * name = NULL; - - Items=g_list_append( Items,MSGTR_PREFERENCES_None ); - for( i=0;mpcodecs_vd_drivers[i];i++ ) - { - Items=g_list_append( Items,(char *)mpcodecs_vd_drivers[i]->info->name ); - if ( video_fm_list && !gstrcmp( video_fm_list[0],(char *)mpcodecs_vd_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_vd_drivers[i]->info->name; - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBVFM ),Items ); - g_list_free( Items ); - if ( name ) gtk_entry_set_text( GTK_ENTRY( EVFM ),name ); - } - - { - int i; - GList * Items = NULL; - char * name = NULL; - - Items=g_list_append( Items,MSGTR_PREFERENCES_None ); - for( i=0;mpcodecs_ad_drivers[i];i++ ) - { - Items=g_list_append( Items,(char *)mpcodecs_ad_drivers[i]->info->name ); - if ( audio_fm_list && !gstrcmp( audio_fm_list[0],(char *)mpcodecs_ad_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_ad_drivers[i]->info->name; - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBAFM ),Items ); - g_list_free( Items ); - if ( name ) gtk_entry_set_text( GTK_ENTRY( EAFM ),name ); - } - -// --- 6. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVfPP ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),gtkLoadFullscreen ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ),gui_save_pos ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ),gtkShowVideoWindow ); - if ( !gtkShowVideoWindow ) - { - gtk_widget_set_sensitive( CBLoadFullscreen,FALSE ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),0 ); - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ),stop_xscreensaver ); - gtk_adjustment_set_value( HSPPQualityadj,auto_quality ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),gtkEnablePlayBar ); - if ( !guiApp.playbarIsPresent ) - { - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),0 ); - gtk_widget_set_sensitive( CBPlayBar,FALSE ); - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoIdle ),!player_idle_mode ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),0 ); - gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize ); - if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE ); - else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),TRUE ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),0 ); - gtk_adjustment_set_value( SBAutoSyncadj,(float)gtkAutoSync ); - if ( !gtkAutoSyncOn ) gtk_widget_set_sensitive( SBAutoSync,FALSE ); - else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),TRUE ); - - if ( dvd_device ) gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),dvd_device ); - else gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),DEFAULT_DVD_DEVICE ); - if ( cdrom_device ) gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),cdrom_device ); - else gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),DEFAULT_CDROM_DEVICE ); - -// -- disables -#ifndef CONFIG_ASS - gtk_widget_set_sensitive( CBUseASS,FALSE ); - gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); - gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); - gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); -#endif - -// -- signals - gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)2 ); - gtk_signal_connect( GTK_OBJECT( CBShowVideoWindow ),"toggled",GTK_SIGNAL_FUNC( prToggled ), (void*)3 ); -#ifdef CONFIG_FREETYPE - gtk_signal_connect( GTK_OBJECT( RBFontNoAutoScale ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)4 ); - gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleHeight ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)5 ); - gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleWidth ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)6 ); - gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleDiagonal ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)7 ); -#endif - gtk_signal_connect( GTK_OBJECT( CBCache ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)8); - gtk_signal_connect( GTK_OBJECT( CBAutoSync ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)9); -#ifdef CONFIG_ASS - gtk_signal_connect( GTK_OBJECT( CBUseASS ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)10); -#endif - - gtk_signal_connect( GTK_OBJECT( HSExtraStereoMul ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)2 ); - gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)3 ); - gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)4 ); -#ifndef CONFIG_FREETYPE - gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)5 ); -#else - gtk_signal_connect( GTK_OBJECT( HSFontBlur ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)6 ); - gtk_signal_connect( GTK_OBJECT( HSFontOutLine ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)7 ); - gtk_signal_connect( GTK_OBJECT( HSFontTextScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)8 ); - gtk_signal_connect( GTK_OBJECT( HSFontOSDScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)9 ); - gtk_signal_connect( GTK_OBJECT( EFontEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)0 ); -#endif -#ifdef CONFIG_ICONV - gtk_signal_connect( GTK_OBJECT( ESubEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)1 ); -#endif - gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 ); - - gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 ); - - gtk_widget_show( Preferences ); - gtkSetLayer( Preferences ); - { - static int visible = 1; - if ( visible ) - { - gtkMessageBox( GTK_MB_WARNING,MSGTR_PREFERENCES_Message ); - visible=0; - } - } -} - -static void HidePreferences( void ) -{ - if ( !Preferences ) return; - gtk_widget_hide( Preferences ); - gtk_widget_destroy( Preferences ); - Preferences=NULL; - HideAudioConfig(); -#ifdef CONFIG_DXR3 - HideDXR3Config(); -#endif -} - -#if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) -static void prEntry( GtkContainer * container,gpointer user_data ) -{ - const char * comment; - int i; - - switch( (int)user_data ) - { -#ifdef CONFIG_FREETYPE - case 0: // font encoding - comment=gtk_entry_get_text( GTK_ENTRY( EFontEncoding ) ); - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; - if ( lEncoding[i].comment ) gtkSet( gtkSetFontEncoding,0,lEncoding[i].name ); - break; -#endif -#ifdef CONFIG_ICONV - case 1: // sub encoding - comment=gtk_entry_get_text( GTK_ENTRY( ESubEncoding ) ); - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; - if ( lEncoding[i].comment ) gtkSet( gtkSetSubEncoding,0,lEncoding[i].name ); - else gtkSet( gtkSetSubEncoding,0,NULL ); - break; -#endif - } -} -#endif - -#define bAConfig 0 -#define bVconfig 1 -#define bOk 2 -#define bCancel 3 -#define bLSubtitle 4 -#define bLFont 5 - -static void prButton( GtkButton * button, gpointer user_data ) -{ - switch ( (int)user_data ) - { - case bOk: - // -- 1. page - gtkEnableAudioEqualizer=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ) ); - gtkAOExtraStereo=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ); - gtkAONorm=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNormalize ) ); - soft_vol=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ) ); - gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); - audio_delay=HSAudioDelayadj->value; - - gaddlist( &audio_driver_list,ao_driver[0] ); - gaddlist( &video_driver_list,vo_driver[0] ); - - // -- 2. page - vo_doublebuffering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ) ); - vo_directrendering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDR ) ); - - frame_dropping=0; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFramedrop ) ) == TRUE ) frame_dropping=1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBHFramedrop ) ) == TRUE ) frame_dropping=2; - - flip=-1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFlip ) ) ) flip=1; - - force_fps=HSFPSadj->value; - - // -- 3. page - suboverlap_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubOverlap ) ); - sub_auto=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ) ); - gtkSubDumpMPSub=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ) ); - gtkSubDumpSrt=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpSrt ) ); - sub_unicode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubUnicode ) ); -#ifdef CONFIG_ASS - gtkASS.enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ); - gtkASS.use_margins=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ) ); - gtkASS.top_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSTopMargin ) ); - gtkASS.bottom_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSBottomMargin ) ); -#endif - sub_delay=HSSubDelayadj->value; - sub_fps=HSSubFPSadj->value; - sub_pos=(int)HSSubPositionadj->value; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDNone ) ) ) osd_level=0; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ) ) ) osd_level=1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTandP ) ) ) osd_level=2; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ) ) ) osd_level=3; - - - // --- 4. page - guiSetFilename( font_name,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) ); -#ifndef CONFIG_FREETYPE - gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); -#else - gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); - gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); - gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); - gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ) ) ) gtkSet( gtkSetFontAutoScale,0,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ) ) ) gtkSet( gtkSetFontAutoScale,1,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ) ) ) gtkSet( gtkSetFontAutoScale,2,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ) ) ) gtkSet( gtkSetFontAutoScale,3,NULL ); -#endif - - // -- 5. page - force_ni=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) ); - index_mode=-1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) ) ) index_mode=1; - - { - int i; - const char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) ); - for( i=0;mpcodecs_vd_drivers[i];i++ ) - if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) ) - { gaddlist( &video_fm_list,(char *)mpcodecs_vd_drivers[i]->info->short_name ); break; } - } - - { - int i; - const char * tmp = gtk_entry_get_text( GTK_ENTRY( EAFM ) ); - for( i=0;mpcodecs_ad_drivers[i];i++ ) - if ( !gstrcmp( tmp,(char *)mpcodecs_ad_drivers[i]->info->name ) ) - { gaddlist( &audio_fm_list,(char *)mpcodecs_ad_drivers[i]->info->short_name ); break; } - } - - // --- 6. page - gtkVfPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); - gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) ); - gui_save_pos=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ) ); - gtkShowVideoWindow=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ); - stop_xscreensaver=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ) ); - gtkEnablePlayBar=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPlayBar ) ); - player_idle_mode=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoIdle ) ); - gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); - - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=1; } - else gtkCacheOn=0; - - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) { gtkAutoSync=(int)SBAutoSyncadj->value; gtkAutoSyncOn=1; } - else gtkAutoSyncOn=0; - - guiSetFilename( dvd_device,gtk_entry_get_text( GTK_ENTRY( prEDVDDevice ) ) ); - guiSetFilename( cdrom_device,gtk_entry_get_text( GTK_ENTRY( prECDRomDevice ) ) ); - - case bCancel: - HidePreferences(); - break; - case bAConfig: - if ( !ao_driver[0] ) break; - gtk_widget_set_sensitive( AConfig,FALSE ); - if ( !strncmp( ao_driver[0],"oss",3 ) || - !strncmp( ao_driver[0],"alsa",4 ) || - !strncmp( ao_driver[0],"esd",3 ) || - !strncmp( ao_driver[0],"sdl",3 ) ) { - ShowAudioConfig(); - gtk_widget_set_sensitive( AConfig,TRUE ); - } - break; - case bVconfig: - if ( !vo_driver[0] ) break; - gtk_widget_set_sensitive( VConfig,FALSE ); -#ifdef CONFIG_DXR3 - if ( !gstrcmp( vo_driver[0],"dxr3" ) ) { ShowDXR3Config(); gtk_widget_set_sensitive( VConfig,TRUE ); } -#endif - break; -#if 0 - case bLSubtitle: - break; -#endif - case bLFont: - ShowFileSelect( fsFontSelector,FALSE ); - gtkSetLayer( fsFileSelect ); - break; - } -} - -static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case 0: // extra stereo coefficient - if ( !guiInfo.Playing ) break; - gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); - break; - case 1: // audio delay - audio_delay=HSAudioDelayadj->value; - break; - case 2: // panscan - gtkSet( gtkSetPanscan,HSPanscanadj->value,NULL ); - break; - case 3: // sub delay - sub_delay=HSSubDelayadj->value; - break; - case 4: // sub position - sub_pos=(int)HSSubPositionadj->value; - break; -#ifndef CONFIG_FREETYPE - case 5: // font factor - gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); - break; -#else - case 6: // font blur - gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); - break; - case 7: // font outline - gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); - break; - case 8: // text scale - gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); - break; - case 9: // osd scale - gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); - break; -#endif - case 10: // auto quality - gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); - break; - } - return FALSE; -} - -static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ) -{ - int window; - switch ( (int)user_data ) - { - case 0: // extra stereo coefficient - if ( guiInfo.Playing ) - gtk_widget_set_sensitive( HSExtraStereoMul,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ) ); - break; -// case 1: // normalize -// case 2: // equalizer -// if ( guiInfo.Playing ) gtkMessageBox( GTK_MB_WARNING,"Please remember, this function need restart the playing." ); -// break; - case 3: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) gtk_widget_set_sensitive( CBLoadFullscreen,TRUE ); - else - { - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),0 ); - gtk_widget_set_sensitive( CBLoadFullscreen,FALSE ); - } - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) - { - window=wsShowWindow; - gtkActive( Preferences ); - } else window=wsHideWindow; - - if ( !guiInfo.Playing ) wsVisibleWindow( &guiApp.subWindow,window ); - break; - case 4: - case 5: - case 6: - case 7: - gtkSet( gtkSetFontAutoScale,(float)((int)user_data - 4 ),NULL ); - break; - case 8: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) gtk_widget_set_sensitive( SBCache,TRUE ); - else gtk_widget_set_sensitive( SBCache,FALSE ); - break; - case 9: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) gtk_widget_set_sensitive( SBAutoSync,TRUE ); - else gtk_widget_set_sensitive( SBAutoSync,FALSE ); - break; -#ifdef CONFIG_ASS - case 10: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ) ) - { - gtk_widget_set_sensitive( CBASSUseMargins,TRUE ); - gtk_widget_set_sensitive( SBASSTopMargin,TRUE ); - gtk_widget_set_sensitive( SBASSBottomMargin,TRUE ); - } - else - { - gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); - gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); - gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); - } - break; -#endif - } -} - -static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case 0: // audio driver - gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); - gtk_widget_set_sensitive( AConfig,FALSE ); - if ( !strncmp( ao_driver[0],"oss",3 ) || - !strncmp( ao_driver[0],"alsa",4 ) || - !strncmp( ao_driver[0],"esd",3 ) || - !strncmp( ao_driver[0],"sdl",3 ) ) - gtk_widget_set_sensitive( AConfig,TRUE ); -#ifndef CONFIG_GTK2 - if ( !strncmp( ao_driver[0],"arts",4 ) ) - gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, MSGTR_PREFERENCES_ArtsBroken); -#endif - break; - case 1: // video driver - gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); - gtk_widget_set_sensitive( VConfig,FALSE ); -#ifdef CONFIG_DXR3 - if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); -#endif - break; - } -} - -GtkWidget * create_Preferences( void ) -{ - GtkWidget * label; - GtkWidget * frame; - - GtkWidget * vbox1; - GtkWidget * notebook1; - GtkWidget * hbox1; - GtkWidget * vbox2; - GtkWidget * scrolledwindow3; - GtkWidget * vbox3; - GtkWidget * hbox8; - GtkWidget * hbox2; - GtkWidget * vbox4; - GtkWidget * scrolledwindow2; - GtkWidget * hbuttonbox3; - GtkWidget * vbox5; - GtkWidget * vbox6; - GtkWidget * vbox600; - GSList * OSD_group = NULL; -#ifdef CONFIG_ICONV - GSList * Font_group = NULL; - GList * CBFontEncoding_items = NULL; - GList * CBSubEncoding_items = NULL; -#endif - GtkWidget * vbox7; - GtkWidget * vbox8; - GtkWidget * table1; - GtkWidget * vbox9; - GtkWidget * vbox603; - GtkWidget * hbox6; - GtkWidget * hbuttonbox5; -#ifndef CONFIG_FREETYPE - GtkWidget * hbox7; -#endif - GtkWidget * vbox601; - GtkWidget * vbox602; - GtkWidget * hbox5; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - - GtkWidget * hbox9; - GtkWidget * hbox91; - GtkWidget * hbox92; - - accel_group=gtk_accel_group_new(); - - Preferences=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( Preferences,"Preferences" ); - gtk_object_set_data( GTK_OBJECT( Preferences ),"Preferences",Preferences ); - gtk_window_set_title( GTK_WINDOW( Preferences ),MSGTR_Preferences ); - gtk_window_set_position( GTK_WINDOW( Preferences ),GTK_WIN_POS_CENTER ); -// gtk_window_set_policy( GTK_WINDOW( Preferences ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( Preferences ),"Preferences","MPlayer" ); - - gtk_widget_realize( Preferences ); - gtkAddIcon( Preferences ); - - vbox1=AddVBox( AddDialogFrame( Preferences ),0 ); - notebook1=gtk_notebook_new(); - gtk_widget_set_name( notebook1,"notebook1" ); - gtk_widget_show( notebook1 ); - gtk_box_pack_start( GTK_BOX( vbox1 ),notebook1,TRUE,TRUE,0 ); - - hbox1=AddVBox( notebook1,0 ); - - frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,1 ); - frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); - -// --- 1. page - - vbox2=AddVBox( frame,0 ); - - scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow3,"scrolledwindow3" ); - gtk_widget_show( scrolledwindow3 ); - gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); - - CLADrivers=gtk_clist_new( 2 ); - gtk_widget_set_name( CLADrivers,"CLADrivers" ); - gtk_widget_show( CLADrivers ); - gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLADrivers ); - gtk_clist_set_column_width( GTK_CLIST( CLADrivers ),0,50 ); - gtk_clist_column_titles_show( GTK_CLIST( CLADrivers ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CLADrivers ),GTK_SHADOW_NONE ); - gtk_widget_set_usize( CLADrivers,250,-2 ); - gtk_clist_set_column_widget( GTK_CLIST( CLADrivers ),0, - AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ) ); - - AConfig=AddButton( MSGTR_ConfigDriver, - AddHButtonBox( vbox2 ) ); - - vbox3=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,0 ),1 ),0 ); - gtk_widget_set_usize( vbox3,250,-2 ); - - CBNormalize=AddCheckButton( MSGTR_PREFERENCES_NormalizeSound,vbox3 ); - CBAudioEqualizer=AddCheckButton( MSGTR_PREFERENCES_EnableEqualizer,vbox3 ); - CBSoftwareMixer=AddCheckButton( MSGTR_PREFERENCES_SoftwareMixer,vbox3 ); -#if 0 - CBSurround=AddCheckButton( "Enable surround",vbox3 ); -#endif - - AddHSeparator( vbox3 ); - CBExtraStereo=AddCheckButton( MSGTR_PREFERENCES_ExtraStereo,vbox3 ); - hbox8=AddHBox( vbox3,1 ); - label=AddLabel( MSGTR_PREFERENCES_Coefficient,hbox8 ); -// gtk_misc_set_padding( GTK_MISC( label ),20,0 ); - HSExtraStereoMuladj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.1,0,0 ) ); - HSExtraStereoMul=AddHScaler( HSExtraStereoMuladj,hbox8,1 ); - AddHSeparator( vbox3 ); - - hbox8=AddHBox( vbox3,1 ); - AddLabel( MSGTR_PREFERENCES_AudioDelay,hbox8 ); - - HSAudioDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.01,0,0 ) ); - HSAudioDelay=AddHScaler( HSAudioDelayadj,hbox8,2 ); - label=AddLabel( MSGTR_PREFERENCES_Audio,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),0 ),label ); - -// --- 2. page - - hbox2=AddVBox( notebook1,0 ); - - vbox4=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 ); - - scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow2,"scrolledwindow2" ); - gtk_widget_show( scrolledwindow2 ); - gtk_box_pack_start( GTK_BOX( vbox4 ),scrolledwindow2,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); - - CLVDrivers=gtk_clist_new( 2 ); - gtk_widget_set_name( CLVDrivers,"CLVDrivers" ); - gtk_widget_show( CLVDrivers ); - gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLVDrivers ); - gtk_clist_set_column_width( GTK_CLIST( CLVDrivers ),0,50 ); - gtk_clist_column_titles_show( GTK_CLIST( CLVDrivers ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CLVDrivers ),GTK_SHADOW_NONE ); - gtk_widget_set_usize( CLVDrivers,250,-2 ); - - label=AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ); - gtk_clist_set_column_widget( GTK_CLIST( CLVDrivers ),0,label ); - - hbuttonbox3=AddHButtonBox( vbox4 ); - VConfig=AddButton( MSGTR_ConfigDriver,hbuttonbox3 ); - - vbox5=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,0 ),1 ),0 ); - gtk_widget_set_usize( vbox5,250,-2 ); - - CBDoubleBuffer=AddCheckButton( MSGTR_PREFERENCES_DoubleBuffer,vbox5 ); - CBDR=AddCheckButton( MSGTR_PREFERENCES_DirectRender,vbox5 ); - CBFramedrop=AddCheckButton( MSGTR_PREFERENCES_FrameDrop,vbox5 ); - CBHFramedrop=AddCheckButton( MSGTR_PREFERENCES_HFrameDrop,vbox5 ); - CBFlip=AddCheckButton( MSGTR_PREFERENCES_Flip,vbox5 ); - - table1=gtk_table_new( 3,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox5 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_Panscan,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FPS,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSPanscanadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1,0.001,0,0 ) ); - HSPanscan=AddHScaler( HSPanscanadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),HSPanscan,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1000,0.001,0,0 ) ); - HSFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSFPSadj ),1,3 ); - gtk_widget_set_name( HSFPS,"HSFPS" ); - gtk_widget_show( HSFPS ); - gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSFPS ),TRUE ); - gtk_table_attach( GTK_TABLE( table1 ),HSFPS,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_Video,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),1 ),label ); - -// --- 3. page - - vbox6=AddVBox( notebook1,0 ); - - vbox600=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_OSD_Level,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); - - RBOSDNone=AddRadioButton( MSGTR_PREFERENCES_None,&OSD_group,vbox600 ); - RBOSDTandP=AddRadioButton( MSGTR_PREFERENCES_OSDTimer,&OSD_group,vbox600 ); - RBOSDIndicator=AddRadioButton( MSGTR_PREFERENCES_OSDProgress,&OSD_group,vbox600 ); - RBOSDTPTT=AddRadioButton( MSGTR_PREFERENCES_OSDTimerPercentageTotalTime,&OSD_group,vbox600 ); - - vbox7=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Subtitle,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); - -#if 0 - hbox4=AddHBox( vbox7,1 ); - - AddLabel( MSGTR_PREFERENCES_Subtitle,hbox4 ); - - ESubtitleName=gtk_entry_new(); - gtk_widget_set_name( ESubtitleName,"ESubtitleName" ); - gtk_widget_show( ESubtitleName ); - gtk_box_pack_start( GTK_BOX( hbox4 ),ESubtitleName,TRUE,TRUE,0 ); - - hbuttonbox4=AddHButtonBox( hbuttonbox4 ); - gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox4 ),3 ); - BLoadSubtitle=AddButton( MSGTR_Browse,hbuttonbox4 ); -#endif - - vbox8=AddVBox( vbox7,0 ); - - table1=gtk_table_new( 3,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox8 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_SUB_Delay,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_SUB_POS,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_SUB_FPS,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - -#ifdef CONFIG_ICONV - label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); -#endif - - HSSubDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10.0,10,0.01,0,0 ) ); - HSSubDelay=AddHScaler( HSSubDelayadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),HSSubDelay,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSSubPositionadj=GTK_ADJUSTMENT( gtk_adjustment_new( 100,0,100,1,0,0 ) ); - HSSubPosition=AddHScaler( HSSubPositionadj,NULL,0 ); - gtk_table_attach( GTK_TABLE( table1 ),HSSubPosition,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSSubFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.01,0,0 ) ); - HSSubFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSSubFPSadj ),1,3 ); - gtk_widget_set_name( HSSubFPS,"HSSubFPS" ); - gtk_widget_show( HSSubFPS ); - gtk_widget_set_usize( HSSubFPS,60,-1 ); - gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSSubFPS ),TRUE ); - gtk_table_attach( GTK_TABLE( table1 ),HSSubFPS,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - -#ifdef CONFIG_ICONV - CBSubEncoding=gtk_combo_new(); - gtk_widget_set_name( CBSubEncoding,"CBSubEncoding" ); - gtk_widget_show( CBSubEncoding ); - gtk_table_attach( GTK_TABLE( table1 ),CBSubEncoding,1,2,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - CBSubEncoding_items=g_list_append( CBSubEncoding_items,MSGTR_PREFERENCES_None ); - { - int i; - for ( i=0;lEncoding[i].name;i++ ) CBSubEncoding_items=g_list_append( CBSubEncoding_items,lEncoding[i].comment ); - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBSubEncoding ),CBSubEncoding_items ); - g_list_free( CBSubEncoding_items ); - - ESubEncoding=GTK_COMBO( CBSubEncoding )->entry; - gtk_widget_set_name( ESubEncoding,"ESubEncoding" ); - gtk_entry_set_editable( GTK_ENTRY( ESubEncoding ),FALSE ); - gtk_widget_show( ESubEncoding ); -#endif - - vbox9=AddVBox( vbox8,0 ); - - CBSubOverlap=AddCheckButton( MSGTR_PREFERENCES_SUB_Overlap,vbox9 ); - CBNoAutoSub=AddCheckButton( MSGTR_PREFERENCES_SUB_AutoLoad,vbox9 ); - CBSubUnicode=AddCheckButton( MSGTR_PREFERENCES_SUB_Unicode,vbox9 ); - CBDumpMPSub=AddCheckButton( MSGTR_PREFERENCES_SUB_MPSUB,vbox9 ); - CBDumpSrt=AddCheckButton( MSGTR_PREFERENCES_SUB_SRT,vbox9 ); - - AddHSeparator( vbox9 ); - CBUseASS=AddCheckButton( MSGTR_PREFERENCES_SUB_USE_ASS,vbox9 ); - hbox9=AddHBox( vbox9,0 ); - CBASSUseMargins=AddCheckButton( MSGTR_PREFERENCES_SUB_ASS_USE_MARGINS,hbox9 ); - - hbox91=gtk_hbox_new( FALSE,0 ); - gtk_widget_set_name( hbox91,"hbox91" ); - gtk_box_pack_start( GTK_BOX( hbox9 ),hbox91,TRUE,FALSE,0 ); - gtk_widget_show( hbox91 ); - SBASSTopMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_TOP_MARGIN, - (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox91 ); - - hbox92=gtk_hbox_new( FALSE,0 ); - gtk_widget_set_name( hbox92,"hbox92" ); - gtk_box_pack_start( GTK_BOX( hbox9 ),hbox92,TRUE,FALSE,0 ); - gtk_widget_show( hbox92 ); - SBASSBottomMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_BOTTOM_MARGIN, - (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox92 ); - - label=AddLabel( MSGTR_PREFERENCES_SubtitleOSD,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),2 ),label ); - vbox601=AddVBox( notebook1,0 ); - -// --- 4. page - - vbox603=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Font,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - hbox6=AddHBox( vbox603,1 ); - AddLabel( MSGTR_PREFERENCES_Font,hbox6 ); - prEFontName=gtk_entry_new(); - gtk_widget_set_name( prEFontName,"prEFontName" ); - gtk_widget_show( prEFontName ); - gtk_box_pack_start( GTK_BOX( hbox6 ),prEFontName,TRUE,TRUE,0 ); - hbuttonbox5=AddHButtonBox( hbox6 ); - gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox5 ),3 ); - BLoadFont=AddButton( MSGTR_Browse,hbuttonbox5 ); - -#ifndef CONFIG_FREETYPE - hbox7=AddHBox( vbox603,1 ); - AddLabel( MSGTR_PREFERENCES_FontFactor,hbox7 ); - HSFontFactoradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10,0.05,0,0 ) ); - HSFontFactor=AddHScaler( HSFontFactoradj,hbox7,2 ); -#else - - RBFontNoAutoScale=AddRadioButton( MSGTR_PREFERENCES_FontNoAutoScale,&Font_group,vbox603 ); - RBFontAutoScaleHeight=AddRadioButton( MSGTR_PREFERENCES_FontPropHeight,&Font_group,vbox603 ); - RBFontAutoScaleWidth=AddRadioButton( MSGTR_PREFERENCES_FontPropWidth,&Font_group,vbox603 ); - RBFontAutoScaleDiagonal=AddRadioButton( MSGTR_PREFERENCES_FontPropDiagonal,&Font_group,vbox603 ); - - table1=gtk_table_new( 3,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox603 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CBFontEncoding=gtk_combo_new(); - gtk_widget_set_name( CBFontEncoding,"CBFontEncoding" ); - gtk_widget_show( CBFontEncoding ); - gtk_table_attach( GTK_TABLE( table1 ),CBFontEncoding,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - { - int i; - for ( i=0;lEncoding[i].name;i++ ) CBFontEncoding_items=g_list_append( CBFontEncoding_items,lEncoding[i].comment ); - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBFontEncoding ),CBFontEncoding_items ); - g_list_free( CBFontEncoding_items ); - - EFontEncoding=GTK_COMBO( CBFontEncoding )->entry; - gtk_widget_set_name( EFontEncoding,"EFontEncoding" ); - gtk_entry_set_editable( GTK_ENTRY( EFontEncoding ),FALSE ); - gtk_widget_show( EFontEncoding ); - - label=AddLabel( MSGTR_PREFERENCES_FontBlur,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontBluradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontBlur=AddHScaler( HSFontBluradj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontBlur,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontOutLine,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontOutLineadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontOutLine=AddHScaler( HSFontOutLineadj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontOutLine,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontTextScale,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontTextScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontTextScale=AddHScaler( HSFontTextScaleadj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontTextScale,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontOSDScale,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontOSDScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontOSDScale=AddHScaler( HSFontOSDScaleadj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontOSDScale,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); -#endif - - label=AddLabel( MSGTR_PREFERENCES_FRAME_Font,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),3 ),label ); - -// --- 5. page - - vbox601=AddVBox( notebook1,0 ); - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_CodecDemuxer,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - CBNonInterlaved=AddCheckButton( MSGTR_PREFERENCES_NI,vbox602 ); - CBIndex=AddCheckButton( MSGTR_PREFERENCES_IDX,vbox602 ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_VideoCodecFamily,hbox5 ); - - CBVFM=gtk_combo_new(); - gtk_widget_set_name( CBVFM,"CBVFM" ); - gtk_widget_show( CBVFM ); - gtk_box_pack_start( GTK_BOX( hbox5 ),CBVFM,TRUE,TRUE,0 ); - - EVFM=GTK_COMBO( CBVFM )->entry; - gtk_widget_set_name( EVFM,"CEVFM" ); - gtk_entry_set_editable( GTK_ENTRY( EVFM ),FALSE ); - gtk_widget_show( EVFM ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_AudioCodecFamily,hbox5 ); - - CBAFM=gtk_combo_new(); - gtk_widget_set_name( CBAFM,"CBAFM" ); - gtk_widget_show( CBAFM ); - gtk_box_pack_start( GTK_BOX( hbox5 ),CBAFM,TRUE,TRUE,0 ); - - EAFM=GTK_COMBO( CBAFM )->entry; - gtk_widget_set_name( EAFM,"EAFM" ); - gtk_entry_set_editable( GTK_ENTRY( EAFM ),FALSE ); - gtk_widget_show( EAFM ); - - label=AddLabel( MSGTR_PREFERENCES_Codecs,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),4 ),label ); - - vbox601=AddVBox( notebook1,0 ); - -// --- 6. page - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_PostProcess,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - CBPostprocess=AddCheckButton( MSGTR_PREFERENCES_PostProcess,vbox602 ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_AutoQuality,hbox5 ); - - if ( guiInfo.sh_video && guiInfo.Playing ) HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,get_video_quality_max( guiInfo.sh_video ),0,0,0 ) ); - else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); - HSPPQuality=AddHScaler( HSPPQualityadj,hbox5,0 ); - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Cache,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - CBCache=AddCheckButton( MSGTR_PREFERENCES_Cache,vbox602 ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_CacheSize,hbox5 ); - - SBCacheadj=GTK_ADJUSTMENT( gtk_adjustment_new( gtkCacheSize,32,1048576,1,32,0 ) ); - SBCache=gtk_spin_button_new( GTK_ADJUSTMENT( SBCacheadj ),1,0 ); - gtk_widget_show( SBCache ); - gtk_box_pack_start( GTK_BOX( hbox5 ),SBCache,TRUE,TRUE,0 ); - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,1 ),1 ),0 ); - - CBShowVideoWindow=AddCheckButton( MSGTR_PREFERENCES_ShowVideoWindow,vbox602 ); - CBLoadFullscreen=AddCheckButton( MSGTR_PREFERENCES_LoadFullscreen,vbox602 ); - CBSaveWinPos=AddCheckButton( MSGTR_PREFERENCES_SaveWinPos,vbox602 ); - CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSCREENSAVER,vbox602 ); - CBPlayBar=AddCheckButton( MSGTR_PREFERENCES_PlayBar,vbox602 ); - CBNoIdle=AddCheckButton( MSGTR_PREFERENCES_NoIdle,vbox602 ); - - AddHSeparator( vbox602 ); - - CBAutoSync=AddCheckButton( MSGTR_PREFERENCES_AutoSync,vbox602 ); - hbox5=AddHBox( vbox602,1 ); - AddLabel( MSGTR_PREFERENCES_AutoSyncValue,hbox5 ); - SBAutoSyncadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10000,1,10,10 ) ); - SBAutoSync=gtk_spin_button_new( GTK_ADJUSTMENT( SBAutoSyncadj ),1,0 ); - gtk_widget_show( SBAutoSync ); - gtk_box_pack_start( GTK_BOX( hbox5 ),SBAutoSync,TRUE,TRUE,0 ); - - AddHSeparator( vbox602 ); - - table1=gtk_table_new( 2,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox602 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_DVDDevice,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - prEDVDDevice=gtk_entry_new(); - gtk_widget_set_name( prEDVDDevice,"prEDVDDevice" ); - gtk_widget_show( prEDVDDevice ); - gtk_table_attach( GTK_TABLE( table1 ),prEDVDDevice,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_CDROMDevice,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - prECDRomDevice=gtk_entry_new(); - gtk_widget_set_name( prECDRomDevice,"prECDRomDevice" ); - gtk_widget_show( prECDRomDevice ); - gtk_table_attach( GTK_TABLE( table1 ),prECDRomDevice,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - -// AddHSeparator( vbox602 ); - - label=AddLabel( MSGTR_PREFERENCES_Misc,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),5 ),label ); - -// --- - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); - BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( Preferences ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Preferences ); - - gtk_signal_connect( GTK_OBJECT( AConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bAConfig ); - gtk_signal_connect( GTK_OBJECT( BOk ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bOk ); - gtk_signal_connect( GTK_OBJECT( BCancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bCancel ); - gtk_signal_connect( GTK_OBJECT( VConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bVconfig ); -#if 0 - gtk_signal_connect( GTK_OBJECT( BLoadSubtitle ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLSubtitle ); -#endif - gtk_signal_connect( GTK_OBJECT( BLoadFont ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLFont ); - -#if 0 - gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( on_CBNormalize_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( on_CBSoftwareMixer_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBSurround ),"toggled",GTK_SIGNAL_FUNC( on_CBSurround_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( on_CBExtraStereo_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBDoubleBuffer ),"toggled",GTK_SIGNAL_FUNC( on_CBDoubleBuffer_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBDR ),"toggled",GTK_SIGNAL_FUNC( on_CBDR_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBFramedrop_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBHFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBHFramedrop_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBFullScreen ),"toggled",GTK_SIGNAL_FUNC( on_CBFullScreen_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBNonInterlaved ),"toggled",GTK_SIGNAL_FUNC( on_CBNonInterlaved_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBFlip ),"toggled",GTK_SIGNAL_FUNC( on_CBFlip_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBPostprocess ),"toggled",GTK_SIGNAL_FUNC( on_CBPostprocess_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBNoAutoSub ),"toggled",GTK_SIGNAL_FUNC( on_CBNoAutoSub_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBSubUnicode ),"toggled",GTK_SIGNAL_FUNC( on_CNSubUnicode_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBDumpMPSub ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpMPSub_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBDumpSrt ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpSrt_toggled ),NULL ); -#endif -#if 0 - gtk_signal_connect( GTK_OBJECT( RBOSDNone ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDNone_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( RBOSDTandP ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDTandP_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( RBOSDIndicator ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( RBOSDTPTT ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( on_CBAudioEqualizer_toggled ),NULL ); -#endif -#if 0 - gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSAudioDelay_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPanscan_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( label2 ),"motion_notify_event",GTK_SIGNAL_FUNC( on_label2_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubDelay_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubPosition_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSSubFPS ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubFPS_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSFontFactor_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPPQuality_motion_notify_event ),NULL ); -#endif - - gtk_notebook_set_page( GTK_NOTEBOOK( notebook1 ),2 ); - - gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group ); - - return Preferences; -} - -#ifdef CONFIG_OSS_AUDIO -static GList *appendOSSDevices(GList *l) -{ - // careful! the current implementation allows only string constants! - l = g_list_append(l, (gpointer)"/dev/dsp"); - if (gtkAOOSSDevice && strncmp(gtkAOOSSDevice, "/dev/sound", 10) == 0) { - l = g_list_append(l, (gpointer)"/dev/sound/dsp0"); - l = g_list_append(l, (gpointer)"/dev/sound/dsp1"); - l = g_list_append(l, (gpointer)"/dev/sound/dsp2"); - l = g_list_append(l, (gpointer)"/dev/sound/dsp3"); - } else { - l = g_list_append(l, (gpointer)"/dev/dsp0"); - l = g_list_append(l, (gpointer)"/dev/dsp1"); - l = g_list_append(l, (gpointer)"/dev/dsp2"); - l = g_list_append(l, (gpointer)"/dev/dsp3"); - } -#ifdef CONFIG_DXR3 - l = g_list_append(l, (gpointer)"/dev/em8300_ma"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-0"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-1"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-2"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-3"); -#endif - return l; -} - -static GList *appendOSSMixers(GList *l) -{ - // careful! the current implementation allows only string constants! - l = g_list_append(l, (gpointer)"/dev/mixer"); - if (gtkAOOSSMixer && strncmp(gtkAOOSSMixer, "/dev/sound", 10) == 0) { - l = g_list_append(l, (gpointer)"/dev/sound/mixer0"); - l = g_list_append(l, (gpointer)"/dev/sound/mixer1"); - l = g_list_append(l, (gpointer)"/dev/sound/mixer2"); - l = g_list_append(l, (gpointer)"/dev/sound/mixer3"); - } else { - l = g_list_append(l, (gpointer)"/dev/mixer0"); - l = g_list_append(l, (gpointer)"/dev/mixer1"); - l = g_list_append(l, (gpointer)"/dev/mixer2"); - l = g_list_append(l, (gpointer)"/dev/mixer3"); - } - return l; -} - -static GList *appendOSSMixerChannels(GList *l) -{ - l = g_list_append(l, (gpointer)"vol"); - l = g_list_append(l, (gpointer)"pcm"); - l = g_list_append(l, (gpointer)"line"); - return l; -} -#endif - -#ifdef CONFIG_ALSA -static GList *appendALSADevices(GList *l) -{ - l = g_list_append(l, (gpointer)"default"); - l = g_list_append(l, (gpointer)"hw=0.0"); - l = g_list_append(l, (gpointer)"hw=0.1"); - l = g_list_append(l, (gpointer)"hw=0.2"); - l = g_list_append(l, (gpointer)"surround40"); - l = g_list_append(l, (gpointer)"surround51"); - l = g_list_append(l, (gpointer)"plug=surround40"); - l = g_list_append(l, (gpointer)"plug=surround51"); - return l; -} - -static GList *appendALSAMixers(GList *l) -{ - l = g_list_append(l, (gpointer)"default"); - return l; -} - -static GList *appendALSAMixerChannels(GList *l) -{ - l = g_list_append(l, (gpointer)"Master"); - l = g_list_append(l, (gpointer)"Line"); - l = g_list_append(l, (gpointer)"PCM"); - l = g_list_append(l, (gpointer)"PCM,1"); - return l; -} -#endif - -#ifdef CONFIG_SDL -static GList *appendSDLDevices(GList *l) -{ - l = g_list_append(l, (gpointer)"alsa"); - l = g_list_append(l, (gpointer)"arts"); - l = g_list_append(l, (gpointer)"esd"); - l = g_list_append(l, (gpointer)"jack"); - l = g_list_append(l, (gpointer)"oss"); - l = g_list_append(l, (gpointer)"nas"); - return l; -} -#endif - -#ifdef CONFIG_ESD -static GList *appendESDDevices(GList *l) -{ - l = g_list_append(l, (gpointer)"Enter Remote IP"); - l = g_list_append(l, (gpointer)"Use Software Mixer"); - return l; -} -#endif - -// Gets text string from a gtk entry, interpreting -// MSGTR_PREFERENCES_DriverDefault as null string. -static const char *getGtkEntryText(GtkWidget *from) -{ - const char *tmp = gtk_entry_get_text(GTK_ENTRY(from)); - if (strcmp(tmp, MSGTR_PREFERENCES_DriverDefault) == 0) { - tmp = NULL; - } - return tmp; -} - -// Sets text string of a gtk entry, interpreting -// null string as MSGTR_PREFERENCES_DriverDefault. -static void setGtkEntryText(GtkWidget *dest, char *to) -{ - if (!to) { - to = MSGTR_PREFERENCES_DriverDefault; - } - gtk_entry_set_text(GTK_ENTRY(dest),to); -} - - GtkWidget *AudioConfig; -static GtkWidget *CEAudioDevice; -static GtkWidget *CBAudioDevice; -static GtkWidget *CEAudioMixer; -static GtkWidget *CBAudioMixer; -static GtkWidget *CEAudioMixerChannel; -static GtkWidget *CBAudioMixerChannel; -static GtkWidget *BAudioOk; -static GtkWidget *BAudioCancel; - -void ShowAudioConfig( void ) { - if (AudioConfig) gtkActive(AudioConfig); - else AudioConfig = create_AudioConfig(); - -#ifdef CONFIG_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) { - setGtkEntryText(CEAudioDevice, gtkAOOSSDevice); - setGtkEntryText(CEAudioMixer, gtkAOOSSMixer); - setGtkEntryText(CEAudioMixerChannel, gtkAOOSSMixerChannel); - } -#endif -#ifdef CONFIG_ALSA - if (strncmp(ao_driver[0], "alsa", 4) == 0) { - setGtkEntryText(CEAudioDevice, gtkAOALSADevice); - setGtkEntryText(CEAudioMixer, gtkAOALSAMixer); - setGtkEntryText(CEAudioMixerChannel, gtkAOALSAMixerChannel); - } -#endif -#ifdef CONFIG_SDL - if (strncmp(ao_driver[0], "sdl", 3) == 0) { - setGtkEntryText(CEAudioDevice, gtkAOSDLDriver); - } -#endif -#ifdef CONFIG_ESD - if (strncmp(ao_driver[0], "esd", 3) == 0) { - setGtkEntryText(CEAudioDevice, gtkAOESDDevice); - } -#endif - - gtk_widget_show(AudioConfig); - gtkSetLayer(AudioConfig); -} - -void HideAudioConfig( void ) { - if (!AudioConfig) return; - gtk_widget_hide(AudioConfig); - gtk_widget_destroy(AudioConfig); - AudioConfig=NULL; -} - -static void audioButton(GtkButton *button, gpointer user_data) { - switch( (int)user_data ) { - case 1: -#ifdef CONFIG_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) { - gfree((void **) >kAOOSSDevice); - gtkAOOSSDevice = gstrdup(getGtkEntryText(CEAudioDevice)); - gfree((void **) >kAOOSSMixer); - gtkAOOSSMixer = gstrdup(getGtkEntryText(CEAudioMixer)); - gfree((void **) >kAOOSSMixerChannel); - gtkAOOSSMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); - } -#endif -#ifdef CONFIG_ALSA - if (strncmp(ao_driver[0], "alsa", 4) == 0) { - gfree((void **) >kAOALSADevice); - gtkAOALSADevice = gstrdup(getGtkEntryText(CEAudioDevice)); - gfree((void **) >kAOALSAMixer); - gtkAOALSAMixer = gstrdup(getGtkEntryText(CEAudioMixer)); - gfree((void **) >kAOALSAMixerChannel); - gtkAOALSAMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); - } -#endif -#ifdef CONFIG_SDL - if (strncmp(ao_driver[0], "sdl", 3) == 0) { - gfree((void **) >kAOSDLDriver); - gtkAOSDLDriver = gstrdup(getGtkEntryText(CEAudioDevice)); - } -#endif -#ifdef CONFIG_ESD - if (strncmp(ao_driver[0], "esd", 3) == 0) { - gfree((void **) >kAOESDDevice); - gtkAOESDDevice = gstrdup(getGtkEntryText(CEAudioDevice)); - } -#endif - case 0: - HideAudioConfig(); - break; - } -} - -GtkWidget *create_AudioConfig( void ) { - GList *items = NULL; - GtkWidget *vbox; - GtkWidget *table; - GtkWidget *label; - GtkWidget *hbuttonbox; - GtkAccelGroup *accel_group; - - AudioConfig = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_name(AudioConfig, "AudioConfig"); - gtk_object_set_data(GTK_OBJECT(AudioConfig), "AudioConfig", AudioConfig); - gtk_window_set_title(GTK_WINDOW(AudioConfig), MSGTR_AudioPreferences); - gtk_window_set_position(GTK_WINDOW(AudioConfig), GTK_WIN_POS_CENTER); - gtk_window_set_policy(GTK_WINDOW(AudioConfig), FALSE, FALSE, FALSE); - gtk_window_set_wmclass(GTK_WINDOW(AudioConfig), "Audio Config", "MPlayer"); - - gtk_widget_realize(AudioConfig); - gtkAddIcon(AudioConfig); - - vbox = AddVBox(AddDialogFrame(AudioConfig), 0); - - table = gtk_table_new(2, 3, FALSE); - gtk_widget_set_name(table, "table"); - gtk_widget_show(table); - gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); - - label = AddLabel(MSGTR_PREFERENCES_Audio_Device, NULL); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); - - CBAudioDevice = AddComboBox(NULL); - gtk_table_attach(GTK_TABLE(table), CBAudioDevice, 1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); - items = g_list_append(items,(gpointer)MSGTR_PREFERENCES_DriverDefault); -#ifdef CONFIG_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) - items = appendOSSDevices(items); -#endif -#ifdef CONFIG_ALSA - if (strncmp(ao_driver[0], "alsa", 4) == 0) - items = appendALSADevices(items); -#endif -#ifdef CONFIG_SDL - if (strncmp(ao_driver[0], "sdl", 3) == 0) - items = appendSDLDevices(items); -#endif -#ifdef CONFIG_ESD - if (strncmp(ao_driver[0], "esd", 3) == 0) - items = appendESDDevices(items); -#endif - gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioDevice), items); - g_list_free(items); - items = NULL; - - CEAudioDevice = GTK_COMBO(CBAudioDevice)->entry; - gtk_widget_set_name(CEAudioDevice, "CEAudioDevice"); - gtk_widget_show(CEAudioDevice); - - label = AddLabel(MSGTR_PREFERENCES_Audio_Mixer, NULL); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); - - CBAudioMixer = AddComboBox(NULL); - gtk_table_attach(GTK_TABLE(table), CBAudioMixer, 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); - items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); -#ifdef CONFIG_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) - items = appendOSSMixers(items); -#endif -#ifdef CONFIG_ALSA - if (strncmp(ao_driver[0], "alsa", 4) == 0) - items = appendALSAMixers(items); -#endif - gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixer), items); - g_list_free(items); - items = NULL; - - CEAudioMixer = GTK_COMBO(CBAudioMixer)->entry; - gtk_widget_set_name(CEAudioMixer, "CEAudioMixer"); - gtk_widget_show(CEAudioMixer); - - label = AddLabel(MSGTR_PREFERENCES_Audio_MixerChannel, NULL); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); - - CBAudioMixerChannel = AddComboBox(NULL); - gtk_table_attach(GTK_TABLE(table), CBAudioMixerChannel, 1, 2, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); - items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); -#ifdef CONFIG_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) - items = appendOSSMixerChannels(items); -#endif -#ifdef CONFIG_ALSA - if (strncmp(ao_driver[0], "alsa", 4) == 0) - items = appendALSAMixerChannels(items); -#endif - gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixerChannel), items); - g_list_free(items); - items = NULL; - - CEAudioMixerChannel = GTK_COMBO(CBAudioMixerChannel)->entry; - gtk_widget_set_name(CEAudioMixerChannel, "CEAudioMixerChannel"); - gtk_widget_show(CEAudioMixerChannel); - - AddHSeparator(vbox); - - hbuttonbox = AddHButtonBox(vbox); - gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END); - gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 10); - BAudioOk = AddButton(MSGTR_Ok, hbuttonbox); - BAudioCancel = AddButton(MSGTR_Cancel, hbuttonbox); - - gtk_signal_connect(GTK_OBJECT(AudioConfig), "destroy", GTK_SIGNAL_FUNC(WidgetDestroy), &AudioConfig); - gtk_signal_connect(GTK_OBJECT(BAudioOk), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)1); - gtk_signal_connect(GTK_OBJECT(BAudioCancel), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)0); - - accel_group = gtk_accel_group_new(); - gtk_widget_add_accelerator(BAudioOk, "clicked", accel_group, GDK_Return, 0, GTK_ACCEL_VISIBLE); - gtk_widget_add_accelerator(BAudioCancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); - gtk_window_add_accel_group(GTK_WINDOW(AudioConfig), accel_group); - - return AudioConfig; -} - -#ifdef CONFIG_DXR3 -// --- dxr3 config box - -static GtkWidget * DXR3Config; -static GtkWidget * CBDevice; -static GtkWidget * CEDXR3Device; -static GtkWidget * RBVNone; -static GtkWidget * RBVLavc; -static GtkWidget * dxr3BOk; -static GtkWidget * dxr3BCancel; - -GtkWidget * create_DXR3Config( void ); - -void ShowDXR3Config( void ) -{ - if ( DXR3Config ) gtkActive( DXR3Config ); - else DXR3Config=create_DXR3Config(); - - gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),gtkDXR3Device ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE ); - if ( gtkVfLAVC ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVLavc ),TRUE ); - - gtk_widget_show( DXR3Config ); - gtkSetLayer( DXR3Config ); -} - -void HideDXR3Config( void ) -{ - if ( !DXR3Config ) return; - gtk_widget_hide( DXR3Config ); - gtk_widget_destroy( DXR3Config ); - DXR3Config=NULL; -} - -static void dxr3Button( GtkButton * button,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case 0: // Ok - gfree( (void **)>kDXR3Device ); gtkDXR3Device=strdup( gtk_entry_get_text( GTK_ENTRY( CEDXR3Device ) ) ); - gtkVfLAVC=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVLavc ) ); - case 1: // Cancel - HideDXR3Config(); - break; - } -} - -GtkWidget * create_DXR3Config( void ) -{ - GtkWidget * vbox1; - GtkWidget * vbox2; - GtkWidget * hbox1; - GList * CBDevice_items = NULL; - GtkWidget * vbox3; - GSList * VEncoder_group = NULL; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - - accel_group=gtk_accel_group_new(); - - DXR3Config=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( DXR3Config,"DXR3Config" ); - gtk_object_set_data( GTK_OBJECT( DXR3Config ),"DXR3Config",DXR3Config ); -// gtk_widget_set_usize( DXR3Config,300,156 ); - GTK_WIDGET_SET_FLAGS( DXR3Config,GTK_CAN_DEFAULT ); - gtk_window_set_title( GTK_WINDOW( DXR3Config ),"DXR3/H+" ); - gtk_window_set_position( GTK_WINDOW( DXR3Config ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( DXR3Config ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( DXR3Config ),"DXR3","MPlayer" ); - - gtk_widget_realize( DXR3Config ); - gtkAddIcon( DXR3Config ); - - vbox1=AddVBox( AddDialogFrame( DXR3Config ),0 ); - vbox2=AddVBox( vbox1,0 ); - hbox1=AddHBox( vbox2,1 ); - AddLabel( MSGTR_PREFERENCES_Audio_Device,hbox1 ); - - CBDevice=AddComboBox( hbox1 ); - - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-0" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-1" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-2" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-3" ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBDevice ),CBDevice_items ); - g_list_free( CBDevice_items ); - - CEDXR3Device=GTK_COMBO( CBDevice )->entry; - gtk_widget_set_name( CEDXR3Device,"CEDXR3Device" ); - gtk_widget_show( CEDXR3Device ); - gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),"/dev/em8300" ); - - AddHSeparator( vbox2 ); - vbox3=AddVBox( vbox2,0 ); - AddLabel( MSGTR_PREFERENCES_DXR3_VENC,vbox3 ); - RBVNone=AddRadioButton( MSGTR_PREFERENCES_None,&VEncoder_group,vbox3 ); - RBVLavc=AddRadioButton( MSGTR_PREFERENCES_DXR3_LAVC,&VEncoder_group,vbox3 ); - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - dxr3BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); - dxr3BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( dxr3BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( dxr3BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&DXR3Config ); - - gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 ); - gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 ); - - gtk_window_add_accel_group( GTK_WINDOW( DXR3Config ),accel_group ); - - return DXR3Config; -} - -#endif diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/opts.h --- a/gui/mplayer/gtk/opts.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_OPTS_H -#define MPLAYER_GUI_OPTS_H - -#include - -extern GtkWidget * AudioConfig; -extern GtkWidget * Preferences; -extern GtkWidget * prEFontName; - -GtkWidget * create_Preferences( void ); -GtkWidget * create_AudioConfig( void ); - -void ShowPreferences( void ); - -#endif /* MPLAYER_GUI_OPTS_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/pl.c --- a/gui/mplayer/gtk/pl.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,611 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "config.h" -#include "help_mp.h" -#include "stream/stream.h" - -#include "gui/interface.h" -#include "gui/mplayer/widgets.h" -#include "pl.h" -#include "gtk_common.h" - -static char * book_open_xpm[] = { - "16 16 4 1", - " c None s None", - ". c black", - "X c #808080", - "o c white", - " ", - " .. ", - " .Xo. ... ", - " .Xoo. ..oo. ", - " .Xooo.Xooo... ", - " .Xooo.oooo.X. ", - " .Xooo.Xooo.X. ", - " .Xooo.oooo.X. ", - " .Xooo.Xooo.X. ", - " .Xooo.oooo.X. ", - " .Xoo.Xoo..X. ", - " .Xo.o..ooX. ", - " .X..XXXXX. ", - " ..X....... ", - " .. ", - " "}; - -static char * book_closed_xpm[] = { - "16 16 6 1", - " c None s None", - ". c black", - "X c blue", - "o c yellow", - "O c #007FEA", - "# c white", - " ", - " .. ", - " ..XX. ", - " ..XXXXX. ", - " ..XXXXXXXX. ", - ".ooXXXXXXXXX. ", - "..ooXXXXXXXXX. ", - ".X.ooXXXXXXXXX. ", - ".XX.ooXXXXXX.. ", - " .XX.ooXXX..#O ", - " .XX.oo..##OO. ", - " .XX..##OO.. ", - " .X.#OO.. ", - " ..O.. ", - " .. ", - " "}; - - GtkWidget * PlayList = NULL; -static GtkWidget * CTDirTree; -static GtkWidget * CLFiles; -static GtkWidget * CLSelected; -static GtkWidget * Add; -static GtkWidget * Remove; -static GtkWidget * Ok; -static GtkWidget * Cancel; -static GdkPixmap * pxOpenedBook; -static GdkPixmap * pxClosedBook; -static GdkBitmap * msOpenedBook; -static GdkBitmap * msClosedBook; - -static int NrOfEntrys = 0; -static int NrOfSelected = 0; -static int * CLFileSelected = NULL; -static int * CLListSelected = NULL; - -static int sigSel; -static int sigUnsel; -static int sigEvent; - -typedef struct -{ - int scaned; - char * path; -} DirNodeType; - -static GtkCTreeNode * sibling; -static GtkCTreeNode * parent; -static gchar * current_path; -static gchar * old_path = NULL; - -static int compare_func(const void *a, const void *b) -{ - char * tmp; - int i; - if ( !a || !b || !( (DirNodeType *)a )->path ) return -1; - tmp=strdup( (char *)b ); tmp[strlen( tmp )-1]=0; - i=strcmp( ( (DirNodeType *)a )->path,tmp ); - free( tmp ); - return i; -} - -static void scan_dir( char * path ); - -void ShowPlayList( void ) -{ - if ( PlayList ) gtkActive( PlayList ); - else PlayList=create_PlayList(); - - if ( old_path && *old_path ) - { - char * currentdir = strdup( old_path ); - char * tpath,* pos; - GtkCTreeNode * node,* nextnode; - gboolean leaf; - tpath=strdup( "/" ); - pos=strtok( currentdir,"/" ); - node=gtk_ctree_find_by_row_data_custom( GTK_CTREE( CTDirTree ),NULL,"/",compare_func ); - do - { - char * tpathnew = g_strconcat( tpath,pos,"/",NULL ); - free( tpath ); tpath=tpathnew; - nextnode=gtk_ctree_find_by_row_data_custom( GTK_CTREE( CTDirTree ),node,tpath,compare_func ); - if ( !nextnode ) break; - node=nextnode; - pos=strtok( NULL,"/" ); - gtk_ctree_get_node_info( GTK_CTREE( CTDirTree ),node,NULL,NULL,NULL,NULL,NULL,NULL,&leaf,NULL ); - if ( !leaf && pos ) gtk_ctree_expand( GTK_CTREE( CTDirTree ),node ); - else - { - DirNodeType * DirNode; - gtk_ctree_select( GTK_CTREE( CTDirTree ),node ); - DirNode=gtk_ctree_node_get_row_data( GTK_CTREE( CTDirTree ),node ); - current_path=DirNode->path; - scan_dir( DirNode->path ); - free( CLFileSelected ); - CLFileSelected=calloc( 1,NrOfEntrys * sizeof( int ) ); - break; - } - } while( pos ); - free( tpath ); - free( currentdir ); - } - else gtk_ctree_select( GTK_CTREE( CTDirTree ),parent ); - - gtk_clist_freeze( GTK_CLIST( CLSelected ) ); - gtk_clist_clear( GTK_CLIST( CLSelected ) ); - if ( plList ) - { - gchar * name, * path; - plItem * next = plList; - while ( next || next->next ) - { - char * text[1][3]; text[0][2]=""; - name = g_filename_to_utf8( next->name, -1, NULL, NULL, NULL ); - path = g_filename_to_utf8( next->path, -1, NULL, NULL, NULL ); - text[0][0]=name ? name : next->name; - text[0][1]=path ? path : next->path; - gtk_clist_append( GTK_CLIST( CLSelected ),text[0] ); - g_free( path ); - g_free( name ); - NrOfSelected++; - if ( next->next ) next=next->next; else break; - } - CLListSelected=calloc( 1,NrOfSelected * sizeof( int ) ); - } - gtk_clist_thaw( GTK_CLIST( CLSelected ) ); - - gtk_widget_show( PlayList ); -} - -void HidePlayList( void ) -{ - if ( !PlayList ) return; - NrOfSelected=NrOfEntrys=0; - gfree( (void **)&CLListSelected ); gfree( (void **)&CLFileSelected ); - free( old_path ); - old_path=strdup( current_path ); - gtk_widget_hide( PlayList ); - gtk_widget_destroy( PlayList ); - PlayList=NULL; -} - -static void plRowSelect( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) -{ - switch ( (int) user_data ) - { - case 0: CLFileSelected[row]=1; break; - case 1: CLListSelected[row]=1; break; - } -} - -static void plUnRowSelect( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) -{ - switch ( (int) user_data ) - { - case 0: CLFileSelected[row]=0; break; - case 1: CLListSelected[row]=0; break; - } -} - -static void plButtonReleased( GtkButton * button,gpointer user_data ) -{ - switch ( (int) user_data ) - { - case 1: // ok - { - int i; - if ( plList ) gtkSet( gtkDelPl,0,NULL ); - for ( i=0;iname=g_filename_from_utf8( text[0], -1, NULL, NULL, NULL ); - if ( !item->name ) item->name = strdup( text[0] ); - item->path=g_filename_from_utf8( text[1], -1, NULL, NULL, NULL ); - if ( !item->path ) item->path = strdup( text[1] ); - gtkSet( gtkAddPlItem,0,(void*)item ); - } - if ( plCurrent ) - { - uiSetFileName( plCurrent->path,plCurrent->name,STREAMTYPE_FILE ); -// guiSetDF( guiInfo.Filename,plCurrent->path,plCurrent->name ); -// guiInfo.FilenameChanged=1; -// guiInfo.StreamType=STREAMTYPE_FILE; - } - } - case 0: // cancel - HidePlayList(); - break; - case 2: // remove - { - int i; int j; int c=0; - - gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigSel ); - gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigUnsel ); - gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigEvent ); - - gtk_clist_freeze( GTK_CLIST( CLSelected ) ); - for ( i=0;itype == GDK_BUTTON_RELEASE && bevent->button == 2 ) - { - if ( gtk_clist_get_selection_info( GTK_CLIST( widget ), bevent->x, bevent->y, &row, &col ) ) - { - switch ( (int) user_data ) - { - case 0: - CLFileSelected[row] = 1; - plButtonReleased( NULL, (void *) 3 ); - CLFileSelected[row] = 0; - return TRUE; - - case 1: - CLListSelected[row] = 1; - plButtonReleased( NULL, (void *) 2 ); - return TRUE; - } - } - } - - return FALSE; -} - -static int check_for_subdir( gchar * path ) -{ - DIR * dir; - struct dirent * dirent; - struct stat statbuf; - gchar * npath; - - if ( (dir=opendir( path )) ) - { - while ( (dirent=readdir( dir )) ) - { - if ( dirent->d_name[0] != '.' ) - { - npath=calloc( 1,strlen( path ) + strlen( dirent->d_name ) + 3 ); - sprintf( npath,"%s/%s",path,dirent->d_name ); - if ( stat( npath,&statbuf ) != -1 && S_ISDIR( statbuf.st_mode ) ) - { free( npath ); closedir( dir ); return 1; } - free( npath ); - } - } - closedir( dir ); - } - return 0; -} - -static void plCTree( GtkCTree * ctree,GtkCTreeNode * parent_node,gpointer user_data ) -{ - GtkCTreeNode * node; - DirNodeType * DirNode; - gchar * text, * name = NULL; - gchar * dummy = "dummy"; - int subdir = 1; - DIR * dir = NULL; - struct dirent * dirent; - gchar * path; - struct stat statbuf; - - DirNode=gtk_ctree_node_get_row_data( ctree,parent_node ); - if ( !DirNode->scaned ) - { - DirNode->scaned=1; current_path=DirNode->path; - gtk_clist_freeze( GTK_CLIST( ctree ) ); - node=gtk_ctree_find_by_row_data( ctree,parent_node,NULL ); - gtk_ctree_remove_node( ctree,node ); - - if ( (dir=opendir( DirNode->path ) ) ) - { - while( (dirent=readdir( dir )) ) - { - path=calloc( 1,strlen( DirNode->path ) + strlen( dirent->d_name ) + 2 ); - if ( !strcmp( current_path,"/" ) ) sprintf( path,"/%s",dirent->d_name ); - else sprintf( path,"%s/%s",current_path,dirent->d_name ); - text=dirent->d_name; - g_free( name ); - name=g_filename_to_utf8( text, -1, NULL, NULL, NULL ); - - if ( stat( path,&statbuf ) != -1 && S_ISDIR( statbuf.st_mode ) && dirent->d_name[0] != '.' ) - { - DirNode=malloc( sizeof( DirNodeType ) ); DirNode->scaned=0; DirNode->path=strdup( path ); - subdir=check_for_subdir( path ); - node=gtk_ctree_insert_node( ctree,parent_node,NULL,(name ? &name : &text ),4,pxOpenedBook,msOpenedBook,pxClosedBook,msClosedBook,!subdir,FALSE ); - gtk_ctree_node_set_row_data_full( ctree,node,DirNode,NULL ); - if ( subdir ) node=gtk_ctree_insert_node( ctree,node,NULL,&dummy,4,NULL,NULL,NULL,NULL,FALSE,FALSE ); - } - free( path ); path=NULL; - } - closedir( dir ); - } - - gtk_ctree_sort_node( ctree,parent_node ); - gtk_clist_thaw( GTK_CLIST( ctree ) ); - } - - g_free( name ); -} - -static void scan_dir( char * path ) -{ - DIR * dir = NULL; - char * curr; - struct dirent * dirent; - struct stat statbuf; - gchar * name; - char * text[1][2]; text[0][1]=""; - - gtk_clist_clear( GTK_CLIST( CLFiles ) ); - if ( (dir=opendir( path )) ) - { - NrOfEntrys=0; - while( (dirent=readdir( dir )) ) - { - curr=calloc( 1,strlen( path ) + strlen( dirent->d_name ) + 3 ); sprintf( curr,"%s/%s",path,dirent->d_name ); - if ( stat( curr,&statbuf ) != -1 && ( S_ISREG( statbuf.st_mode ) || S_ISLNK( statbuf.st_mode ) ) ) - { - name=g_filename_to_utf8( dirent->d_name, -1, NULL, NULL, NULL ); - text[0][0]=name ? name : dirent->d_name; - gtk_clist_append( GTK_CLIST( CLFiles ), text[0] ); - g_free( name ); - NrOfEntrys++; - } - free( curr ); - } - closedir( dir ); - gtk_clist_sort( GTK_CLIST( CLFiles ) ); - } -} - -static void plCTRow(GtkWidget * widget, gint row, gint column, GdkEventButton * bevent, gpointer data) -{ - DirNodeType * DirNode; - GtkCTreeNode * node; - node=gtk_ctree_node_nth( GTK_CTREE( widget ),row ); - DirNode=gtk_ctree_node_get_row_data( GTK_CTREE( widget ),node ); - current_path=DirNode->path; - gtk_ctree_expand( GTK_CTREE( widget ),node ); - scan_dir( DirNode->path ); - free( CLFileSelected ); - CLFileSelected=calloc( 1,NrOfEntrys * sizeof( int ) ); -} - -GtkWidget * create_PlayList( void ) -{ - GtkWidget * vbox1; - GtkWidget * hbox1; - GtkWidget * scrolledwindow1; - GtkWidget * vbox2; - GtkWidget * scrolledwindow2; - GtkWidget * scrolledwindow3; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - GdkColor transparent = { 0,0,0,0 }; - gchar * root = "/"; - gchar * dummy = "dummy"; - DirNodeType * DirNode; - - accel_group=gtk_accel_group_new(); - - PlayList=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_object_set_data( GTK_OBJECT( PlayList ),"PlayList",PlayList ); - gtk_widget_set_usize( PlayList,512,384 ); - gtk_window_set_title( GTK_WINDOW( PlayList ),MSGTR_PlayList ); - gtk_window_set_position( GTK_WINDOW( PlayList ),GTK_WIN_POS_CENTER ); -// gtk_window_set_policy( GTK_WINDOW( PlayList ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( PlayList ),"Playlist","MPlayer" ); - - gtk_widget_realize( PlayList ); - gtkAddIcon( PlayList ); - - vbox1=AddVBox( AddDialogFrame( PlayList ),0 ); - hbox1=AddHBox( NULL,1 ); - gtk_box_pack_start( GTK_BOX( vbox1 ),hbox1,TRUE,TRUE,0 ); - - scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_show( scrolledwindow1 ); - gtk_container_add( GTK_CONTAINER( - AddFrame( NULL,0,hbox1,1 ) ),scrolledwindow1 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); - - CTDirTree=gtk_ctree_new( 1,0 ); - gtk_signal_connect( GTK_OBJECT( CTDirTree ),"tree_expand",GTK_SIGNAL_FUNC( plCTree ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( CTDirTree ),"select_row",GTK_SIGNAL_FUNC( plCTRow ),(void *)0 ); - gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),CTDirTree ); - gtk_clist_set_column_auto_resize( GTK_CLIST( CTDirTree ),0,TRUE ); - gtk_clist_set_column_width( GTK_CLIST( CTDirTree ),0,80 ); - gtk_clist_set_selection_mode( GTK_CLIST( CTDirTree ),GTK_SELECTION_SINGLE ); - gtk_ctree_set_line_style( GTK_CTREE( CTDirTree ),GTK_CTREE_LINES_SOLID ); - gtk_clist_column_titles_show( GTK_CLIST( CTDirTree ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CTDirTree ),GTK_SHADOW_NONE ); - - if ( !pxOpenedBook ) pxOpenedBook=gdk_pixmap_create_from_xpm_d( PlayList->window,&msOpenedBook,&transparent,book_closed_xpm ); - if ( !pxClosedBook ) pxClosedBook=gdk_pixmap_create_from_xpm_d( PlayList->window,&msClosedBook,&transparent,book_open_xpm ); - - parent=gtk_ctree_insert_node( GTK_CTREE( CTDirTree ),NULL,NULL,&root,4,pxOpenedBook,msOpenedBook,pxClosedBook,msClosedBook,FALSE,FALSE ); - DirNode=malloc( sizeof( DirNodeType ) ); - DirNode->scaned=0; DirNode->path=strdup( root ); - gtk_ctree_node_set_row_data_full(GTK_CTREE( CTDirTree ),parent,DirNode,NULL ); - sibling=gtk_ctree_insert_node( GTK_CTREE( CTDirTree ),parent,NULL,&dummy,4,NULL,NULL,NULL,NULL,TRUE,TRUE ); - gtk_ctree_expand( GTK_CTREE( CTDirTree ),parent ); - gtk_widget_show( CTDirTree ); - - old_path = fsHistory[0]; - - gtk_clist_set_column_widget( GTK_CLIST( CTDirTree ),0, - AddLabel( MSGTR_PLAYLIST_DirectoryTree,NULL ) ); - - vbox2=AddVBox( - AddFrame( NULL,1,hbox1,1 ),0 ); - - scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_show( scrolledwindow2 ); - gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow2,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); - - CLFiles=gtk_clist_new( 1 ); - gtk_widget_show( CLFiles ); - gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLFiles ); - gtk_clist_set_column_width( GTK_CLIST( CLFiles ),0,80 ); - gtk_clist_set_selection_mode( GTK_CLIST( CLFiles ),GTK_SELECTION_EXTENDED ); - gtk_clist_column_titles_show( GTK_CLIST( CLFiles ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CLFiles ),GTK_SHADOW_NONE ); - - gtk_clist_set_column_widget( GTK_CLIST( CLFiles ),0, - AddLabel( MSGTR_PLAYLIST_Files,NULL ) ); - - AddHSeparator( vbox2 ); - - scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_show( scrolledwindow3 ); - gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); - - CLSelected=gtk_clist_new( 2 ); - gtk_widget_show( CLSelected ); - gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLSelected ); - gtk_clist_set_column_width( GTK_CLIST( CLSelected ),0,295 ); - gtk_clist_set_column_width( GTK_CLIST( CLSelected ),1,295 ); - gtk_clist_set_selection_mode( GTK_CLIST( CLSelected ),GTK_SELECTION_MULTIPLE ); - gtk_clist_column_titles_show( GTK_CLIST( CLSelected ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CLSelected ),GTK_SHADOW_NONE ); - - gtk_clist_set_column_widget( GTK_CLIST( CLSelected ),0, - AddLabel( MSGTR_PLAYLIST_Selected,NULL ) ); - - gtk_clist_set_column_widget( GTK_CLIST( CLSelected ),1, - AddLabel( MSGTR_PLAYLIST_Path,NULL ) ); - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - - Add=AddButton( MSGTR_Add,hbuttonbox1 ); - Remove=AddButton( MSGTR_Remove,hbuttonbox1 ); - Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); - Cancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( PlayList ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&PlayList ); - - gtk_signal_connect( GTK_OBJECT( CLFiles ),"select_row",GTK_SIGNAL_FUNC( plRowSelect ),(void *)0 ); - gtk_signal_connect( GTK_OBJECT( CLFiles ),"unselect_row",GTK_SIGNAL_FUNC( plUnRowSelect ),(void *)0 ); - gtk_signal_connect( GTK_OBJECT( CLFiles ),"event",GTK_SIGNAL_FUNC( plEvent ),(void *)0 ); - sigSel=gtk_signal_connect( GTK_OBJECT( CLSelected ),"select_row",GTK_SIGNAL_FUNC( plRowSelect ),(void*)1 ); - sigUnsel=gtk_signal_connect( GTK_OBJECT( CLSelected ),"unselect_row",GTK_SIGNAL_FUNC( plUnRowSelect ),(void*)1 ); - sigEvent=gtk_signal_connect( GTK_OBJECT( CLSelected ),"event",GTK_SIGNAL_FUNC( plEvent ),(void *)1 ); - - gtk_signal_connect( GTK_OBJECT( Add ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)3 ); - gtk_signal_connect( GTK_OBJECT( Remove ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)2 ); - gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)0 ); - - gtk_window_add_accel_group( GTK_WINDOW( PlayList ),accel_group ); - - return PlayList; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/pl.h --- a/gui/mplayer/gtk/pl.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_PL_H -#define MPLAYER_GUI_PL_H - -#include - -void ShowPlayList( void ); -void HidePlayList( void ); - -GtkWidget * create_PlayList (void); - -#endif /* MPLAYER_GUI_PL_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/sb.c --- a/gui/mplayer/gtk/sb.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,204 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "sb.h" -#include "gtk_common.h" - -#include "gui/app.h" -#include "help_mp.h" - -#include "gui/mplayer/widgets.h" - -GtkWidget * SkinList = NULL; -char * sbSelectedSkin=NULL; -char * sbMPlayerDirInHome=NULL; -char * sbMPlayerPrefixDir=NULL; - -char * gtkOldSkin=NULL; -static char * prev=NULL; - -GtkWidget * SkinBrowser = NULL; - -void ShowSkinBrowser( void ) -{ - if ( SkinBrowser ) gtkActive( SkinBrowser ); - else SkinBrowser=create_SkinBrowser(); -} - -static void HideSkinBrowser( void ) -{ - if ( !SkinBrowser ) return; - gtk_widget_hide( SkinBrowser ); - gtk_widget_destroy( SkinBrowser ); - SkinBrowser=NULL; -} - -int gtkFillSkinList( gchar * mdir ) -{ - gchar * str[2]; - gchar * tmp; - int i; - glob_t gg; - struct stat fs; - - gtkOldSkin=strdup( skinName ); - prev=gtkOldSkin; - - str[0]="default"; - str[1]=""; - if ( gtkFindCList( SkinList,str[0] ) == -1 ) gtk_clist_append( GTK_CLIST( SkinList ),str ); - - glob( mdir,GLOB_NOSORT,NULL,&gg ); - for( i=0;i<(int)gg.gl_pathc;i++ ) - { - if ( !strcmp( gg.gl_pathv[i],"." ) || !strcmp( gg.gl_pathv[i],".." ) ) continue; - stat( gg.gl_pathv[i],&fs ); - if ( S_ISDIR( fs.st_mode ) ) - { - tmp=strrchr( gg.gl_pathv[i],'/' ); tmp++; - if ( !strcmp( tmp,"default" ) ) continue; - str[0]=tmp; - if ( gtkFindCList( SkinList,str[0] ) == -1 ) gtk_clist_append( GTK_CLIST( SkinList ),str ); - } - } - globfree( &gg ); - return 1; -} - -static void prButton( GtkObject * object,gpointer user_data ) -{ - if ( sbSelectedSkin ) - { - switch ( (int)user_data ) - { - case 0: // cancel - if ( strcmp( sbSelectedSkin,gtkOldSkin ) ) uiChangeSkin( gtkOldSkin ); - break; - case 1: // ok - uiChangeSkin( sbSelectedSkin ); // NOTE TO MYSELF: skin already changed! - free( skinName ); - skinName=strdup( sbSelectedSkin ); - break; - } - } - HideSkinBrowser(); -} - -static void on_SkinList_select_row( GtkCList * clist,gint row,gint column,GdkEvent * bevent,gpointer user_data ) -{ - gtk_clist_get_text( clist,row,0,&sbSelectedSkin ); - if ( strcmp( prev,sbSelectedSkin ) ) - { - prev=sbSelectedSkin; - uiChangeSkin( sbSelectedSkin ); - gtkActive( SkinBrowser ); - } - if( !bevent ) return; - if( bevent->type == GDK_2BUTTON_PRESS ) - { - free( skinName ); - skinName=strdup( sbSelectedSkin ); - HideSkinBrowser(); - } -} - -GtkWidget * create_SkinBrowser( void ) -{ - GtkWidget * vbox5; - GtkWidget * scrolledwindow1; - GtkWidget * hbuttonbox4; - GtkWidget * Cancel; - GtkWidget * Ok; - GtkAccelGroup * accel_group; - - accel_group = gtk_accel_group_new (); - - SkinBrowser=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( SkinBrowser,MSGTR_SkinBrowser ); - gtk_object_set_data( GTK_OBJECT( SkinBrowser ),MSGTR_SkinBrowser,SkinBrowser ); - gtk_widget_set_usize( SkinBrowser,256,320 ); - gtk_container_set_border_width( GTK_CONTAINER( SkinBrowser ),1 ); - GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_DEFAULT ); - gtk_widget_set_events( SkinBrowser,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); - gtk_window_set_title( GTK_WINDOW( SkinBrowser ),MSGTR_SkinBrowser ); - gtk_window_set_position( GTK_WINDOW( SkinBrowser ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( SkinBrowser ),FALSE,FALSE,TRUE ); - gtk_window_set_wmclass( GTK_WINDOW( SkinBrowser ),"SkinBrowser","MPlayer" ); - - gtk_widget_realize( SkinBrowser ); - gtkAddIcon( SkinBrowser ); - - vbox5=AddVBox( AddDialogFrame( SkinBrowser ),0 ); - AddLabel( MSGTR_SKIN_LABEL,vbox5 ); - AddHSeparator( vbox5 ); - - scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); - gtk_widget_ref( scrolledwindow1 ); - gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"scrolledwindow1",scrolledwindow1,(GtkDestroyNotify)gtk_widget_unref ); - gtk_widget_show( scrolledwindow1 ); - gtk_box_pack_start( GTK_BOX( vbox5 ),scrolledwindow1,TRUE,TRUE,0 ); - gtk_container_set_border_width( GTK_CONTAINER( scrolledwindow1 ),2 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); - - SkinList=gtk_clist_new( 1 ); - gtk_widget_set_name( SkinList,"SkinList" ); - gtk_widget_ref( SkinList ); - gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"SkinList",SkinList,(GtkDestroyNotify)gtk_widget_unref ); - gtk_widget_show( SkinList ); - gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),SkinList ); - gtk_clist_set_column_width( GTK_CLIST( SkinList ),0,80 ); - gtk_clist_set_selection_mode( GTK_CLIST( SkinList ),GTK_SELECTION_SINGLE ); - gtk_clist_column_titles_hide( GTK_CLIST( SkinList ) ); - gtk_clist_set_shadow_type( GTK_CLIST( SkinList ),GTK_SHADOW_ETCHED_OUT ); - - AddHSeparator( vbox5 ); - - hbuttonbox4=AddHButtonBox( vbox5 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox4 ),GTK_BUTTONBOX_SPREAD ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox4 ),10 ); - - Ok=AddButton( MSGTR_Ok,hbuttonbox4 ); - Cancel=AddButton( MSGTR_Cancel,hbuttonbox4 ); - - gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&SkinBrowser ); - gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row",GTK_SIGNAL_FUNC( on_SkinList_select_row ),NULL ); - gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void *)1 ); - gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void *)0 ); - - if ( ( sbMPlayerDirInHome=calloc( 1,strlen( skinDirInHome ) + 4 ) ) != NULL ) - { strcpy( sbMPlayerDirInHome,skinDirInHome ); strcat( sbMPlayerDirInHome,"/*" ); } - if ( ( sbMPlayerPrefixDir=calloc( 1,strlen( skinMPlayerDir ) + 4 ) ) != NULL ) - { strcpy( sbMPlayerPrefixDir,skinMPlayerDir ); strcat( sbMPlayerPrefixDir,"/*" ); } - - gtk_window_add_accel_group( GTK_WINDOW( SkinBrowser ),accel_group ); - gtk_widget_grab_focus( SkinList ); - - return SkinBrowser; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gtk/sb.h --- a/gui/mplayer/gtk/sb.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_SB_H -#define MPLAYER_GUI_SB_H - -#include - -extern char * sbSelectedSkin; -extern GtkWidget * SkinBrowser; - -void ShowSkinBrowser( void ); -GtkWidget * create_SkinBrowser( void ); - -#endif /* MPLAYER_GUI_SB_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gui_common.c --- a/gui/mplayer/gui_common.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,485 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include - -#include "gui_common.h" -#include "gui/interface.h" -#include "gui/skin/font.h" - -#include "access_mpcontext.h" -#include "codec-cfg.h" -#include "config.h" -#include "help_mp.h" -#include "libavutil/avstring.h" -#include "libmpdemux/stheader.h" -#include "mixer.h" -#include "osdep/timer.h" -#include "stream/stream.h" - -#define DLABEL_DELAY 2500 // in milliseconds - -static char *image_buffer; -static int image_width; - -static void TranslateFilename(int c, char *tmp, size_t tmplen) -{ - int i; - char *p; - size_t len; - - switch (guiInfo.StreamType) { - case STREAMTYPE_STREAM: - av_strlcpy(tmp, guiInfo.Filename, tmplen); - break; - - case STREAMTYPE_FILE: - if (guiInfo.Filename && guiInfo.Filename[0]) { - p = strrchr(guiInfo.Filename, '/'); - - if (p) - av_strlcpy(tmp, p + 1, tmplen); - else - av_strlcpy(tmp, guiInfo.Filename, tmplen); - - len = strlen(tmp); - - if (len > 3 && tmp[len - 3] == '.') - tmp[len - 3] = 0; - else if (len > 4 && tmp[len - 4] == '.') - tmp[len - 4] = 0; - else if (len > 5 && tmp[len - 5] == '.') - tmp[len - 5] = 0; - } else - av_strlcpy(tmp, MSGTR_NoFileLoaded, tmplen); - break; - -#ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - if (guiInfo.DVD.current_chapter) - snprintf(tmp, tmplen, MSGTR_Chapter, guiInfo.DVD.current_chapter); - else - av_strlcat(tmp, MSGTR_NoChapter, tmplen); - break; -#endif - -#ifdef CONFIG_VCD - case STREAMTYPE_VCD: - snprintf(tmp, tmplen, MSGTR_VCDTrack, guiInfo.Track); - break; -#endif - - default: - av_strlcpy(tmp, MSGTR_NoMediaOpened, tmplen); - break; - } - - if (c) { - for (i = 0; tmp[i]; i++) { - int t = 0; - - if (c == 1) - if (tmp[i] >= 'A' && tmp[i] <= 'Z') - t = 32; - - if (c == 2) - if (tmp[i] >= 'a' && tmp[i] <= 'z') - t = -32; - - tmp[i] = (char)(tmp[i] + t); - } - } -} - -static char *Translate(char *str) -{ - static char trbuf[512]; - char tmp[512]; - unsigned int i, c; - int t; - mixer_t *mixer; - - *trbuf = 0; - - for (c = 0, i = 0; i < strlen(str); i++) { - if (str[i] != '$') { - if (c + 1 < sizeof(trbuf)) { - trbuf[c++] = str[i]; - trbuf[c] = 0; - } - } else { - switch (str[++i]) { - case 't': - snprintf(tmp, sizeof(tmp), "%02d", guiInfo.Track); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'o': - TranslateFilename(0, tmp, sizeof(tmp)); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'f': - TranslateFilename(1, tmp, sizeof(tmp)); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'F': - TranslateFilename(2, tmp, sizeof(tmp)); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case '6': - t = guiInfo.LengthInSec; - goto calclengthhhmmss; - - case '1': - t = guiInfo.TimeSec; -calclengthhhmmss: - snprintf(tmp, sizeof(tmp), "%02d:%02d:%02d", t / 3600, t / 60 % 60, t % 60); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case '7': - t = guiInfo.LengthInSec; - goto calclengthmmmmss; - - case '2': - t = guiInfo.TimeSec; -calclengthmmmmss: - snprintf(tmp, sizeof(tmp), "%04d:%02d", t / 60, t % 60); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case '3': - snprintf(tmp, sizeof(tmp), "%02d", guiInfo.TimeSec / 3600); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case '4': - snprintf(tmp, sizeof(tmp), "%02d", (guiInfo.TimeSec / 60) % 60); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case '5': - snprintf(tmp, sizeof(tmp), "%02d", guiInfo.TimeSec % 60); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case '8': - snprintf(tmp, sizeof(tmp), "%01d:%02d:%02d", guiInfo.TimeSec / 3600, (guiInfo.TimeSec / 60) % 60, guiInfo.TimeSec % 60); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'v': - snprintf(tmp, sizeof(tmp), "%3.2f%%", guiInfo.Volume); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'V': - snprintf(tmp, sizeof(tmp), "%3.1f", guiInfo.Volume); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'b': - snprintf(tmp, sizeof(tmp), "%3.2f%%", guiInfo.Balance); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'B': - snprintf(tmp, sizeof(tmp), "%3.1f", guiInfo.Balance); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'd': - snprintf(tmp, sizeof(tmp), "%d", guiInfo.FrameDrop); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'x': - snprintf(tmp, sizeof(tmp), "%d", guiInfo.MovieWidth); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'y': - snprintf(tmp, sizeof(tmp), "%d", guiInfo.MovieHeight); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 'C': - snprintf(tmp, sizeof(tmp), "%s", guiInfo.sh_video ? ((sh_video_t *)guiInfo.sh_video)->codec->name : ""); - av_strlcat(trbuf, tmp, sizeof(trbuf)); - break; - - case 's': - if (guiInfo.Playing == 0) - av_strlcat(trbuf, "s", sizeof(trbuf)); - break; - - case 'l': - if (guiInfo.Playing == 1) - av_strlcat(trbuf, "p", sizeof(trbuf)); - break; - - case 'e': - if (guiInfo.Playing == 2) - av_strlcat(trbuf, "e", sizeof(trbuf)); - break; - - case 'a': - - mixer = mpctx_get_mixer(guiInfo.mpcontext); - - if (mixer->muted) { - av_strlcat(trbuf, "n", sizeof(trbuf)); - break; - } - - switch (guiInfo.AudioType) { - case 0: - av_strlcat(trbuf, "n", sizeof(trbuf)); - break; - - case 1: - av_strlcat(trbuf, "m", sizeof(trbuf)); - break; - - case 2: - av_strlcat(trbuf, "t", sizeof(trbuf)); - break; - } - - break; - - case 'T': - switch (guiInfo.StreamType) { - case STREAMTYPE_FILE: - av_strlcat(trbuf, "f", sizeof(trbuf)); - break; - -#ifdef CONFIG_VCD - case STREAMTYPE_VCD: - av_strlcat(trbuf, "v", sizeof(trbuf)); - break; -#endif - - case STREAMTYPE_STREAM: - av_strlcat(trbuf, "u", sizeof(trbuf)); - break; - -#ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - av_strlcat(trbuf, "d", sizeof(trbuf)); - break; -#endif - - default: - av_strlcat(trbuf, " ", sizeof(trbuf)); - break; - } - break; - - case '$': - av_strlcat(trbuf, "$", sizeof(trbuf)); - break; - - default: - continue; - } - - c = strlen(trbuf); - } - } - - return trbuf; -} - -static void PutImage(guiImage *bf, int x, int y, int max, int ofs) -{ - int i = 0, ix, iy; - uint32_t *buf = NULL; - uint32_t *drw = NULL; - register uint32_t tmp; - - /* register uint32_t yc; */ - - if (!bf || (bf->Image == NULL)) - return; - - i = bf->Width * (bf->Height / max) * ofs; - buf = (uint32_t *)image_buffer; - drw = (uint32_t *)bf->Image; - -#if 1 - for (iy = y; iy < (int)(y + bf->Height / max); iy++) - for (ix = x; ix < (int)(x + bf->Width); ix++) { - tmp = drw[i++]; - - if (!IS_TRANSPARENT(tmp)) - buf[iy * image_width + ix] = tmp; - } -#else - yc = y * image_width; - - for (iy = y; iy < (int)(y + bf->Height / max); iy++) { - for (ix = x; ix < (int)(x + bf->Width); ix++) { - tmp = drw[i++]; - - if (!IS_TRANSPARENT(tmp)) - buf[yc + ix] = tmp; - } - - yc += image_width; - } -#endif -} - -static void SimplePotmeterPutImage(guiImage *bf, int x, int y, float frac) -{ - int i = 0, w, r, ix, iy; - uint32_t *buf = NULL; - uint32_t *drw = NULL; - register uint32_t tmp; - - if (!bf || (bf->Image == NULL)) - return; - - buf = (uint32_t *)image_buffer; - drw = (uint32_t *)bf->Image; - w = bf->Width * frac; - r = bf->Width - w; - - for (iy = y; iy < (int)(y + bf->Height); iy++) { - for (ix = x; ix < (int)(x + w); ix++) { - tmp = drw[i++]; - - if (!IS_TRANSPARENT(tmp)) - buf[iy * image_width + ix] = tmp; - } - - i += r; - } -} - -void RenderAll(wsTWindow *window, wItem *Items, int nrItems, char *db) -{ - wItem *item; - guiImage *image = NULL; - int i, ofs; - - image_buffer = db; - image_width = window->Width; - - for (i = 0; i < nrItems + 1; i++) { - item = &Items[i]; - - switch (item->pressed) { - case btnPressed: - ofs = 0; - break; - - case btnReleased: - ofs = 1; - break; - - default: - ofs = 2; - break; - } - - switch (item->type) { - case itButton: - PutImage(&item->Bitmap, item->x, item->y, 3, ofs); - break; - - case itPotmeter: - if (item->numphases == 1) - SimplePotmeterPutImage(&item->Bitmap, item->x, item->y, item->value / 100.0); - else - PutImage(&item->Bitmap, item->x, item->y, item->numphases, (item->numphases - 1) * (item->value / 100.0)); - break; - - case itHPotmeter: - if (item->numphases == 1) - SimplePotmeterPutImage(&item->Bitmap, item->x, item->y, item->value / 100.0); - else - PutImage(&item->Bitmap, item->x, item->y, item->numphases, (item->numphases - 1) * (item->value / 100.0)); - PutImage(&item->Mask, item->x + (item->width - item->pwidth) * (item->value / 100.0), item->y, 3, ofs); - break; - - case itVPotmeter: - PutImage(&item->Bitmap, item->x, item->y, item->numphases, item->numphases * (1.0 - item->value / 100.0)); - PutImage(&item->Mask, item->x, item->y + (item->height - item->pheight) * (1.0 - item->value / 100.0), 3, ofs); - break; - - case itSLabel: - if (item->width == -1) - item->width = fntTextWidth(item->fontid, item->label); - image = fntRender(item, 0, item->label); - if (image) - PutImage(image, item->x, item->y, 1, 0); - break; - - case itDLabel: - { - int x; - unsigned int d; - char *t = Translate(item->label); - - if (!item->text || (strcmp(item->text, t) != 0)) { - free(item->text); - item->text = strdup(t); - item->textwidth = fntTextWidth(item->fontid, t); - item->starttime = GetTimerMS(); - item->last_x = 0; - } - - d = GetTimerMS() - item->starttime; - - if (d < DLABEL_DELAY) - x = item->last_x; // don't scroll yet - else { - int l; - char c[2]; - - l = (item->textwidth ? item->textwidth : item->width); - x = l - ((d - DLABEL_DELAY) / 20) % l - 1; - c[0] = *item->text; - c[1] = '\0'; - - if (x < (fntTextWidth(item->fontid, c) + 1) >> 1) { - item->starttime = GetTimerMS(); // stop again - item->last_x = x; // at current x pos - } - } - - image = fntRender(item, x, t); - } - - if (image) - PutImage(image, item->x, item->y, 1, 0); - - break; - } - } - - wsConvert(window, db); -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/gui_common.h --- a/gui/mplayer/gui_common.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_GUI_COMMON_H -#define MPLAYER_GUI_GUI_COMMON_H - -#include "gui/app.h" - -void RenderAll(wsTWindow *window, wItem *Items, int nrItems, char *db); - -#endif /* MPLAYER_GUI_GUI_COMMON_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/menu.c --- a/gui/mplayer/menu.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,175 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include - -#include "config.h" -#include "help_mp.h" -#include "mp_msg.h" -#include "gui/app.h" -#include "gmplayer.h" - -#include "widgets.h" - -unsigned char * menuDrawBuffer = NULL; -int menuRender = 1; -int menuItem = -1; -int oldMenuItem = -1; -int menuX,menuY; -static int menuIsInitialized = 0; - -static void uiMenuDraw( void ) -{ - uint32_t * buf = NULL; - uint32_t * drw = NULL; - int x,y,tmp; - - if ( !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; - if ( !menuRender && !guiApp.menuWindow.Visible ) return; - - if ( menuRender || menuItem != oldMenuItem ) - { - memcpy( menuDrawBuffer,guiApp.menu.Bitmap.Image,guiApp.menu.Bitmap.ImageSize ); -// --- - if ( menuItem != -1 ) - { - buf=(uint32_t *)menuDrawBuffer; - drw=(uint32_t *)guiApp.menuSelected.Bitmap.Image; - for ( y=guiApp.menuItems[ menuItem ].y; y < guiApp.menuItems[ menuItem ].y + guiApp.menuItems[ menuItem ].height; y++ ) - for ( x=guiApp.menuItems[ menuItem ].x; x < guiApp.menuItems[ menuItem ].x + guiApp.menuItems[ menuItem ].width; x++ ) - { - tmp=drw[ y * guiApp.menuSelected.width + x ]; - if ( !IS_TRANSPARENT ( tmp ) ) buf[ y * guiApp.menu.width + x ]=tmp; - } - } - oldMenuItem=menuItem; -// --- - wsConvert( &guiApp.menuWindow,menuDrawBuffer ); - menuRender=0; - } - wsPutImage( &guiApp.menuWindow ); -} - -void uiMenuMouseHandle( int X,int Y,int RX,int RY ) -{ - int x,y,i; - - if ( !guiApp.menu.Bitmap.Image ) return; - - menuItem=-1; - x=RX - guiApp.menuWindow.X; - y=RY - guiApp.menuWindow.Y; - if ( ( x < 0 ) || ( y < 0 ) || ( x > guiApp.menu.width ) || ( y > guiApp.menu.height ) ) - { - wsPostRedisplay( &guiApp.menuWindow ); - return; - } - - for( i=0;i<=guiApp.IndexOfMenuItems;i++ ) - { - if ( wgIsRect( x,y, - guiApp.menuItems[i].x,guiApp.menuItems[i].y, - guiApp.menuItems[i].x+guiApp.menuItems[i].width,guiApp.menuItems[i].y+guiApp.menuItems[i].height ) ) { menuItem=i; break; } - } - wsPostRedisplay( &guiApp.menuWindow ); -} - -void uiShowMenu( int mx,int my ) -{ - int x,y; - - if ( !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; - - x=mx; - if ( x + guiApp.menuWindow.Width > wsMaxX ) x=wsMaxX - guiApp.menuWindow.Width - 1 + wsOrgX; - y=my; - if ( y + guiApp.menuWindow.Height > wsMaxY ) y=wsMaxY - guiApp.menuWindow.Height - 1 + wsOrgY; - - menuX=x; menuY=y; - - menuItem = 0; - - wsMoveWindow( &guiApp.menuWindow,False,x,y ); - wsMoveTopWindow( wsDisplay,guiApp.menuWindow.WindowID ); - wsSetLayer( wsDisplay,guiApp.menuWindow.WindowID,1 ); - menuRender=1; - wsVisibleWindow( &guiApp.menuWindow,wsShowWindow ); - wsPostRedisplay( &guiApp.menuWindow ); -} - -void uiHideMenu( int mx,int my,int w ) -{ - int x,y,i=menuItem; - - if ( !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; - - x=mx-menuX; - y=my-menuY; -// x=RX - guiApp.menuWindow.X; -// y=RY - guiApp.menuWindow.Y; - - wsVisibleWindow( &guiApp.menuWindow,wsHideWindow ); - - if ( ( x < 0 ) || ( y < 0 ) ) return; - -// printf( "---------> %d %d,%d\n",i,x,y ); -// printf( "--------> mi: %d,%d %dx%d\n",guiApp.menuItems[i].x,guiApp.menuItems[i].y,guiApp.menuItems[i].width,guiApp.menuItems[i].height ); - if ( wgIsRect( x,y, - guiApp.menuItems[i].x,guiApp.menuItems[i].y, - guiApp.menuItems[i].x+guiApp.menuItems[i].width, - guiApp.menuItems[i].y+guiApp.menuItems[i].height ) ) - { - uiEventHandling( guiApp.menuItems[i].message,(float)w ); - } -} - -void uiMenuInit( void ) -{ - - if ( menuIsInitialized || !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; - - guiApp.menu.x=0; - guiApp.menu.y=0; - - if ( ( menuDrawBuffer = calloc( 1,guiApp.menu.Bitmap.ImageSize ) ) == NULL ) - { -#ifdef DEBUG - mp_msg( MSGT_GPLAYER,MSGL_DBG2,MSGTR_NEMFMR ); -#endif - gtkMessageBox( GTK_MB_FATAL,MSGTR_NEMFMR ); - return; - } - - wsCreateWindow( &guiApp.menuWindow, - guiApp.menu.x,guiApp.menu.y,guiApp.menu.width,guiApp.menu.height, - wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsOverredirect|wsHideFrame|wsMaxSize|wsMinSize|wsHideWindow,"MPlayer menu" ); - - wsSetShape( &guiApp.menuWindow,guiApp.menu.Mask.Image ); - -#ifdef DEBUG - mp_msg( MSGT_GPLAYER,MSGL_DBG2,"menu: 0x%x\n",(int)guiApp.menuWindow.WindowID ); -#endif - - menuIsInitialized=1; - guiApp.menuWindow.ReDraw=uiMenuDraw; -// guiApp.menuWindow.MouseHandler=uiMenuMouseHandle; -// guiApp.menuWindow.KeyHandler=uiMainKeyHandle; - menuRender=1; wsPostRedisplay( &guiApp.menuWindow ); -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/mw.c --- a/gui/mplayer/mw.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,637 +0,0 @@ -/* - * main window - * - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include - -#include "config.h" -#include "gmplayer.h" -#include "gui/app.h" -#include "gui/skin/font.h" -#include "gui/skin/skin.h" -#include "gui/wm/ws.h" - -#include "help_mp.h" -#include "libvo/x11_common.h" -#include "libvo/fastmemcpy.h" -#include "libvo/wskeys.h" - -#include "stream/stream.h" -#include "stream/url.h" -#include "mixer.h" -#include "sub/sub.h" -#include "access_mpcontext.h" - -#include "libmpcodecs/vd.h" -#include "libmpdemux/demuxer.h" -#include "libmpdemux/stheader.h" -#include "codec-cfg.h" -#include "m_option.h" -#include "m_property.h" -#include "mp_core.h" -#include "mpcommon.h" - -#define GUI_REDRAW_WAIT 375 - -#include "play.h" -#include "widgets.h" - -unsigned int GetTimerMS( void ); - -unsigned char * mainDrawBuffer = NULL; -int uiMainRender = 1; - -int uiMainAutoPlay = 0; -int uiMiddleMenu = 0; - -int mainVisible = 1; - -int boxMoved = 0; -int sx = 0,sy = 0; -int i,pot = 0; - -#include "gui_common.h" - -void uiMainDraw( void ) -{ - - if ( guiApp.mainWindow.State == wsWindowClosed ) guiExit( EXIT_QUIT ); - - if ( guiApp.mainWindow.Visible == wsWindowNotVisible || - !mainVisible ) return; -// !guiApp.mainWindow.Mapped ) return; - - if ( uiMainRender && guiApp.mainWindow.State == wsWindowExpose ) - { - btnModify( evSetMoviePosition,guiInfo.Position ); - btnModify( evSetVolume,guiInfo.Volume ); - - fast_memcpy( mainDrawBuffer,guiApp.main.Bitmap.Image,guiApp.main.Bitmap.ImageSize ); - RenderAll( &guiApp.mainWindow,guiApp.mainItems,guiApp.IndexOfMainItems,mainDrawBuffer ); - uiMainRender=0; - } - wsPutImage( &guiApp.mainWindow ); -// XFlush( wsDisplay ); -} - -static unsigned last_redraw_time = 0; - -void uiEventHandling( int msg,float param ) -{ - int iparam = (int)param; - mixer_t *mixer = mpctx_get_mixer(guiInfo.mpcontext); - - switch( msg ) - { -// --- user events - case evExit: - guiExit( EXIT_QUIT ); - break; - - case evPlayNetwork: - gfree( (void **)&guiInfo.Subtitlename ); - gfree( (void **)&guiInfo.AudioFile ); - guiInfo.StreamType=STREAMTYPE_STREAM; - goto play; - case evSetURL: - gtkShow( evPlayNetwork,NULL ); - break; - - case evSetAudio: - if ( !guiInfo.demuxer || audio_id == iparam ) break; - audio_id=iparam; - goto play; - - case evSetVideo: - if ( !guiInfo.demuxer || video_id == iparam ) break; - video_id=iparam; - goto play; - - case evSetSubtitle: - mp_property_do("sub",M_PROPERTY_SET,&iparam,guiInfo.mpcontext); - break; - -#ifdef CONFIG_VCD - case evSetVCDTrack: - guiInfo.Track=iparam; - case evPlayVCD: - gtkSet( gtkClearStruct,0,(void *)guiALL ); - guiInfo.StreamType=STREAMTYPE_VCD; - goto play; -#endif -#ifdef CONFIG_DVDREAD - case evPlayDVD: - guiInfo.DVD.current_title=1; - guiInfo.DVD.current_chapter=1; - guiInfo.DVD.current_angle=1; -play_dvd_2: - gtkSet( gtkClearStruct,0,(void *)(guiALL - guiDVD) ); - guiInfo.StreamType=STREAMTYPE_DVD; - goto play; -#endif - case evPlay: - case evPlaySwitchToPause: -play: - - if ( ( msg == evPlaySwitchToPause )&&( guiInfo.Playing == 2 ) ) goto NoPause; - - if ( gtkSet( gtkGetCurrPlItem,0,NULL ) &&( guiInfo.StreamType == STREAMTYPE_FILE ) ) - { - plItem * next = gtkSet( gtkGetCurrPlItem,0,NULL ); - plLastPlayed=next; - uiSetFileName( next->path,next->name,STREAMTYPE_FILE ); - } - - switch ( guiInfo.StreamType ) - { - case STREAMTYPE_STREAM: - case STREAMTYPE_FILE: - gtkSet( gtkClearStruct,0,(void *)(guiALL - guiFilenames) ); - break; -#ifdef CONFIG_VCD - case STREAMTYPE_VCD: - gtkSet( gtkClearStruct,0,(void *)(guiALL - guiVCD - guiFilenames) ); - if ( !cdrom_device ) cdrom_device=gstrdup( DEFAULT_CDROM_DEVICE ); - uiSetFileName( NULL,cdrom_device,STREAMTYPE_VCD ); - if ( guiInfo.Playing != 2 ) - { - if ( !guiInfo.Track ) - guiInfo.Track=1; - guiInfo.DiskChanged=1; - } - break; -#endif -#ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - gtkSet( gtkClearStruct,0,(void *)(guiALL - guiDVD - guiFilenames) ); - if ( !dvd_device ) dvd_device=gstrdup( DEFAULT_DVD_DEVICE ); - uiSetFileName( NULL,dvd_device,STREAMTYPE_DVD ); - if ( guiInfo.Playing != 2 ) - { - guiInfo.Title=guiInfo.DVD.current_title; - guiInfo.Chapter=guiInfo.DVD.current_chapter; - guiInfo.Angle=guiInfo.DVD.current_angle; - guiInfo.DiskChanged=1; - } - break; -#endif - } - guiInfo.NewPlay=1; - uiPlay(); - break; -#ifdef CONFIG_DVDREAD - case evSetDVDSubtitle: - dvdsub_id=iparam; - goto play_dvd_2; - break; - case evSetDVDAudio: - audio_id=iparam; - goto play_dvd_2; - break; - case evSetDVDChapter: - guiInfo.DVD.current_chapter=iparam; - goto play_dvd_2; - break; - case evSetDVDTitle: - guiInfo.DVD.current_title=iparam; - guiInfo.DVD.current_chapter=1; - guiInfo.DVD.current_angle=1; - goto play_dvd_2; - break; -#endif - - case evPause: - case evPauseSwitchToPlay: -NoPause: - uiPause(); - break; - - case evStop: - guiInfo.Playing=guiSetStop; - uiState(); - guiInfo.NoWindow=False; - break; - - case evLoadPlay: - uiMainAutoPlay=1; -// guiInfo.StreamType=STREAMTYPE_FILE; - case evLoad: - gtkSet( gtkDelPl,0,NULL ); - gtkShow( evLoad,NULL ); - break; - case evLoadSubtitle: gtkShow( evLoadSubtitle,NULL ); break; - case evDropSubtitle: - gfree( (void **)&guiInfo.Subtitlename ); - guiLoadSubtitle( NULL ); - break; - case evLoadAudioFile: gtkShow( evLoadAudioFile,NULL ); break; - case evPrev: uiPrev(); break; - case evNext: uiNext(); break; - - case evPlayList: gtkShow( evPlayList,NULL ); break; - case evSkinBrowser: gtkShow( evSkinBrowser,skinName ); break; - case evAbout: gtkShow( evAbout,NULL ); break; - case evPreferences: gtkShow( evPreferences,NULL ); break; - case evEqualizer: gtkShow( evEqualizer,NULL ); break; - - case evForward10min: uiRelSeek( 600 ); break; - case evBackward10min: uiRelSeek( -600 );break; - case evForward1min: uiRelSeek( 60 ); break; - case evBackward1min: uiRelSeek( -60 ); break; - case evForward10sec: uiRelSeek( 10 ); break; - case evBackward10sec: uiRelSeek( -10 ); break; - case evSetMoviePosition: uiAbsSeek( param ); break; - - case evIncVolume: vo_x11_putkey( wsGrayMul ); break; - case evDecVolume: vo_x11_putkey( wsGrayDiv ); break; - case evMute: mixer_mute( mixer ); break; - - case evSetVolume: - guiInfo.Volume=param; - goto set_volume; - case evSetBalance: - guiInfo.Balance=param; -set_volume: - { - float l = guiInfo.Volume * ( ( 100.0 - guiInfo.Balance ) / 50.0 ); - float r = guiInfo.Volume * ( ( guiInfo.Balance ) / 50.0 ); - if ( l > guiInfo.Volume ) l=guiInfo.Volume; - if ( r > guiInfo.Volume ) r=guiInfo.Volume; -// printf( "!!! v: %.2f b: %.2f -> %.2f x %.2f\n",guiInfo.Volume,guiInfo.Balance,l,r ); - mixer_setvolume( mixer,l,r ); - } - if ( osd_level ) - { - osd_visible=(GetTimerMS() + 1000) | 1; - vo_osd_progbar_type=OSD_VOLUME; - vo_osd_progbar_value=( ( guiInfo.Volume ) * 256.0 ) / 100.0; - vo_osd_changed( OSDTYPE_PROGBAR ); - } - break; - - - case evIconify: - switch ( iparam ) - { - case 0: wsIconify( guiApp.mainWindow ); break; - case 1: wsIconify( guiApp.subWindow ); break; - } - break; - case evHalfSize: - btnSet( evFullScreen,btnReleased ); - if ( guiInfo.Playing ) - { - if ( guiApp.subWindow.isFullScreen ) - { - uiFullScreen(); - } - wsResizeWindow( &guiApp.subWindow, guiInfo.MovieWidth / 2, guiInfo.MovieHeight / 2 ); - wsMoveWindow( &guiApp.subWindow, 0, - ( wsMaxX - guiInfo.MovieWidth/2 )/2 + wsOrgX, - ( wsMaxY - guiInfo.MovieHeight/2 )/2 + wsOrgY ); - } - break; - case evDoubleSize: - btnSet( evFullScreen,btnReleased ); - if ( guiInfo.Playing ) - { - if ( guiApp.subWindow.isFullScreen ) - { - uiFullScreen(); - } - wsResizeWindow( &guiApp.subWindow, guiInfo.MovieWidth * 2, guiInfo.MovieHeight * 2 ); - wsMoveWindow( &guiApp.subWindow, 0, - ( wsMaxX - guiInfo.MovieWidth*2 )/2 + wsOrgX, - ( wsMaxY - guiInfo.MovieHeight*2 )/2 + wsOrgY ); - } - break; - case evNormalSize: - btnSet( evFullScreen,btnReleased ); - if ( guiInfo.Playing ) - { - if ( guiApp.subWindow.isFullScreen ) - { - uiFullScreen(); - } - wsResizeWindow( &guiApp.subWindow, guiInfo.MovieWidth, guiInfo.MovieHeight ); - wsMoveWindow( &guiApp.subWindow, 0, - ( wsMaxX - guiInfo.MovieWidth )/2 + wsOrgX, - ( wsMaxY - guiInfo.MovieHeight )/2 + wsOrgY ); - break; - } else if ( !guiApp.subWindow.isFullScreen ) break; - case evFullScreen: - if ( !guiInfo.Playing && !gtkShowVideoWindow ) break; - uiFullScreen(); - if ( guiApp.subWindow.isFullScreen ) btnSet( evFullScreen,btnPressed ); - else btnSet( evFullScreen,btnReleased ); - break; - - case evSetAspect: - switch ( iparam ) - { - case 2: movie_aspect=16.0f / 9.0f; break; - case 3: movie_aspect=4.0f / 3.0f; break; - case 4: movie_aspect=2.35; break; - case 1: - default: movie_aspect=-1; - } - wsClearWindow( guiApp.subWindow ); -#ifdef CONFIG_DVDREAD - if ( guiInfo.StreamType == STREAMTYPE_DVD || guiInfo.StreamType == STREAMTYPE_VCD ) goto play_dvd_2; - else -#endif - guiInfo.NewPlay=1; - break; - -// --- timer events - case evRedraw: - { - unsigned now = GetTimerMS(); - if ((now > last_redraw_time) && - (now < last_redraw_time + GUI_REDRAW_WAIT) && - !uiPlaybarFade) - break; - last_redraw_time = now; - } - uiMainRender=1; - wsPostRedisplay( &guiApp.mainWindow ); - wsPostRedisplay( &guiApp.playbarWindow ); - break; -// --- system events -#ifdef MP_DEBUG - case evNone: - mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[mw] event none received.\n" ); - break; - default: - mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[mw] unknown event received ( %d,%.2f ).\n",msg,param ); - break; -#endif - } -} - -void uiMainMouseHandle( int Button,int X,int Y,int RX,int RY ) -{ - static int itemtype = 0; - int i; - wItem * item = NULL; - float value = 0.0f; - - static int SelectedItem = -1; - int currentselected = -1; - - for ( i=0;i <= guiApp.IndexOfMainItems;i++ ) - if ( ( guiApp.mainItems[i].pressed != btnDisabled )&& - ( wgIsRect( X,Y,guiApp.mainItems[i].x,guiApp.mainItems[i].y,guiApp.mainItems[i].x+guiApp.mainItems[i].width,guiApp.mainItems[i].y+guiApp.mainItems[i].height ) ) ) - { currentselected=i; break; } - - switch ( Button ) - { - case wsPMMouseButton: - gtkShow( evHidePopUpMenu,NULL ); - uiShowMenu( RX,RY ); - itemtype=itPRMButton; - break; - case wsRMMouseButton: - uiHideMenu( RX,RY,0 ); - break; - - case wsPLMouseButton: - gtkShow( evHidePopUpMenu,NULL ); - sx=X; sy=Y; boxMoved=1; itemtype=itPLMButton; - SelectedItem=currentselected; - if ( SelectedItem == -1 ) break; - boxMoved=0; - item=&guiApp.mainItems[SelectedItem]; - itemtype=item->type; - item->pressed=btnPressed; - switch( item->type ) - { - case itButton: - if ( ( SelectedItem > -1 ) && - ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) || - ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) ) - { item->pressed=btnDisabled; } - break; - } - break; - case wsRLMouseButton: - boxMoved=0; - if ( SelectedItem != -1 ) // NOTE TO MYSELF: only if itButton, itHPotmeter or itVPotmeter - { - item=&guiApp.mainItems[SelectedItem]; - item->pressed=btnReleased; - } - SelectedItem=-1; - if ( currentselected == - 1 ) { itemtype=0; break; } - value=0; - switch( itemtype ) - { - case itPotmeter: - case itHPotmeter: - btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f ); - uiEventHandling( item->message,item->value ); - value=item->value; - break; - case itVPotmeter: - btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f ); - uiEventHandling( item->message,item->value ); - value=item->value; - break; - } - uiEventHandling( item->message,value ); - itemtype=0; - break; - - case wsRRMouseButton: - gtkShow( evShowPopUpMenu,NULL ); - break; - -// --- rolled mouse ... de szar :))) - case wsP5MouseButton: value=-2.5f; goto rollerhandled; - case wsP4MouseButton: value= 2.5f; -rollerhandled: - item=&guiApp.mainItems[currentselected]; - if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) ) - { - item->value+=value; - btnModify( item->message,item->value ); - uiEventHandling( item->message,item->value ); - } - break; - -// --- moving - case wsMoveMouse: - item=&guiApp.mainItems[SelectedItem]; - switch ( itemtype ) - { - case itPLMButton: - wsMoveWindow( &guiApp.mainWindow,False,RX - abs( sx ),RY - abs( sy ) ); - uiMainRender=0; - break; - case itPRMButton: - uiMenuMouseHandle( X,Y,RX,RY ); - break; - case itPotmeter: - item->value=(float)( X - item->x ) / item->width * 100.0f; - goto potihandled; - case itVPotmeter: - item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f; - goto potihandled; - case itHPotmeter: - item->value=(float)( X - item->x ) / item->width * 100.0f; -potihandled: - if ( item->value > 100.0f ) item->value=100.0f; - if ( item->value < 0.0f ) item->value=0.0f; - uiEventHandling( item->message,item->value ); - break; - } - break; - } -} - -int keyPressed = 0; - -void uiMainKeyHandle( int KeyCode,int Type,int Key ) -{ - int msg = evNone; - - if ( Type != wsKeyPressed ) return; - - if ( !Key ) - { - switch ( KeyCode ) - { - // NOTE TO MYSELF: This is only for the Acer AirKey V keyboard. - /*case wsXFMMPrev: msg=evPrev; break; - case wsXFMMStop: msg=evStop; break; - case wsXFMMPlay: msg=evPlaySwitchToPause; break; - case wsXFMMNext: msg=evNext; break; - case wsXFMMVolUp: msg=evIncVolume; break; - case wsXFMMVolDown: msg=evDecVolume; break; - case wsXFMMMute: msg=evMute; break;*/ - } - } - else - { - switch ( Key ) - { - case wsEnter: msg=evPlay; break; - case wsXF86LowerVolume: msg=evDecVolume; break; - case wsXF86RaiseVolume: msg=evIncVolume; break; - case wsXF86Mute: msg=evMute; break; - case wsXF86Pause: - case wsXF86Play: msg=evPlaySwitchToPause; break; - case wsXF86Stop: msg=evStop; break; - case wsXF86Prev: msg=evPrev; break; - case wsXF86Next: msg=evNext; break; - case wsXF86Media: msg=evLoad; break; - case wsEscape: - if ( guiApp.subWindow.isFullScreen ) - { - if ( guiInfo.event_struct ) ((XEvent *)guiInfo.event_struct)->type=None; - uiEventHandling( evNormalSize,0 ); - return; - } - default: vo_x11_putkey( Key ); return; - } - } - if ( msg != evNone ) uiEventHandling( msg,0 ); -} - -/* this will be used to handle Drag&Drop files */ -void uiDandDHandler(int num,char** files) -{ - struct stat buf; - int f = 0; - - char* subtitles = NULL; - char* filename = NULL; - - if (num <= 0) - return; - - - /* now fill it with new items */ - for(f=0; f < num; f++){ - char* str = strdup( files[f] ); - plItem* item; - - url_unescape_string(str, files[f]); - - if(stat(str,&buf) == 0 && S_ISDIR(buf.st_mode) == 0) { - /* this is not a directory so try to play it */ - mp_msg( MSGT_GPLAYER,MSGL_V,"Received D&D %s\n",str ); - - /* check if it is a subtitle file */ - { - char* ext = strrchr(str,'.'); - if (ext) { - static char supported[] = "utf/sub/srt/smi/rt//txt/ssa/aqt/"; - char* type; - int len; - if((len=strlen(++ext)) && (type=strstr(supported,ext)) &&\ - (type-supported)%4 == 0 && *(type+len) == '/'){ - /* handle subtitle file */ - gfree((void**)&subtitles); - subtitles = str; - continue; - } - } - } - - /* clear playlist */ - if (filename == NULL) { - filename = files[f]; - gtkSet(gtkDelPl,0,NULL); - } - - item = calloc(1,sizeof(plItem)); - - /* FIXME: decompose file name ? */ - /* yes -- Pontscho */ - if ( strrchr( str,'/' ) ) { - char * s = strrchr( str,'/' ); *s=0; s++; - item->name = gstrdup( s ); - item->path = gstrdup( str ); - } else { - item->name = strdup(str); - item->path = strdup(""); - } - gtkSet(gtkAddPlItem,0,(void*)item); - } else { - mp_msg( MSGT_GPLAYER,MSGL_WARN,MSGTR_NotAFile,str ); - } - free( str ); - } - - if (filename) { - uiSetFileName( NULL,filename,STREAMTYPE_FILE ); - if ( guiInfo.Playing == 1 ) uiEventHandling( evStop,0 ); - uiEventHandling( evPlay,0 ); - } - if (subtitles) { - gfree((void**)&guiInfo.Subtitlename); - guiInfo.Subtitlename = subtitles; - guiLoadSubtitle(guiInfo.Subtitlename); - } -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pb.c --- a/gui/mplayer/pb.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,265 +0,0 @@ -/* - * main window - * - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include - -#include "config.h" -#include "gui/app.h" -#include "gui/skin/font.h" -#include "gui/skin/skin.h" -#include "gui/wm/ws.h" - -#include "help_mp.h" -#include "mp_core.h" -#include "libvo/x11_common.h" -#include "libvo/fastmemcpy.h" - -#include "stream/stream.h" -#include "mixer.h" -#include "sub/sub.h" - -#include "libmpdemux/demuxer.h" -#include "libmpdemux/stheader.h" -#include "codec-cfg.h" - -#include "gmplayer.h" -#include "play.h" -#include "widgets.h" -#include "gui_common.h" - -unsigned int GetTimerMS( void ); -unsigned int GetTimer( void ); - -unsigned char * playbarDrawBuffer = NULL; -int playbarVisible = 0; -int playbarLength = 0; -int uiPlaybarFade = 0; - -static void uiPlaybarDraw( void ) -{ - int x; - - if ( !guiApp.subWindow.isFullScreen ) return; - if ( !playbarVisible || !guiApp.playbarIsPresent ) return; - -// guiApp.playbar.x=( guiApp.subWindow.Width - guiApp.playbar.width ) / 2; - switch( guiApp.playbar.x ) - { - case -1: x=( guiApp.subWindow.Width - guiApp.playbar.width ) / 2; break; - case -2: x=( guiApp.subWindow.Width - guiApp.playbar.width ); break; - default: x=guiApp.playbar.x; - } - - switch ( uiPlaybarFade ) - { - case 1: // fade in - playbarLength--; - if ( guiApp.subWindow.Height - guiApp.playbar.height >= playbarLength ) - { - playbarLength=guiApp.subWindow.Height - guiApp.playbar.height; - uiPlaybarFade=0; - vo_mouse_autohide=0; - } - wsMoveWindow( &guiApp.playbarWindow,0,x,playbarLength ); - break; - case 2: // fade out - playbarLength+=10; - if ( playbarLength > guiApp.subWindow.Height ) - { - playbarLength=guiApp.subWindow.Height; - uiPlaybarFade=playbarVisible=0; - vo_mouse_autohide=1; - wsVisibleWindow( &guiApp.playbarWindow,wsHideWindow ); - return; - } - wsMoveWindow( &guiApp.playbarWindow,0,x,playbarLength ); - break; - } - -// --- render - if ( guiApp.playbarWindow.State == wsWindowExpose ) - { - btnModify( evSetMoviePosition,guiInfo.Position ); - btnModify( evSetVolume,guiInfo.Volume ); - - vo_mouse_autohide=0; - - fast_memcpy( playbarDrawBuffer,guiApp.playbar.Bitmap.Image,guiApp.playbar.Bitmap.ImageSize ); - RenderAll( &guiApp.playbarWindow,guiApp.playbarItems,guiApp.IndexOfPlaybarItems,playbarDrawBuffer ); - wsConvert( &guiApp.playbarWindow,playbarDrawBuffer ); - } - wsPutImage( &guiApp.playbarWindow ); -} - -static void uiPlaybarMouseHandle( int Button, int X, int Y, int RX, int RY ) -{ - static int itemtype = 0; - int i; - wItem * item = NULL; - float value = 0.0f; - - static int SelectedItem = -1; - int currentselected = -1; - - for ( i=0;i <= guiApp.IndexOfPlaybarItems;i++ ) - if ( ( guiApp.playbarItems[i].pressed != btnDisabled )&& - ( wgIsRect( X,Y,guiApp.playbarItems[i].x,guiApp.playbarItems[i].y,guiApp.playbarItems[i].x+guiApp.playbarItems[i].width,guiApp.playbarItems[i].y+guiApp.playbarItems[i].height ) ) ) - { currentselected=i; break; } - - switch ( Button ) - { - case wsPMMouseButton: - gtkShow( evHidePopUpMenu,NULL ); - uiShowMenu( RX,RY ); - break; - case wsRMMouseButton: - uiHideMenu( RX,RY,0 ); - break; - case wsRRMouseButton: - gtkShow( evShowPopUpMenu,NULL ); - break; -// --- - case wsPLMouseButton: - gtkShow( evHidePopUpMenu,NULL ); - SelectedItem=currentselected; - if ( SelectedItem == -1 ) break; // yeees, i'm move the fucking window - item=&guiApp.playbarItems[SelectedItem]; - itemtype=item->type; - item->pressed=btnPressed; - - switch( item->type ) - { - case itButton: - if ( ( SelectedItem > -1 ) && - ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) || - ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) ) - { item->pressed=btnDisabled; } - break; - } - - break; - case wsRLMouseButton: - if ( SelectedItem != -1 ) // NOTE TO MYSELF: only if itButton, itHPotmeter or itVPotmeter - { - item=&guiApp.playbarItems[SelectedItem]; - item->pressed=btnReleased; - } - SelectedItem=-1; - if ( currentselected == - 1 ) { itemtype=0; break; } - value=0; - - switch( itemtype ) - { - case itPotmeter: - case itHPotmeter: - btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f ); - uiEventHandling( item->message,item->value ); - value=item->value; - break; - case itVPotmeter: - btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f ); - uiEventHandling( item->message,item->value ); - value=item->value; - break; - } - uiEventHandling( item->message,value ); - - itemtype=0; - break; -// --- - case wsP5MouseButton: value=-2.5f; goto rollerhandled; - case wsP4MouseButton: value= 2.5f; -rollerhandled: - item=&guiApp.playbarItems[currentselected]; - if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) ) - { - item->value+=value; - btnModify( item->message,item->value ); - uiEventHandling( item->message,item->value ); - } - break; -// --- - case wsMoveMouse: - item=&guiApp.playbarItems[SelectedItem]; - switch ( itemtype ) - { - case itPRMButton: - uiMenuMouseHandle( X,Y,RX,RY ); - break; - case itPotmeter: - item->value=(float)( X - item->x ) / item->width * 100.0f; - goto potihandled; - case itVPotmeter: - item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f; - goto potihandled; - case itHPotmeter: - item->value=(float)( X - item->x ) / item->width * 100.0f; -potihandled: - if ( item->value > 100.0f ) item->value=100.0f; - if ( item->value < 0.0f ) item->value=0.0f; - uiEventHandling( item->message,item->value ); - break; - } - break; - } -} - -void uiPlaybarShow( int x, int y ) -{ - if ( !guiApp.playbarIsPresent || !gtkEnablePlayBar ) return; - if ( !guiApp.subWindow.isFullScreen ) return; - - if ( y > guiApp.subWindow.Height - guiApp.playbar.height ) - { - if ( !uiPlaybarFade ) wsVisibleWindow( &guiApp.playbarWindow,wsShowWindow ); - uiPlaybarFade=1; playbarVisible=1; wsPostRedisplay( &guiApp.playbarWindow ); - } - else if ( !uiPlaybarFade ) uiPlaybarFade=2; -} - -void uiPlaybarInit( void ) -{ - if ( !guiApp.playbarIsPresent ) return; - - gfree( (void**)&playbarDrawBuffer ); - - if ( ( playbarDrawBuffer = malloc( guiApp.playbar.Bitmap.ImageSize ) ) == NULL ) - { - gmp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_NEMDB ); - guiExit( EXIT_ERROR ); - } - - guiApp.playbarWindow.Parent=guiApp.subWindow.WindowID; - wsCreateWindow( &guiApp.playbarWindow, - guiApp.playbar.x,guiApp.playbar.y,guiApp.playbar.width,guiApp.playbar.height, - wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsHideFrame|wsHideWindow,"PlayBar" ); - - wsSetShape( &guiApp.playbarWindow,guiApp.playbar.Mask.Image ); - - guiApp.playbarWindow.ReDraw=(void *)uiPlaybarDraw; - guiApp.playbarWindow.MouseHandler=uiPlaybarMouseHandle; - guiApp.playbarWindow.KeyHandler=uiMainKeyHandle; - - playbarLength=guiApp.subWindow.Height; -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/a11.xpm --- a/gui/mplayer/pixmaps/a11.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -/* XPM */ -static const char * const a11_xpm[] = { -"18 16 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ", -" ", -" ................ ", -"..++++++++++++++..", -".+..............+.", -".+...+...+...+..+.", -".+..++......++..+.", -".+...+.......+..+.", -".+...+.......+..+.", -".+...+...+...+..+.", -".+..............+.", -"..++++++++++++++..", -" ................ ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/a169.xpm --- a/gui/mplayer/pixmaps/a169.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -/* XPM */ -static const char * const a169_xpm[] = { -"18 16 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ", -" ", -" ................ ", -"..++++++++++++++..", -".+..............+.", -".+..+.+++.+.+++.+.", -".+.++.+.....+.+.+.", -".+..+.+++...+++.+.", -".+..+.+.+.....+.+.", -".+..+.+++.+.+++.+.", -".+..............+.", -"..++++++++++++++..", -" ................ ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/a235.xpm --- a/gui/mplayer/pixmaps/a235.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -/* XPM */ -static const char * const a235_xpm[] = { -"18 16 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ", -" ", -" ................ ", -"..++++++++++++++..", -".+..............+.", -".+..++..+.++.++.+.", -".+.+..+....+.+..+.", -".+...+....++.++.+.", -".+..+......+..+.+.", -".+.++++.+.++.++.+.", -".+..............+.", -"..++++++++++++++..", -" ................ ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/a43.xpm --- a/gui/mplayer/pixmaps/a43.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -/* XPM */ -static const char * const a43_xpm[] = { -"18 16 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ", -" ", -" ................ ", -"..++++++++++++++..", -".+..............+.", -".+...++..+.++...+.", -".+..+.+......+..+.", -".+..+.+....+++..+.", -".+..++++.....+..+.", -".+....+..+.+++..+.", -".+..............+.", -"..++++++++++++++..", -" ................ ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/ab.xpm --- a/gui/mplayer/pixmaps/ab.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* XPM */ -static const char * const ab_xpm[] = { -"16 16 15 1", -" c None", -". c #000000", -"+ c #EEF63E", -"@ c #EAF13D", -"# c #F0F83F", -"$ c #CBD235", -"% c #E9F03D", -"& c #E5EC3C", -"* c #E8F03D", -"= c #ABB02D", -"- c #ECF33E", -"; c #EFF73F", -"> c #CED636", -", c #B4BA2F", -"' c #CDD435", -" ", -" ", -" ", -" ", -" . ", -" .+. ", -" ..@#$.. ", -" .######%. ", -" .####&. ", -" .*###=. ", -" .#-.;>. ", -" .,. .'. ", -" . . ", -" ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/about.xpm --- a/gui/mplayer/pixmaps/about.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,427 +0,0 @@ -/* XPM */ -static const char * const about_xpm[] = { -"320 170 254 2", -" c None", -". c #070707", -"+ c #131313", -"@ c #151515", -"# c #0C0C0C", -"$ c #040404", -"% c #010101", -"& c #060606", -"* c #0D0D0D", -"= c #050505", -"- c #1B1B1B", -"; c #0E0E0E", -"> c #1C1C1C", -", c #3B3B3B", -"' c #2B2B2B", -") c #121212", -"! c #323232", -"~ c #5B5B5B", -"{ c #3F3F3F", -"] c #0B0B0B", -"^ c #111111", -"/ c #424242", -"( c #434343", -"_ c #222222", -": c #020202", -"< c #202020", -"[ c #4D4D4D", -"} c #2C2C2C", -"| c #030303", -"1 c #464646", -"2 c #414141", -"3 c #0F0F0F", -"4 c #0A0A0A", -"5 c #101010", -"6 c #161616", -"7 c #3A3A3A", -"8 c #505050", -"9 c #181818", -"0 c #565656", -"a c #3E3E3E", -"b c #313131", -"c c #474747", -"d c #3C3C3C", -"e c #494949", -"f c #333333", -"g c #2D2D2D", -"h c #212121", -"i c #515151", -"j c #555555", -"k c #282828", -"l c #232323", -"m c #343434", -"n c #454545", -"o c #2F2F2F", -"p c #272727", -"q c #1A1A1A", -"r c #4B4B4B", -"s c #000000", -"t c #252525", -"u c #373737", -"v c #242424", -"w c #080808", -"x c #090909", -"y c #141414", -"z c #363636", -"A c #404040", -"B c #393939", -"C c #1E1E1E", -"D c #353535", -"E c #383838", -"F c #1D1D1D", -"G c #292929", -"H c #171717", -"I c #2A2A2A", -"J c #262626", -"K c #525252", -"L c #545454", -"M c #303030", -"N c #484848", -"O c #2E2E2E", -"P c #1F1F1F", -"Q c #3D3D3D", -"R c #4C4C4C", -"S c #535353", -"T c #191919", -"U c #4F4F4F", -"V c #444444", -"W c #616161", -"X c #5C5C5C", -"Y c #4A4A4A", -"Z c #585858", -"` c #5D5D5D", -" . c #646464", -".. c #626262", -"+. c #5A5A5A", -"@. c #606060", -"#. c #595959", -"$. c #6A6A6A", -"%. c #676767", -"&. c #4E4E4E", -"*. c #848484", -"=. c #5E5E5E", -"-. c #5F5F5F", -";. c #636363", -">. c #666666", -",. c #686868", -"'. c #696969", -"). c #6E6E6E", -"!. c #656565", -"~. c #757575", -"{. c #7A7A7A", -"]. c #797979", -"^. c #7E7E7E", -"/. c #707070", -"(. c #6B6B6B", -"_. c #6F6F6F", -":. c #727272", -"<. c #575757", -"[. c #747474", -"}. c #737373", -"|. c #717171", -"1. c #888888", -"2. c #6D6D6D", -"3. c #A6A6A6", -"4. c #A0A0A0", -"5. c #828282", -"6. c #777777", -"7. c #7B7B7B", -"8. c #7C7C7C", -"9. c #858585", -"0. c #939393", -"a. c #7D7D7D", -"b. c #A4A4A4", -"c. c #AEAEAE", -"d. c #989898", -"e. c #818181", -"f. c #808080", -"g. c #787878", -"h. c #838383", -"i. c #6C6C6C", -"j. c #767676", -"k. c #909090", -"l. c #8D8D8D", -"m. c #9E9E9E", -"n. c #A9A9A9", -"o. c #AAAAAA", -"p. c #969696", -"q. c #7F7F7F", -"r. c #898989", -"s. c #8F8F8F", -"t. c #9F9F9F", -"u. c #A3A3A3", -"v. c #A2A2A2", -"w. c #929292", -"x. c #868686", -"y. c #959595", -"z. c #878787", -"A. c #949494", -"B. c #8A8A8A", -"C. c #9A9A9A", -"D. c #979797", -"E. c #919191", -"F. c #8C8C8C", -"G. c #8B8B8B", -"H. c #8E8E8E", -"I. c #A1A1A1", -"J. c #9B9B9B", -"K. c #A5A5A5", -"L. c #999999", -"M. c #A7A7A7", -"N. c #9D9D9D", -"O. c #B0B0B0", -"P. c #CECECE", -"Q. c #D0D0D0", -"R. c #C8C8C8", -"S. c #BDBDBD", -"T. c #ABABAB", -"U. c #ADADAD", -"V. c #B2B2B2", -"W. c #CFCFCF", -"X. c #C1C1C1", -"Y. c #CCCCCC", -"Z. c #E4E4E4", -"`. c #D8D8D8", -" + c #C0C0C0", -".+ c #D4D4D4", -"++ c #E5E5E5", -"@+ c #E7E7E7", -"#+ c #E3E3E3", -"$+ c #E2E2E2", -"%+ c #DFDFDF", -"&+ c #D3D3D3", -"*+ c #CDCDCD", -"=+ c #E9E9E9", -"-+ c #EFEFEF", -";+ c #EEEEEE", -">+ c #EBEBEB", -",+ c #DDDDDD", -"'+ c #9C9C9C", -")+ c #CBCBCB", -"!+ c #E6E6E6", -"~+ c #ECECEC", -"{+ c #F4F4F4", -"]+ c #F6F6F6", -"^+ c #F5F5F5", -"/+ c #F3F3F3", -"(+ c #F2F2F2", -"_+ c #EDEDED", -":+ c #EAEAEA", -"<+ c #C5C5C5", -"[+ c #CACACA", -"}+ c #D6D6D6", -"|+ c #C7C7C7", -"1+ c #B8B8B8", -"2+ c #B9B9B9", -"3+ c #BEBEBE", -"4+ c #B5B5B5", -"5+ c #B6B6B6", -"6+ c #F1F1F1", -"7+ c #D9D9D9", -"8+ c #DADADA", -"9+ c #C3C3C3", -"0+ c #BCBCBC", -"a+ c #AFAFAF", -"b+ c #ACACAC", -"c+ c #D5D5D5", -"d+ c #DBDBDB", -"e+ c #E0E0E0", -"f+ c #E8E8E8", -"g+ c #F0F0F0", -"h+ c #F7F7F7", -"i+ c #E1E1E1", -"j+ c #F8F8F8", -"k+ c #F9F9F9", -"l+ c #DCDCDC", -"m+ c #D1D1D1", -"n+ c #C2C2C2", -"o+ c #B4B4B4", -"p+ c #FAFAFA", -"q+ c #FBFBFB", -"r+ c #D2D2D2", -"s+ c #C9C9C9", -"t+ c #BBBBBB", -"u+ c #B1B1B1", -"v+ c #B7B7B7", -"w+ c #DEDEDE", -"x+ c #BABABA", -"y+ c #D7D7D7", -"z+ c #C4C4C4", -"A+ c #B3B3B3", -"B+ c #A8A8A8", -"C+ c #BFBFBF", -"D+ c #C6C6C6", -"E+ c #FFFFFF", -". + @ # $ % % % & * = # - ; > , ' ) ! ~ { - ] % ^ / ( _ - : < [ } | % % % ; 1 2 % | ; 3 4 5 6 > - 7 8 9 } 0 < < a % & b c # d e 5 f c g b | 9 8 h h i 4 % % % h j k % % % % % : # l m n 4 & o p : p _ % % : & # d a % % % % % % % % % % % % % % % % % % : q r % % % % % % s : t . ; d u v v > & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % : : = . & = | : % : % % % % % % % % % % % % : | : : % % % % % % % % % : | | $ = w x w $ $ | : : : : | x y _ } f z , A / B g p > ^ w & * C ' D 7 E b } p F 3 $ | : = # 9 v G m E E z E ! z B D f } _ q > H 5 ] | % s % % : & - I f m g p - x : % % 3 H @ + 5 ] . | : | & ) < J ' z , A 1 e } ", -"= 5 5 4 $ % % % % % % % % . 6 9 6 h K , | | % % = @ l 5 : y ! r L A ^ % & J r u $ & M z x x ; ) _ { v H ( v y d h % 6 ( I 9 N < q K f # $ % F n < D O % % % P N l % % % % % : > f ; 7 Q . G m , l N n % | 9 f m R C % % % % % % & 3 ) 3 % : : % % % % % % = y % % % % % : 9 N . s # [ S P f r k % % | h K % % % % % % % % | 5 * & % % % % % % % % % % % % % % % % | = # T C P > + 5 w % % % % % % % % : & 4 # 3 ; 3 # & % % % % % % % = . 4 ] * ^ 6 C > T 9 H 9 @ 4 $ : | = 3 - G M 7 A e r ( ! } < ^ x x + h m , B z M ' J C 3 | | ] q k ! 7 / R 8 K U e c V V 2 A u I _ l F @ 5 ] % % % % % : 3 > p M k v y . : % s . ] # # x & : % : $ ] y P p O 7 V N R r k ", -"| 4 ] = : % % % % % % s % = y H H d W } $ % % : : : : : . n / . ^ r a 4 : * H @ . & , Q * $ . 4 J O . G f | _ 2 C = } n M / l % ' X ' 3 ; % P E t 6 : % % l z 5 w # % % % % > d q P Y T % @ A Q J 2 p : _ { ) - A | % % % % % 5 h h N d % C ( u l < C % y C . % : : : | h Y 6 s s + j M % % g Z ) % : @ O % % % % : : : : 4 / X a $ w 7 i v ] - : % % % : : : : : $ v O t } o M g I - x : : : : : : | ] q P h < q q @ # | % % : $ ] + F v G k t ' O M o g ' I ' p < y 4 = $ x ) C k E V U S r B O C ^ x . ^ l f B E m } I _ q ] = ) v b Q V Y L X ` ...+.i 8 R e n E g G J < q ^ x : % % : % % = * F l < q + & : % % : : : | % % % : | 4 y C t k b d ( N R R J ", -"$ . & : % % % % % % % % : & ] ) g ( Y } . % % % % % % % % M B ; w / } : % % % % % 3 } > % : | % $ = % # ] % + - $ # / R l . % % h N ! H . = d i C | % : o 8 2 b ! q % % % = d d ) e 7 % % O 1 H ' B = H 1 ' % I O % % % % % 6 D - h 1 q P m o O 3 , O 9 2 N H % % % % y / ! % % : I S H % % - X ' % | % : % % % % % % % % % 5 L z s 3 a < . . F T % % % % % % : 3 7 m @.#.e f e +.[ k T = | | | | | 4 > I k k t h F @ . : | . + > I b u u d A 1 N e / / 2 Q , B z D ' < y x . ] 5 C M Q 8 ~ j ( M < 5 & : # _ g ! m } G t > 5 4 - O d e S Z Z +.@. .$.%.W ~ j &.c 2 B O t < > H # x w . . | % % | = ) H 9 H 3 = % % % % % % % % % % = # y P G o M m Q n e e N G ", -"$ ] w | : % % % % % % % % | $ 4 # 4 = | % % % % % % % % % % @ P h ] : % % % % % % 5 = % % % % % % % % % s s s s s b n ) s % % % = ; 3 % * D m A i ! & 6 E / / 1 ' ] : : % 3 ( A o S a # - 1 J - V M = u A # C , q % % % % ] B g ^ 1 f = q M ! + q u ) C 0 Q w % % % | m e 3 % % 5 c 2 : % % k Z l & I u 3 & J D h 6 q = % % x Q n T E 6 % % % P B % % % % % % # u B @ B R c D 0 *.~ b _ y w | | & x T G ' G t l v T * $ = ^ v o E { N U R S 0 ~ @.=.0 8 &.U r r Y e a f t > @ ^ ] ^ k Q i -.#.1 m P # $ | x q t G ' p p C ) ] 6 b ( R #.;.>.,.>.,.'.).'.!.;.X i V A D } J h F H 5 5 ) ^ ; w | : : : & w w ] & % % % % % % % % % % % ] H h p O D z E a / n / A < ", -"= * 4 | : % % % % % % % % % | | : % % % s s % % % % % % % % % % % % % % % % % % % % % % % % % % % % s s s s s s ) r 1 * % : : % % % % % > X P % k X < % : = 4 3 w % % % % w J C y m < % I E 4 ' 2 _ 5 A b 3 1 c O 5 % % % h N g f 8 t % % { g % z } % u [ 9 % % % % @ R M % % % h [ J % % & , R - J L e h k ! z h J Q * % % % ' X a 5 % % % % I c & $ | | : s l Y q x ^ P } z -.~.{ M v y # | | & ; _ k _ l _ l l H . # ! >.{.=.U Z .].^./.(._.:.)...X =.` +.` @.@.<.r u G J C ) 5 F E &.Z +.e } 6 . : % | ) > C _ h > y 4 ) p , Y 0 .).[.}.|.:./.}._.,...Z R A u M I } p h F q q 9 H y * & : % % % % % % % % % % % % % % % % % & @ > J M D Q a { { { Q d E T ", -"| 3 ; | : % % % % % % % % % : : % % % % % % % % % % % % % % % % % % % % s % % % % % % % % % % % % % % % % % % % J o u # % : : : | | | | ] B l ] J B 5 | | $ $ $ | | : : : : % % % % : % & w % ; 6 . ] G z ^ p f ; % % % % h A I u c I & 5 1 > J ' . 9 i 2 q & % % % J r C % : : , / 5 % % h i M | o +.I q _ d f % f 7 = % % | J j ' = w ; 5 5 a L h ^ ) ) 3 - R r 6 ) f G q 7 ,.Z M p C 6 4 | | = ; > - - q q q q # x 9 E /.1.2. ._.*.3.4.5.6.].6.[. .@.=.=.W %._.[.|.;.[ d b p C @ @ J A R U Q v # : : : : . 3 y 6 5 ] . 3 v D V K @.).].7.8.~.~.:.:.).,.X K 1 , m g ' k p p J h v h C 9 5 . : % % % s s % % % % % % % % % s % : w ) P G m a a { a 7 u o g p ) ", -"$ 3 * | % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % : : : : : | | = . w ] 3 6 F J p P ^ @ y 5 3 + 9 6 ) 5 * # * x x 4 & = | % % : $ 3 P t v < C T 4 | % % % % 4 y . @ v w % ] M ! @ = % P N O y & % % % G ( 6 & x H K E $ % _ N 7 ; y L [ C ; h / < * , P % % w } u S e < F t v J X +.} _ l < h f 0 g F Q +.E ] d ~ z h l b #.E : # f S O ) ^ 3 3 ; ] x H g &.9.0.a.6.1.b.c.d.e.^.a.7.:.$...=.` ;.,.6.e.f.{.%.i Q b ' h @ 6 g { a f > $ % : = ] ; + . = $ $ = > M A &.=.(.g.h.5.^.{.g./.).'.=.S e 7 } I t t J G g G G ' G J P y # : % % % % % % % % % % % % % % % % : & * C } z { 2 A Q B M v F y & ", -"$ 3 ] | % : % % % % % % % % % % % : : : : : % s % % % % % % % % % % % % % % % : : % % % : : % % % : % % % : : : $ . ] 5 9 > - H @ q C - T H - q C l h C F > C < v G G t t > 3 3 y q 6 @ ; # # q ' o f D ! } k C 5 : % % % % % % % : % : % : s % % % & 5 4 % % % % : - { H * H Q [ V f ' E M 4 # z !.[ z @ D c H E p & : ; D m 9 8 i.A ! f z e j.<.u z m E E #.` m l L ~ l ] Y , + ^ / ! { z : m o J q w w . . x x 9 G R !.{.k.1.l.m.n.o.p.*.q.7.a.j._.,...W W ,.[.8.f.f.j...S { o p T ] H O o I H $ % : @ &.[ @ : : : | ; p B N +.%.j.e.r.r.h.e.].:.$.=.K ( u J - T q F v G } g ! B D M I _ T x : % % % : : % % % % % % % % % % % % . - k m 7 A { 7 m p - 5 $ % ", -"$ ] & % % : % % % % % % % % % % % % % % % % % % % s s % % % % % % % % % % % % % % % % % % % % % : : % : | = & ] ) > k p v C F - < < q @ y + @ 6 > C h - @ @ 6 > p g } ' G F - C P p J t g ' J _ P l O m 7 E f k - = : % % % % s % % % % % % % % % : : : : % % % % : | 1 6 # 3 + @ 9 C F ; $ ] ^ o &.z - ^ O { ! h & : T n E t I c {.Z A a A $.[.&.V a / n e ].` f ( ).{ ) } U H | g r E _ w % m A y = | | $ $ w y I D !.W j.d.s.t.d.u.v.1.{.j.7.^.w.p.].i.x.j.2.*.q.j.q.h.:.%.0 2 O F ] . H ' m + : % % 5 n M : : | : = q f n S @.2.].h.9.9.h.f.j.(.-.&.2 b > * & $ . + F G g f E { V , m g v 9 & : % % % % % % % % % % % % % % % : & T J ! E a Q u g _ 9 ] : s ", -": $ : % % % % % % % % % % % % % % % % % % % % s % % % % % % % % % % % % % % % s s s % % % % % : : $ . # y ) + q F _ t F 9 F _ t h > - 6 y - P _ h < v < q 9 T < ' g t < > @ ^ @ h t l h h _ < P < t l h _ p I k P * & $ | : : % % % % $ & ; ^ ) y ) 5 5 ^ * & $ % : | ( 5 * ; # # ] 4 | = & ] ) q C - + # * ; ) $ : & v d D M 7 ` ).6.Z e ` e.-.R e c Y Y !.e.i Q ,._.j v 0 &.p % n S ^ : % % @ K h : : | = & # _ ! N '.@.f.v.b.y.z.m.s.:.$.7.{.,.s.h.~.g.A.*.6.p.f.'.{.m.5.q.z.+.B v ^ $ @ c 8 m C w % ' V 9 % % : | 3 k A K -.(.[.].8.8.{.{.j.i.-.i a G ^ $ % % : : # T I D A ` [.` e 2 u O P * : % % % % % % % % % % % % % % % : & H l b z Q d u ' _ H x % s ", -"% % % % % % % % % % % % % % % % % s s s s % % % % % % : | % % % % % % % % % % s % % : | : $ = w * 6 < v F q _ G h H y + y < G v - ) ; ; ; + > J p k ' p l v l v < P < q H y + q _ J v h _ q ^ ) P J v v h P > H > _ > T @ ] . = = x 3 H C p M O o g k _ > q 9 ; & $ $ * @ ; y @ ^ 3 ; & = . ] ^ H q T + x w . | : = * - I f Q ( N [ L 0 ..1.i.K &.Y R e r g.~.j r ).$.1 ' +.e k % 1 [ < J $ g | L T u } w $ w q } B $.!.` B.n.y.].{.C.|.#.!.q.j $.h. .@.'.D.z.].E.2... .F.z.g.5.~ A k ) = 9 #.E { 0 9 : N D . % % y v r e 1 (.g./.*.^.{.[.|.(.!.` &.a p * : % s % % : $ @ I u a (.h...j R 2 m k H = % % % % % % % % % % % % % % % : & 9 v ! 7 ( 2 7 o J q 5 = : ", -": % : % % % % % % % % % % % % % % s s s s % % % % * t l . s % % % % s s % % % : : | $ $ . x ) F l J P H T C t l C 6 y + 9 < _ P F H ) ^ @ > t b } 9 3 ; 5 6 F h l l t _ h P h J ' G C T - C y @ - < C < t I b G h v p J p v F ) 3 F G E a V N V ( { 7 b g t v > ) . = = 4 ; + 6 ) 5 ; x . # 5 ) y @ y # | = | % $ * C G z / 1 [ j j #.(.z.2.Z L K Y X &.0 x.#.K S S 8 2 B E k # : C o < % % O m I | r ! = = @ p z e r.;...G.p._.=.{.H.8 V j.W [ e.$.&.K ^.z.>.x.a.-.#.0 g.5./.$.[ f h ; % l 8 3 O +.+ q S 6 % % M 9 l ..( &.g.A.~.m.0.].j.5.w.8.S [ =.} ' ; % ; 6 w : | 5 p B N ^.j.` -.<.R Q O F 4 % % % % % % % % % % % % % % % % . 6 E <.N n n n , b G P y . ", -"$ = % % % % % % % % % % % % % % % s s s % % % % % 9 S V % % % % % % : % % % : : | = . 4 * y P J h F T > v G ' p > y + H P l k o o p l P _ t t p _ 6 + @ y T l I < H 6 5 ; 5 F k I p h P _ J q F k v v q + @ H @ H F h h P t < 9 9 _ t m c #.X Z j R 1 / d D ! O P + 4 $ | w * * # # # x ] * 4 * 4 * 4 & | | : $ 5 C ' z Q n U K #.X =.2.W #.L 8 Y V 2.=.|.` i i S K r / u p 6 4 % % s % % s s : | s ^ ] % . q l a =./.2.X ~.@.S ~ }.j.r , j. .-.5.i.i S F.W >.l.[.X L L ~.8.>.V B v 5 | % 2 , | r d | d d w s I u $ n i b Y <.E.[.l.x.j.l.r.r.^.;.<.i.8 1 5 y D Z k & : 5 k 7 %.9.[.5.g...K 2 m F ^ : : % % % % % % % % % % % % % : = y D R A 2 N e V a D o G ) ", -"= ^ | % % % % % & G h w C ^ : # & % % H g = % % % > c P % % % % % | | | . . 4 * # x ; H F < C + 5 3 ) - p G P y ; ; 6 < J P _ < @ 3 ; ) _ g O G t k l h v v l t l > ) 3 + 9 v J t _ P T @ H C p k < v t l k t 9 6 > t J J G J h h F T F _ u R X ;.=.L S e c A Q ! p 6 4 $ $ x x ] x ] . w 4 . = : | % % % % & 3 C } u 2 c U <.` @.-.` ` <.U r n A a ( 8 U [ U &.U R ( 7 M h ; : % % % % % % % % % % s s s : ) > } z ( i j 0 K e 1 V n V a =.=.8 |.;.N ..i.e !.6...#.S [ {.[.L B p @ = % # Z > z / 3 . +.G & . Z + P X ' l z N k.6.x.[.8.I.9.h.;.i #.$.m 9 x E c o F @ ] q O / *.r.{.J.e.` U &.{ ( 0 ^ : M u k H F & s * H ] | : % % : x q v M E A c R e 2 a z @ ", -"& y w % % % % w q V 2 k K E q j m $ J i <.8 , ; = 7 V x | : = $ : $ x 3 ^ ^ + + ; * 5 @ P q + ) ) 6 t G < 6 6 T > P p j :.<.< y I Y o - k M G - + # # ) < ' g O ' k _ l } M g I ' v T 4 x ] T _ v t G I g ' J _ p t k G G J v F + ^ H < J k _ J g E c Z +.<.i r c d } 9 4 : : : | | : | = & $ : % % % s % : * P o u { V [ 0 ~ -.` ~ <.&.c { , u ! f ! z 2 r 8 i R r / u } 6 = % % % % % % % % % % % s s s % x 5 - G E N S 8 R n E G G ! 2 [ S j j 0 8 e { Q n e 1 [ R r *.!.f ' q 4 $ % I <.O g ; % > j ! P C ~ I , X p P ! c k.8.6.).l.u.~. .~ [ |.<.@ 4 5 b '.f O I J o a ~ p.f.(.C._.U #.W k &.E * u l 1 ) p A . 3 M i 7 # = $ : : C E p _ ( K V U U d Q D 6 ", -"& @ 4 % % % % : 6 r Q M 8 { D R p > Y (.Y ` _.f k S 7 v l p O , 8 g 3 1 A P z p ^ ^ T _ - T F F > T F G g h P v l J < z $.i G l 2 U O p I _ y # x x * @ J o h C < + @ } V E l > k o p 9 q - _ v v J - q t q ; 3 @ _ g M O G J _ P 9 @ > p l > H C F q < f V ` W ` S 2 o H | % % % % % % % % % % % : : % % = 9 I D a V e K <.Z ~ <.8 r A E o p v l v t } u 1 R i &.e ( , G + | % % % % % % % % % % % s s s % % $ ) v z N e [ e { ! P _ ! 1 i 0 #.~ #.L e m ! u a %.Z <.#.-.d f ' h * $ : 0 ' + % % % ; g 3 % y Q 6 v 1 + 9 O R H.g.,.2.H.I.6.5.#.@.f.f + ; _ k !.S m u z { r g.l.!.(.k.j R j.u b ` 3 @ } ! m : D M 4 ( f { Q C - T + G 2 =.> _ K ..R '.$.2 !. .q ", -"x H 5 : s % s s M c @ m K _ ! B ' ! ,.}.i ~.8.r W !./ a c W r <.W ' b i &.I 0 a @ J 2 $.V > 7 j i 0 , I h 5 ; ^ C O o M ` R T m A ! k P t p F F q > _ p o o < ^ * # 3 ( ).j O ' 8 ).n v } O ' k J t p p } C 5 5 H F t O k I O p C v J k M p C q C F H - - < B Z $.%.S A I ; % % % % % % % % % % s : : : : 3 t b a / r K Z #.#.<.K e 2 m I C y @ T T > J g { e R [ r N A g y | % % % % % % % % % % % s s s s s % * C b 2 c [ e ( f h _ o a N i <.~ #.i 1 M g z ( 2.(.-.+.Y 1 2 7 b C ; ' X 5 % % % % % % % % % % : $ w : 6 G ~ 6.` X %.{.G.h.@.<.$.,.h ^ * f A ` R D , d / L H._.#.q.)./ +...< U e = ] 9 @.^ . 8 * v X l D t o m b o ' .Y # * / j a @.` i .0 q ", -"4 > 5 : : % % . r h 3 [ } ) 8 7 7 R 9.).'.s.[. .G._.L K ^.%.Z ^.~ f g M j p r O 9 S 1 i u p { Z X a - 5 * x x ; P O ' C &.K e m P ' o g , a p t ' } l P } m o } h + y D 2.S M t 2 ! ) 5 H < J p J o } g M F H _ O G g M t q 6 ; * y F k ' I p _ h > + @ q v G } z Y #.&.u 9 : % % % % % % % % % % % : % = T G z / 1 [ j <.<.<.L Y A f t y w $ $ w * ^ q _ m ( e &.i &.V D q $ % % % % % % % % % % % s s s s s % = F o A c R r 1 E I < _ o { 1 e &.&.c d ' k z ( 0 -.0 j Z #.S R a O b c V P % % % % % % % % % % % | 6 7 k A K c &.j @.....@.X j i ( t @ ; < d 1 M m D m A ~ f.W ).!.2 M i &.b c Y p ) f =.3 a ' % Q ~ 6 O z 1 e c ( X 6.g 5 ] 0 D ] @.i - ).! H ", -"] < y $ : % % l z # u c @ f Z i Y _.1.{.0.*.|.x.I.B.|.8.l.!.{.x.<.D 9 < X p o q A #.2 p ^ ; R S ' - 5 ; 5 ) @ F _ l v _ / =.M y T _ ' c Y -.k 6 V %.K v q F h p ' g G b ,.X Q e ' 5 x 4 3 9 F t b 8 , _ y * ) v O G G G ' M O P y T h _ J } I ' v q - C J } l C } a B u 7 J & % % % % % % % s % % % % : * l } B V e 8 0 j i U e Q b J ) $ : % s % = ] ) F I d Y U K r ( z h & % % % % % % % % % % % s s s % % % $ > M A R S L i n z G _ l p O f z 7 m ' l I u V R j ` =...%.,.X [ E k T 3 4 % s s s s s % % % % % | y E D z Q { r L #.X +.~ X #.8 n ! P ^ 5 y F p ' o f Q N R r Y d g P v l ] b u @ T M j ! J * $ m K o R ( K <.Z L *.g.j g B Y % ! [ $ z / v - ", -"x J 6 & = $ : + < < z f p 7 Y d 0 s.p.G.^.].{.E.v.C.1.A.y.*.r.x.K T * h Z E 9 y ` .p F q J ;.f _ p G G v l _ h G u 7 B ).Z I p l T 7 R d Q 9 > +.( z g h - + 6 t } k P Z ,.%.c g C T } [ 0 M g [ .m + ] ] ; > k } o } G O k < J I b I G t T H y 3 ; @ B a ' p L >.M F l l 6 = : % % s % % % s % % % | @ k m { V &.S j S U Y n z J + | % s % % % $ 4 5 9 < O A R U R A z t ; : % % % % % % % % % % % % s % % % | q ! Q R K 0 Z K ( m k < y @ > < v < P l f 2 r L ~ W >.>.).:.2.Z 2 b h 5 % % s s s s s % % % % % % $ 3 _ I f A Y j Z +.Z <.` ~ Z U { b < 9 6 5 + C v I f B B z M k C y * ; y 9 q h v p p h H ] $ ^ t M o c <.W W W x.6.L V @.b y Y T = [ a ! m ", -"4 J T 4 x & * < g f z u z ! ! ( ).4.j.{.^.a.a.1.E.B.x.k.s.~.].Z ) * ) { .M @ 6 Z ` m , T S -.p k ' J t P - H - J k p Q _., h l k I %.K a T + C ).N F 9 6 ) ] ; 9 } G F i '.7 ' l l m %.Y >.E A ^.$./ g T ^ T v M Q A +.d l } p q f d } t } g ' v H 3 p #.Q < l ~ i - ^ 9 F v 3 = : : % % % % s s % % | H G D { ( U i K i [ e / b F x | % % % % % | = ] 5 6 _ f { V a m } < ^ $ % % % % % % % % % % % % % : : | | 3 k m a r K j U ( D I > + 4 4 4 3 ; T l z Y i Z @.W %.$._.}.).~ 1 z t @ | % s s s s s % % % % % % : | y l o B n &.L L i i <.Z Z 8 N a m I _ 5 ] # ^ 9 F _ l _ < C C P F C h v t I O O G l H . : % | @ b e #. .$.(.(.>.X 8 j E b B 3 ) V m o ! ", -"# I > ] ] 3 < ! { N r 1 n A Q 1 e.0.2.[.].a.q.5.*.*.h.9.{.=.g ; ] ^ ^ S b 6 ) H M D t # ) c d J @ ; @ - C _ h t k < v r i.q + 9 I 1 a.#.{ I _ g &...t T 9 * x ] y C k ! ).8 J H 3 ^ #.+.=.{ _ / 6.2 ' G O ! b ! ` E =.;.o D [ d I -.'.u G 7 #.i.{ G } 0 >.B < 7 '.a t C P p ' v ^ & $ % s % % s % % % : 5 h o Q 1 e 8 S S 8 N ( g - & : % % % % : = . q + @ _ } ! z ! p F @ w % % : | | : % s % % s : = ] 4 * ) # & @ ' m Q 2 c ( 7 f I T # x ] x . ; q I Q U Z ` %.2.(.2.:.[.i.-.Y E ' y : % % % % % % % % % % % % % % . 9 l M a Y U i 8 &.S 0 #.j K [ n 7 ! h 9 6 y y q F h v k O ' g G g o b f z , 7 b J 9 4 : % | ^ M e <.,./.:.[./.,. .Z &./ f I k o E 7 P ", -"] v - ^ y F ! / R S L L 8 [ e W i.~.,.'.[.a.e.f.8.^.a.|.[ C ] ! c O , h ; 5 + 6 9 3 # 3 ^ ) H H ; ] * ) 6 _ G P + 5 m [ L A q v } B ).-./ G J Y A '.8 h.e T 3 q < v k B '.b h + 4 H ;.8 Q m ' X =.J H - l O g '.N e *.S m E W 8 d -.r D { '.m S S l m ~.[ g C 8 8 b >.c z ! V ` Y q H b ) > & % % % % % . 9 M d N [ K <.0 K r / ! P w : % % : : w ; @ L g F l v k ' t q 5 = % % : # ; # * | & 4 $ % ] - C P h v h ] . y l O M o I ' G < y x = & = 4 6 h b n 0 -.$.j.~.[.6.7.~.).-.Y E p ^ | % % % % % % % % % % % % % % | ; F J E N Y &.8 8 i j +.~ X #.8 e 2 f o g O ' G G O O M z u u B a Q 2 ( Y Y V 7 M F ; : % | 5 g V +.>.).6.a.^.{.:.,.X K R V { 2 1 c J ", -"4 _ F 6 _ f ( L X W W @.` Z U N 2 { r #.'.:.j.].j.:.,.2 + x ] < z t T 5 ; 5 H - T ) y - _ v > T ) 6 P h v v > ^ x x 4 3 + T t J - T M 7 _ y 9 2 V b A ,.M h _ ' g G Q W 8.S &.! 5 ' /.8 K m l ).0 h ] * 9 O i .k -.).m g 7 :.N u ,.E z (.Z t .8 9 A _.o t o 6.W V ~.B 9 e 0 @.~ E ! ` { r * % % % % ! 1 q 0 >.[ !.$.~ <.#.L c m _ 4 : % % : : & . x k H H - < v _ T ; = % % $ ) H H 6 + E ~ h % : 9 G ' g b b I 6 = | 4 ) y ^ ; + + 3 # . = & * H t b , [ -.(.:.g.{.7.7.6._.,.Z A ! P . : % : % : % % % % % % % % % % % = ^ F O Q / R L S 0 S ~ ;.;.;.#.<.L r c ( 2 2 a u E u d / n ( N &.8 K S 0 K Y { m J ) | % : * I V <.>./.g.^.q.^.6.).>.W ~ S i U j 0 I ", -"x > F < g Q R X ;.;.@.W ` Z U 1 7 f D ( 8 @.$.'.%.X d + 4 # 3 5 5 + @ q - q - _ l F - C - < v v J v h _ l l _ > q 6 6 5 y T 6 ^ ] 4 * H h < h k ' k I M G C @ T h I e ` W ` A O l ! ;...n A Y }.` u H x 3 J =.%.<.2.i.E @ ~ X k ~ Y m M 5.` L r.+.C #.&.t k i 6.( G _.' f ).Y U ' t u @.Q < = % % % - , a 1 $._.$.q.5.+.~ ).|.{.n t @ m f v y C $ . y * * + - F < F 3 = % % | l _ P < q y u V ; % : T M E E Q a D v ^ 4 & $ : : % $ $ : : | w y C G D 2 e j _.~.j.].7.a.].|.$.+.Y z t * % % % % % % % % % % % % % % % % % % $ + t u d N K 0 Z ` .%.$.,.W X +.+.Z L K 8 [ e n 1 R K j j j +.` X ~ ` #.j N Q o - = : % 5 k A L W 2.}.].6.[./.'.!.W @.+.Z ~ ~ ~ O ", -"x 9 - v O a K -.%.,.'. .@.X K e B } G o B r #.X i b y + H - 9 @ @ y + ) 9 - q q < - T F C H T C _ t v h P ' z ! G } I ' G l < 9 3 x w x * 6 G ! t q ) ) - P > - < t o m d M h 9 C < ' 1 ~ ~ &.8 j i f F h f &.&.O +.K T < ;.A D (.2 V f [.G +./.D D ~.<.G - %.` v , 0 h i ~.M t h q 8 8 > > x | : % s ( j > [.7.#.B.2.Z |.B.i /.,.! U ' e 5 } { 5 v &.M ; 6 V >.( 6 w : % = F -.Y A o P - @.} $ % : 6 b { 2 n e n E M G v h H ] = | | $ ] @ P I ! { c i ..a.h.B.].].8.8.[.i.W U A o @ : % s % & | % % % % % s s % % % % s % % . > o E / &.<.X !.,.2.(.'.@.` -.;...-.@.W +.Z Z Z =. .!.W @.;. .>.%.'.%.W 0 1 z < ] % $ 5 J Q K =.2.}.~.|.).i.,. .` Z Z +.` ` ` M ", -"w 5 + _ I , R ~ .'.,.-.` j R { M _ v t g ! , 2 I + ) C < 9 ^ + 6 ) ) ) @ - P q q @ + P ' h y ) ) 9 v v - _ k p k I g I _ k 7 1 2 g 9 ^ T C < H 3 4 w w ] ) > _ g M _ F < C 6 6 T 9 k E , z f f m M B D b B n ( 2 1 D 3 y b } b A } I m { / R J g 7 %.S , / g.a D K > 9 X ~.g ( T ' !.} < v > ] $ : 6 X + k }.&.L e.#.X l.~.[ 9.>.z ( B f % B ! ; V @.G 5 c V [ A & % % % 3 Y /.K 8.j I d ,.4 % % = J { ` V R .#.K U Y n Q z } h q T F v } m d 1 U j ~ E.}./.j._.[.:.).;.#.U A o F & % % # m E x % * 3 | % % | $ | : % % s % % x C } Q n 8 X ;.(.2._.%.W =.W ;.!.%.'.(.>. .>.%.'.(.,.!. .%.,.i./.:.}.(.@.S Q ' 5 : : * J , [ #.,._./.i.,.!.-.X 0 i 8 j #.+.#.' ", -"& 4 ; F J z n L +.-.-.<.i Y 2 f h H 9 > P h k p H ; 6 q T + 3 # ] ] 3 ) + - - 5 * # 5 F P ) # ] ; y C J I k < 6 6 P I F + < ! D g O _ p G p } z B _ ; * * 5 @ _ v > ^ # ] 3 C p F H P k M ' _ 9 y @ _ ' B U +.#.0 &.7 P q < k t H T } o P y h ' b O m ! E 8 .S X { l T 1 ;.[ M } c [ 3 @ G g _ w = z f & S i ! |.).~ ` A.@.Z e.8 p ' >.^ 4 i # x <.Y * v ;.o m $ % % : * q !.!.{ *.i.E =.Y | % $ E @ j $.Q ..A.:.}.d.>...#.[.^.[ n 0 8 r K r K Z @. .5.p.(.i.$.$.'.%.X S e Q o < x : % $ : +.{ . % } { x % & ^ 6 + ; w : : % % % 4 C O 7 V L -.;.$.2.%...-.-.W %.$.2.2.$.,.$.$.(.>.....>.$.2.}.g.8.7.j.'.X 1 M @ | | ; p E e <.@.%.2.%.W ` Z j S &.r r i L j G ", -"$ = = 5 C O 7 V Y i 8 r e Q o > * 4 ] ^ 6 > < ) 3 ; ) y T T 9 5 # 6 o } < + 4 4 * > > 6 3 * 6 J m f G G h + ^ ; 6 J o G _ v < - P } o } t ' E e Y z p v ' o G _ _ t H w = w 5 > h h J O J h k J H ^ + J z Q d , m I k I p p u { u o m b 6 # 9 J ! u b p u A { ! I } p P h J G g O m b + 6 } b J ) ] d 4 + [ } z }.;.#.+.r.<.|.,.! b Y i.v 1 D = } =.t * d +.w : : % % w 9 M ].8 Z B.=.V 6.G : % e _ T (.2 u %.7.F.).K.~.:.d.}.L.'.|.^.h.7.a...!.$./.7.m.y.{.).h.].|.#.i [ 1 f k 5 | % : = ^ X ^ % % ) H : : 3 - < < 9 ^ 4 : % % % % . - p m ( &.+. .,.,.!...W >.,.2.:.:.i.'.>. ...@.-.;.%.'.|.j.7.e.h.a./.-.r m > & = ^ J z V i ` @. .-.#.L i 8 R 1 V 1 N r U I ", -"| % % : ; P G m E a a , 7 o q x | | | & * y 5 3 ; * ^ C l C - H C g k h H 5 + J M J q 5 T b / [ S ( _ ; ] ] * @ P C ' , o k > 5 ^ q f I y H } D M J v f ! } t h o N 2 J + ; @ l I k - ; 4 w x 9 _ _ 9 > k I } f G - q > F ! R L 8 S S V } P G p ' } P k O l @ 6 p ! p h p t - q T 6 F v l t P H q ) 4 $ | ; - g N c e 8 -.!.-.u D E e >.n ! - ^ Q U < F { L 6 M : : | ; C [ |.R [.:.( Z |.5 | G c & c ..o B Y $.y.$.y.~.s.L.1.x./.6.E.G.7.:.)._.:.~.a.v.}.$.e.x.'.G.i r +.j.d #.| % % : | m r % % ; ; % % w 9 P t v < 9 y w | % % : s = 5 P o , N i X ` @.@...>. .$.).).E.p.'.q.9..._.{.$.2.{.g.q.e.F.8.|...&.z > $ $ ) J E A R L #.~ Z S r N c 1 2 a 2 2 e Y v ", -"| | % % : ] + T l G g o b g C ] | | $ w 5 3 ^ 3 5 + H H H 6 @ @ 6 q q @ H P J ' l < l k B e 1 d 7 b h - t u , u ! p I l y * ] ] 5 J z g _ C p G C + @ P M } - C ! Q E g g g J J T H C ; & = & w ; q l h F > h O o < + y > t O b z , m p _ t v p B Q Q Y [ a v + P u M < t e ,.-.( t ) y J g ' _ 6 y H x $ | ; < ' D A c Y n , z u E E B z k h - t l x % P E G % % : 3 H k (.|.=.i./ { >.!.m 3 / 1 D X @.{ { N 2.A.2.[.j.4.p.6.[.~.{.4.a./.}.}.}.}.:.r.0.%.'.0.i.@.r.S ( [ @.V l : % : : = j ' % 6 E Y 4 w , <.h <.(.t _ o / T w C $ % = $ ] - } B n [ i Z ` ;.;.!.i.).(.G.J.;.{.A.Z r.e.i.r.J.h.x.M.v.7.|.@.&.z T = $ ) t z ( e K S S U c V a a Q E z Q 2 / ( C ", -"$ | : % % | . ; q f t _ g -.A # $ | . 3 + ^ y ^ ) + ; ; y y ) ^ y q 9 ) 6 h p G - 6 _ I ! M k h G Q e e S <.c d b > ) F G h 6 C J h q } Q f p > 5 * 3 q g o l C J } J p } g k v C t f J J F 3 + q _ I h + 5 * ^ l v > C l l p f D k C T H J o 7 ` ^.H.D.y.5.W 7 I g } C 9 n a.B.e.>.M q g u b p T ) y ) w $ = ^ < p m Q A d f b M o M ! b g p P @ ; w % s % % % % $ + C 1 j.L R a E 7 U n ; x m m I Z #.A a 1 _.1._.>.j.v.w.a.9.[.w.A.'.i.(.(.,.,.$.s.7.X _.B.&. .a.u q c V : : : | | w l -.4 = l L [ . k M i &.0 %.G 7 Z |.} E Z & . O i % l ` v D B { 1 U Z ` @.>.i._.f.N...|.0.:.[.#.(.l._.:.j.u.F.:.$.Z c b @ | | ^ _ m ( c &.U 8 c A V ..! b M M z d , 7 q ", -"| : % : : % | * A U l q l #.C & x & . ; 6 > 9 ^ ; # 4 ; 6 @ ; * ; H q 9 H + y 9 q H 9 < p k J 6 > ! a n 1 E M O O J p 2 8 V , B ! J < I _ @ q G < 9 _ v v o O v v - 5 ) P p h H T p z u b I ' m O J I p q * . x ; > p ' g v _ k _ C C 6 ) T C } &.2.9.p.N.F.2.N I I M k F k a N R 1 D k J F q < f G y < H & $ & ; T p b D b I p I p o b m b I _ @ ) x $ : : : % : 4 q f 2.>.u m ! M o I P 4 % = . y ' o m 7 r 8.:.Z =.i.l.G.7._./.F.j.~ Z X X ~ +.).F.X 8 !.'.Q '.i 3 < S T : % : w * > [ [ ^ # I +.- s . / +.b '.K m A W !.a ).u & + q K 7 I O 4 q t G b a N &.S X >._.h.4.$.i.y.{.~ !.9._.$.i.8.I./.$.;.S { } 5 : : # - , >.r e r r ( d a ,.' p k g ! m z f 6 ", -": % % % % % % T ` N < 6 c Y T 5 ] w 3 H @ H 9 H ) * + _ H * x x ; y - > + ; 3 @ h _ q 9 6 y H @ 9 U 1 o g ' J > ' z 2 S ..i a m O l 9 y @ _ a r E ! b k J l @ * 3 * ] 5 t b O ' C l } k > 6 q p _ _ } ! O _ ) 5 @ P F 9 H ) 3 y l p p t h - C g u , U $.,.e 2 d f D O I z , I T - > J G l F T y 6 C > F k y $ | $ . H _ l _ F _ t p ' O o O I v F @ 3 4 w $ | | | # p [ $.#.b o O O G l 9 . % % : ; h / Y V Z ;.r U L #.=.W -.~ #.` K Y c Y r [ K /.6.( Q n <.V A ; 4 Q ( % % $ ] @ P z /.K M _ L Y ] $ l 0 t ( (.E , U ~.S .~.I 6 w 4 ( f % $ : | w ; 9 I f 7 A Y L -.].m.]./.D.$.-.f.[.@...%.l.z.8.D.'.R 7 p > q < # h X |.{ ( 1 1 , } _ O C C J k ' o M G 3 ", -"s % % % % % % } L _ q H !.O / @.^ 4 5 A +.v - C T T m r J 3 w 3 z 7 ^ * ] * H h _ q 5 3 5 T l h F e O T 6 h C + v ! { ].[.{ m b v h } E ( 0 0 / M ! E M ' } ' g l + 5 T p g g J _ P P 9 ) ) < D M I o b t < J J G G F _ } } l P 9 9 9 < t v ' g ! b B , ! h G u K ].7.~.~.'.d @ ^ P l < t A Q p 6 ) l M b J w $ : : & ; ; 3 @ > v I } } } G ' t P > H ) # w = & x # 9 ' D , D f b b O h 9 = % % | ; t U Z U &.n N [ U 8 0 j i r ( { / A Q ( r V <.:.[ u f g I F x % 4 h 9 | ] ) _ I b n ).i ! o =.d C @ { ! l >.W &.Y ~.B.i.~./., I l C [ O % % % : : : & 3 F v ' z A &.!.p.6.G.p./.:.}.X -.@.).L.q.8.d.,.R { 2 T V ( 3 E ).#.V 7 a 7 ' b a p F < u , p v J < x ", -"% % % % s % % N z x * b @.z ' ` x . S P !.k 6 > 9 q g U S d G U i.K U { M N 0 Y O # ] ; - C P > 6 6 5 ^ q I P y @ H T !., h g } v g Q Y N n d M g I v l t (.` V D t l k l o D + 3 q < ) # y ' f M } t _ < p g } J J m [ 8.E.^.<.z _ F h _ v J 9 t M p k } _ C k ..O.P.Q.R.S.H./ 6 T C @ k ).4.w.N 3 ; < h P ) = : % % : % = * 9 h v t h l t v _ C 9 ) * * ; 3 + 6 + > h J G } o m b g t H = % % % x T O 7 u B Q / n 1 c Y R 1 2 B B d B B 1 ~ 0 i 1 t h F 6 w : % % : % : * > G D , A n N d M I D > % y b 5 J #.N { U ~.j.(./.$.r Y +.( / L P ' 2 - % s : = 4 # ) q G E ~ k.f.{.l.x.2.L #.+.@.8.s.,./.k.0 U ..o 9 &.q ; a !.O o b o g z i W f C { +. .k T 6 3 | ", -"| : : : % % ^ +.5 : | K r # J n x , U B D ) ^ 9 - > g X C > O ( $.h 8 e.@.L ..c X ) t r !.].6 H m b ; y P m u B _ T O ..^ 6 G h 6 > l p l F k G t < P I E 2.Y ! t f O l > @.W h l z Q J H @ C O I P F < t C 9 _ J h } A =.X N E g ' G G k I ! J - 6 3 T I ' v l 7 -.7.9.r.F.6.V l h p h t R 9.T.F.M 5 F F h 9 4 = : : : % | x + F C > - C < F - q y 5 3 + @ 9 - < h G G G O o g M b g t q . % % % & 5 P } ! D B Q A / V 1 c ( a { a , z g ' ! z _ + ] # . : % % % % % | ] - g E ( 1 Y r ( a D k F 3 : : % & H J b a c K L i X i V #.~ M D Y 9 v 1 H | x # ^ * x & x T } R g.;.=.x.a.~ i L 0 .r.g.;.^.^.S !.+.9 ( { | 9 U c J p J J _ M ;.+.h k j Y } P H ; & % ", -"| : % % s | m X - . - ` C 4 1 t ) =.e w w x ^ 9 q > P ;.O _ v 1 -.I $.q.7 0 S E V b X ^.Q { 9 D (.'., a N g d $.v ^ Y ( 6 C P P p G 7 M J ; F < g J > o D b ! m 2 ` v J < ).i Q U <.V M I h > b _ * ) / ;._ < g O _ Z { ' _ < b m l } { j 7.F.x.}.K g F v D b k ' m D z u f b M M o ' J p f d &.( k P ' I t ) * ; . : : % % $ * - C T T < l _ < h F T > < h t J ' ! E u u E E z m b } v - ] % : : $ ; > g u B d { A 2 1 N r c [ r / 7 o _ - ^ ] . = : % % % : : | & = * > } u V Y [ i U r / , b h 3 % : : x 6 k m Q ( e r Y c ( ( n V 7 ! ' v 6 6 y y C l t P H w | 4 P , R a Z ).-.Z 8 8 S :.*.>.].*.@.=.[.<.7 8 f = M ~ M _ < P < < / ;.7 h t 8 =.p _ 9 * = : ", -"$ : : % s & D V ^ 4 f { 9 - n # > '.e H J x y ) 5 H < ( K T v !.1 O ).D } i./ 7 f c !.8 h ) F -.k.>.N #.=.y ( r @ O 6.c a o y - P d Q 8 g C N A z 0 C O 8 c P o ;. .G ' &.f.e r &.A G J J F t @.} ; 3 N X k _ v b m ~ Q o 9 9 g G 9 ( {.:.g.x.5.a.'.a Y Z c o I } I l h p } M ' C v p k ' J _ I G k g g t q ^ 5 + 5 = : : s % 4 y 6 H > > l h v J p J I I g o ! E a A A / / ( A Q 7 f k - # : % : & 3 q k D B d a 2 1 R K 0 S j U 2 f p > * : s % % s s % $ w ] * ; 5 q p m 2 1 8 i L L i c { f v ; % : % 4 q G D { V r r N c ( / e r 1 A 7 ! I J v k o M o O v @ & $ 5 h ' D n K K S i K j (./.[.^.(.X ` (.&.E n } y { =.a t F < - o ` ..d f O n .d t > ^ ] $ ", -"| : % % s % 4 ; % $ H H P F & x - e 1 P * ; ; x 3 I 1 M Q 3 7 .O ~ z - u (.2 D o O (.g t f i k.a.b M >.f p ..B R g.B.a 7 G @ 3 3 V f c P <.` 2 Q ;.! n >.U ) } ).o P h '.+.V j.r M H ) P o <.7.V ( K 1...B F _ p F < G _ @ q _ l l k ! ;.i / A A z v Z j.r m v _ P H y H - _ o ' ! m z ! F y 6 T _ t T y y 9 > l } ^ | : % : : 3 # ; 6 6 F t t G I M m u B a 2 1 c 1 1 Y Y N e 1 2 u ' C # : : : . H h k ! , Q / n r S 0 #.` #.8 A M l 9 x % : % % % : x y @ 6 + + C J O E 1 r S Z <.0 S N d ! _ x % % : 5 C g B a ( e e n / 2 V n c Y 1 / d z b o O E , , E g P y & x 6 v O Q 1 c r r Y U K ~ ..!. .X K Y m q > # . I D _ F > q T O L R b 7 1 K L , G P T 5 $ ", -": % s % % % % % % % % % : $ . # 9 T 6 3 # ] x ] @ p E t w q j ` m H ^ 6 b +.( f k k ~ O d A Z 9.~ N 2 >.M <.g.&.#.8.W ! g - 3 @ g =.[.c e 2.U C e d 3 B -._ q &.%.> @ I ~.r g ..M t ) y k Q g. .c n #.g.( 2.&.k a ,.j.;.U <.j f _ 1 X ).].2 O b m b G ...C v D %.=.V O > H _ ' 7 .d.U.u._.O 3 * y l _ - y 9 F J M v . ; ) # % = # ; 3 + T h _ J I ! B A ( 1 e U &.&.8 K K U &.R 2 z } l 5 | % : ; F p } f , Q A N [ 8 L #.X <.R A f k - w % % : | x 5 9 < > C C > l } M Q e &.0 0 j L 8 V , o - & % % $ 5 > ' z Q { ( / Q d , { Q / c e N V 7 m b b B a V A f J H w : * P } z 2 V c c r &.0 ` ;.$.%.@.j / ! T = % | * ) 9 - T 6 @ > v I p g 2 r d D b I h ) | ", -"% % % % % % s s s s % : | $ x ; 5 H 9 H @ # 3 g d ) & x < r @.F w x ) h k g J 5 @ < B B - @ ! &.! _ , K D ~ (./ e ].=.1 < h ' c #.:.q.z +.W J O @.H H ~ c C g -.n o } &...> T X F < y @ h , :., o B %.L c X >.@.l.V.c.x.[.{.W r m j.2.K I > @ @ F _ M [...~ a.o.W.X.O.H.@.r X 5.K.Y.Z.Z.`. +s.{ 9 _ O D e ' 3 5 T > @ # u X x s | . 4 . ] @ 9 > h ' m d / Y Y U U i K <.<.S U &.Y A E g l ; : % % # C } O f E a / c r 8 8 i S U n a z k C w % : . 3 T C h l v k t t k } b { N &.i K 8 R r 2 D p 9 = % % & ^ C } m u 7 B u D f m z u 7 d V e V A u O ' f Q / A f J 6 & | w > } z a A V r [ Z ~ ..%.'.,.;.#.r u P & % : ] y q q F T T C h _ J G O f d d u o J H $ ", -"% % % : : : % % s s s : | & x # # + ^ @ y 5 q G @ w x ' ~ >.Y ; w # @ y ^ ] x ] > G t - @ * x * ; @ J J T k O + h c f F - p u / A K .a S R ' 2 } P { (.<.[ Q ,.V P t 0 D ; { K p v H 5 F [ <.q v c _.b l /.|.}.p.K.7.-.+./.! D B <.k C 9 q q q v E -.C.v. +.+++@+#+$+%+&+*+`.=+-+;+>+>+Z.,+Y.J.,.g.'+I.n.1.u 4 x 3 < _ A / : : = 4 4 $ | $ . ; 6 t O 7 ( N [ i L S L j S i &.r c a , o O w % % % ] F J k M m B a V / c c e R c A u g v + : : . 5 9 C v J J p k _ < l G g u a ( n V n / , z I F ^ | % : | 3 > G o b b O I k v v k p ' b 7 a d E ! p C h ' ! f k P ^ = = . T J o ! E A e U Z ` .. .>.!...#.r E q | % % & 3 y - C q q < h h _ p O m d , D o v 9 & ", -"s s s % % % % % % % % : $ = . w # 5 ; 3 ) 6 C T + * + p E A u - F f J * w . . * 6 q - H ; w . w # T h l C 3 ] 4 * 6 h > H _ G J o , a ! M r n ' J g R %.Y B 1 <.b y b K h ! r l - p k - M ;.R < k #.S ^ u _.e +.*.%.D b Q i.R D D ~ B.g.-.U c 0 ~.t.)+,+,+$+!+-+~+~+;+{+]+{+^+/+(+>+_+~+:+++!+&+<+[+}+}+|+1+0.=.< I y 9 ..Q ; ] 5 @ ^ w | % : . @ h ' 7 2 N &.0 <.Z <.!.-.i [ Y V a ` [.B = % : : # C G G ' M m B { 2 A 2 c N 2 , ! k < ; | . H > P v p I k p v F - P v M ! m B B u E D g J h T # : % s | ^ > v I I I k J < q 9 > F < p O z u f o t 6 ^ 9 P v F 6 ] | = ] 9 h } O D 2 e K Z ~ @.W W -.+.S 1 z q | s s = ; y - F > q h _ J l k } f u u D g l 9 . ", -": % : : : $ = | | : : $ & ] # x ] ] ] 3 ^ 6 q @ y 9 - 9 5 * * C M G 6 4 w * T h 6 3 4 w . 4 ) t O _ @ ^ ] w w 4 + h ' _ - H H 6 q p k 9 q ' ! m } k O b o G h T * ; M D ! / } q T q + ; p L E C B ..V 7 Q z G #.g.Z c f 7 +...Q .L.2+X.3+4+5+X.)+`.!+#+$+#+~+6+;+6+(+(+^+(+^+{+{+;+-+_+=+@+#+7+,+,+W.8+&+9+0+a+{.` H v #.o Z -.- O Z #.y $ | $ * H v M Q e 8 j <.#.!.x.#.r r 1 A d 8 !.5 : % % % . @ J k G k G ! f b f B Q 2 Q E O _ - # $ ) l m { G O g t C 9 @ @ 9 _ G I g I p l J < > T T 3 | % % % $ 3 6 _ J l l l C T 5 ] * 3 @ F l k O g k P ^ 4 3 + 9 y w : | & * - J o ! z 2 e [ L Z <.` #.0 i e d g 6 | s : $ # 6 F C T H P < h v k g ! z D m } h 9 . ", -"% : = & # y y 5 # & = & x 5 ; # & & ] 5 3 3 ^ 5 ; ) @ ) ^ ) 6 P > T 5 ] y v t T # . & 4 T G z d k 5 x w x ] + _ _ H > k h C @ 3 + h < ^ 5 T l l v p O p T P - y 9 F T - l g g l H # 4 4 ) h C > M a 2 i o - P / &.M P B U 1 V -.b+c+d+e+!+=+_+~+~+;+_+f+!+:+6+(+g+/+/+/+h+h+]+{+(+6+g+~+f+>+i+%+$+d+}+%+&+|+)+Y.U.z.M u Q 9 ( b } i Y A H 3 | : $ * > } / -.}.e.-.@.a.1.+.e c 2 Q a W / x % % : : % * > v v h l p t v p O f V #.B g v 6 w w < Z ( $.a } I h 9 @ ; # ) - _ _ h C 9 + ^ 4 ] 4 = : % s % : & ; @ > h P > 9 y # & % : | x ; @ C l v P T ^ w $ $ . & % % % | 3 F G o m z Q n 1 &.i L K i r ( Q ! l 5 : s s $ # ) q > H 9 q P F _ J g ! D 7 f I _ @ = ", -"| 4 3 + y > < C 6 ; x w 4 ; * . = $ $ & . 4 ^ ) # ] @ + ) y C _ F > T 6 F _ > T 9 9 > g m k v < ; * ) F k J J k T @ @ 5 4 w x ; F } J F @ @ 6 ) # ^ J o ' m G P k I ' M O J + 4 4 ; 6 - p ! b ' k } g m v ^ 3 ^ @ q F t u a j B.X.,+++~+g+6+6+g+/+^+(+;+>+>+/+g+6+6+{+j+k+j+h+^+6+(+_+f+;+:+i+++@+8+e+$+}+)+Q.Y.4+t.[.8 f m P . I @.+.G P @ ] $ | x P ( W &.].a.0 !.x.2.K r c / Q [ $.v w x k n I % w ^ p } o h q F < _ t 7 !.).u } _ ) # 6 R S G B I J v P H 3 # . * y 9 q H 6 ; = : : % : % % s % % : x 3 H P _ F @ 5 * = : % % % & ; ) + 9 - 9 3 # : : $ $ % % % % % * F } ! m b z , 2 n N r [ N / d B o P 4 % % % % & ; H H 9 @ - - - h I O D u d E } t - . ", -": 3 @ @ H P t v P H 5 x w 5 ) ] & = & & . ] ^ * 4 * H 9 + * 3 y y + 9 > < @ 5 H I I G G > q P C > T > ' O h J ' 9 * x & = $ w 3 6 9 6 - 9 3 ] x x T b b v J C v b G I l F J F ^ + l M g ' G ' k I O M b J C _ I ' o u n Z ~.L.4+Y.$+=+g+/+/+6+g+g+(+6+-+-+g+(+g+/+^+h+^+(+{+(+/+6+g+~+=+@+%+d+Z.$+d+e+l+m+W.m+n+o+c.v.!.2 / * y h 8 %.z _ T # $ | x f ~ 1 j 8.` 8 :.f.j &.N V 2 1 !.~ 9 ; g / f Q : ^ } p c U @ 6 , ~ e v [ [.@.f J P @ 5 o @.u _ J _ C - y * ] = = = x 3 * x ] & % s % % s % % s s % % : # @ - > 9 5 * w $ : | * $ 4 3 3 y H ) ; w : % : | % % % % % % = ^ < p _ t G b z B d A ( A Q 7 ! k - . % % % : | 3 y 6 + @ 9 - P t ' O u d { B o p F . ", -"$ + > 6 T P v t P - 6 # w 3 + ) 3 # x w # T ^ . w # ) + ] 4 ; H + ^ 3 ; 5 3 3 @ < h l h q + ^ q l > T P t _ p F # . & = w y > t _ y 3 x & $ | $ # - J } J - y 9 H @ C > q J o t v ' g o ' h t o ' v ' A S $.[.7.f.x.k.d.u.V.3+)+`.!+_+/+{+{+(+-+;+-+;+g+/+(+(+/+{+]+p+q+p+k+/+~+_+~+:+@+e+l+8+l+,+d+7+.+m+r+s+t+4+5+u+'.S %.c n m e #.n 2 J ; = | # 8 +.{ /.(.r @.7.$.&.c 2 2 { L ).1 < ! Y , } ] * z M P &.m ] } V q J p Z (.B M G > F k U L o v B ` ( l + h m k < 9 w x . ] 4 | % s s % s % % s s s % $ 4 ) T q 9 y # x & | x J + 4 ] 3 3 ^ ; = : % % . 9 F 5 | : : % | = 3 @ @ H C v } M b b D m m f M l 6 $ % % % % | 4 ; 3 y 6 > < k O f m , A A B b t - & ", -"$ H C - F h t v _ F y w & x ; 6 C F 5 ; + 9 x . w 6 ) x . w ^ T - 5 4 # T C H + 6 ) ^ ^ 9 ^ 5 - J l _ _ I _ @ F > 3 * T k I g o F x $ | : : | & ^ ) 6 C 9 ^ * ] * q } v 9 q v f D u f E g G M M k D 8 i.f.k.m.b.O.v+2+X.Y.`.w+$+@+~+g+^+]+^+(+/+/+(+-+6+/+/+6+;+;+/+^+{+q+]+-+;+_+f+=+!+$+l+8+7+}+m+c+c+Q.)+<+3+v+4+T.:.U -.n b V S z m ..D 4 $ : 6 0 X L ~.2.K }.x._.i 2 a / n (.:.a g i [ @ s % f A _ c [ - ^ G U G T D ;.j o ' G P C O e } @ / [ G R c < 2 Z Z c ' * x . x g 1 F } m 5 < p x s $ 5 # & ] 3 H - q + 3 ; ; 5 * h ! . w 4 ] ] 4 | % % % 4 , ` Q w ^ / t s $ 4 x # 3 y - < v t I ' o o ' p C 5 | % % % % : w * ^ T - v G } ! u u { / 2 7 b p T x ", -"| + - T > < v _ F - + w & . # 5 y + ) ) ^ ] . . # + x & = ] T ; w & w ] 9 h F 9 ^ ; 3 @ < F 9 5 3 5 ] # 6 h T > P T < G O g P y 3 4 & = & x ^ F C y # x = = = = . + t p p l P v _ > q l } } ! Q r ..7.0.b.o.O.V.x+9+)+`.w+@+>+_+6+6+{+]+^+^+^+^+(+g+;+-+(+(+/+/+^+]+{+/+]+;+>+6+;+f+++$+l+y+y+}+c+r+r+W.W.[+<+X.1+U.u.6.Q f O l T > > u +.k & % : ; u , d +.i c ).].~ n { / / Y :.).&., <.N k q + r n D .e F q F L V - N -., g I v > T d 2 5 < i m G ;.n C 1 W R M C 6 ; 4 3 2 [ O N r I N n ] | P N N H & ] + q 6 H C h < P > z e | = w . = : % % s | ] Q [ x : v c | | $ x w = & # ^ @ H - P l J p t < y # : % % % % $ # y 9 > h I o D B , Q A n V , m ' F . ", -": 4 @ + 6 F < p m T y x & & w 4 t .9 T + 3 ^ ) y ] . x ) v @ & $ = ] 3 5 ^ # x x x # + T P < ^ ] w & # 6 H ^ 3 ; 5 + @ 6 9 ^ 5 C v 6 y q C C v F ] = | : : $ . 5 q C l g G @ ; ; 3 3 ) C O ( <.(.z.v.u+O.c.2+<+W.}+w+Z.=+f+:+-+g+(+(+6+(+(+{+^+{+(+(+_+_+g+{+^+^+]+]+]+]+(+g+g+_+f+#+w+y+r+&+&+.+r+P.Y.P.|+X.0+1+O.I.[.o q t q ^ @ F } J 3 $ : : x @ h k g 7 c j S ( A 2 / / 1 #.[ ! p / [ < = 5 ( a 7 -.c l { I R Q _ X ,.n ' v C q q &.m : ' [ _ m .., _ +.<.' G p _ > y 5 a R _ ( [ p 2 o % G Q u u 9 = w ) 6 P v I 1 L b < / S y & | % % % % : % & C 0 d $ $ k O : | w # & | | & w 4 # * + q < h F > y ] | % % % : . * y - P v k o z d { / V N Y / , O _ w ", -"| : & & # @ < L / q 6 5 x . & w T { @ y 5 + P J P ) ; F X +.x . w ^ l C ) w = $ = . 5 - _ 5 ; . = & w ) > h q ; # 4 w x ; 6 y 5 y v ' } ' l @ - v ; & = & 4 ^ h } p t I J q ^ 3 + C p Q L ,.~.f.l.t.a+3+[+&+8+w+Z.Z.=+:+f+:+-+6+g+/+{+^+{+^+]+h+]+/+/+(+6+(+(+(+^+^+]+h+/+g+-+g+_+:+!+i+d+`.c+&+r+&+Q.*+P.|+z+0+1+A+u.[.O + l H # + T 9 ) x = : % w ) C v O 7 N R e 2 2 ( e e Y ( B O J - ; | % & > _ t B I - z N u < I S 8 D J P h @ I U - % ' ! > j / h c 2.c b M ! O k _ d j h t [ h k M # 3 &., v 5 : $ x 3 _ G M b c 0 m v 8 8 H $ % % % % % % $ 4 7 X I $ & 4 : 9 7 B t p - | w q P + ] ^ 9 C h _ C - 5 & % s % : w * 9 C J I o D Q n c r Y R [ c 2 m P . ", -"% % : : | ^ , !.m - k I @ y = & 4 3 # * 3 3 ) @ + y T g ~ M ^ 5 - p > H 5 w = . x + M %.n $ : : | & ] 5 3 ^ + * . & & w + l v H ^ + ^ 3 + ) 6 t F ^ y F p k _ J p k v T v } M d i '.a.E.C.C.L.D.'+U.<+`.w+%+$+++@+@+=+>+>+;+6+g+-+6+(+g+/+{+{+{+/+/+{+^+^+(+;+_+(+]+^+(+6+(+g+-+~+f+!+$+l+7+`.y+c+}+m+*+Y.<+n+t+1+a+B+e.b # q + * 5 ^ 3 # $ | % % $ # H l g u Q { E 7 a / Y &.r 1 E ' h @ x | : $ ; 9 q q q 9 - > T T q _ J _ < C 6 3 V f 4 : & O a J q C K Z E m E B u ! k #.a 9 i O $ n b & G ~ v & % : $ ] 6 J G g O I ' t o W 2 # % % % % % % % = 5 K U 9 $ % % k g f O H 1 I | I { j } * ) q h J I J F 6 4 % s % : & ; - l I M B a V Y [ r R [ [ 1 d ! P = ", -"s s % : | + r &.h g n W 2 1 . p { - . 5 Q A > 5 ; 9 h d #.3 5 ) - h ) F t @ ^ + C J g ..> . = & w y q H 3 H ; | : $ . ] + + H q ^ ] x # @ H @ F l g g t < h < T I z h E Z W ).x.m.u+S.X.S.4+O.4+ +)+.+w+$+#+Z.++++=+:+=+~+_+g+_+_+_+_+~+6+/+{+/+(+(+g+{+h+^+/+6+(+^+/+/+]+(+g+g+_+=+!+i+8+&+.+c+7+8+&+r+P.<+ +S.5+T.b.q.B 5 5 ) 5 5 ) ; w | : % % : & ^ C G ! E u f z d ( e 8 S r { M < @ & : % | ; T - - - T P F H 6 9 - P P T 2 _ l c + : % | $ 4 5 H P M m o m Q { / d V 0 ! ! n 6 ; V l = J i g I # : | . 6 < v k 1 / O k R .G * % % % % % % | & p =.m # = % % O l { l @ V T _ e Q / t ) q C p O o ' l q * : s s : x ) - l O u { n [ S S i 8 U R 2 f k ^ | ", -"% % % % : J <.! H M c Z Q l p K K q * f { N G y k z D i a ] 4 ] ^ 9 5 + l g O J T F R ~ ) 5 5 6 _ I _ ; - A H : | & 5 C > ; x & = = = ] y @ ) ^ + H T q q - 6 k r Z W ).h.F.N.O.C+R.r+&+.+r+}+`.}+7+d+%+e+++++++Z.++!+++f+:+>+=+_+g+~+>+-+6+/+{+^+/+(+{+/+(+/+g+/+{+/+;+{+{+/+6+_+>+++$+d+.+c+}+c+&+&+m+Q.[+<+C+S.c.b.5.Q H @ + + ) ^ ] . : % % % $ $ * T v } ! B B d / N &.j <.8 n 7 I H $ % | * H < l _ C F < > 6 + @ > P C H 7 } M ) : : : | & x ] ) q v I b u A n 1 n 2 7 ! ' h T ) H w : # _ I $ % | | & ^ > v ' X j O b >.Y v @ $ : % % % % | = c ` - x : % % = Q D ] u } * Y A ! H * 6 > v } o f O J F * : % % | x y C p f d c U L #.#.Z L K R A b h 5 $ ", -": % s % w 2 K < - g 8 M ) ^ } ` f | ! R ! ' ] C / l @ / l ] x # H v v T ) 5 ) H ) k @.c F P a W c _ H k V K + # q t h 6 4 = | | | | = # H - - P q ^ 3 ; ] # k <.a +.^.r.C.o.1+D+Q.}+8+l+,+w+w+8+`.,+l+w+$+$+%+i+e+#+++Z.f+!+!+=+>+_+~+-+6+6+(+^+^+{+(+g+g+_+;+-+_+6+/+(+k+p+{+-+:+!+Z.#+7+c+&+r+W.W.*+[+s+D+X.0+v+T.v.{.E q C H 6 @ + ; w : % : : % : . y C G f A V 1 r L #.+.` +.S ( f > $ | 3 t k o g J < > _ C y ) 6 > q H + H H 4 % % : | $ = $ & * 6 C t O z Q n V V a E m M J h H # & : % % % % % % % $ * 9 F h 7 ! o ` #.o l H x . | % % : . T U U 6 . % % : w j J - a ^ @ <.u H ) + 6 P k O b M ' v H 4 : % % : w H _ g z { Y K <.~ #.~ Z S r a M P ^ & ", -"% % % % > ~ <.k p N V ^ # H r S q - K a ] = ; A E | O z . x * @ H @ 6 3 * 3 H h @ , j < 6 E r p N n h a ~ n p m 8 .c w $ : | $ & x + v J h < @ 3 # # 3 ^ G W g...~.*.0.3.v+z+P.&+c+d+d+d+d+d+`.`.8+w+!+!+i+w+,+$+$+$+Z.=+>+>+=+=+~+>+~+6+;+6+g+g+~+_+_+>+:+~+;+:+~+;+;+6+/+(+6+~+@+e+l+}+.+Y.[+*+Y.R.s+R.z+z+3+4+o.v.g.B > h t t l h 9 3 w | : % % % | ; C G m ( N R j -.!.,.2.(.;.K Q v 4 3 h l k ' O G P - < q 9 - P C > 6 y 6 ^ . | % % | $ = | $ w 3 9 C G M D , Q a , E m b G l 9 * . $ % % % % % : : = ] @ H T P M j <.b } l T H @ 5 4 4 4 # T l ' 5 = : % % $ , g v 5 % * Y , p F 6 C t ' o b o k F + 4 % % s $ ] - t b 7 / N 8 j j <.~ ~ j r , } - ; . ", -"% % % % P K 2 l B S k & x t Z Y I Q W , J 9 M N < > R z 5 H y 5 ; ] x w x ; 9 T t L 7 3 F e b < @.( ) / 8 _ 6 u 2 > g ; = & w # 5 H l o O _ H _ E &.d T ' .0.0.9.r.l.D.T.0+R.Y.&+}+8+y+7+w+8+y+}+`.l+Z.Z.,+$+$+e+%+$+$+#+f+f+Z.!+:+:+f+f+#+Z.$+l+`.w+#+Z.Z.f+~+~+_+>+;+g+-+;+-+_+++$+,+7+}+*+s+[+[+[+Y.[+<+9+3+1+a+4.a.( ' b z E z b } l @ x | % % : w y F I z / Y i +. ./.j.[.:.'.X Y f + H P l k J G k - @ > T - _ v v h P > F 6 # = : % | = w w . x ; @ q _ I o m m m f ! o I t F y # w $ : % % % % : = . ] ) ) + 9 D V v G I t v l _ P q y 5 # # ] x & $ : % % : | = = s s : T v 4 * 9 h p O f z z g l H x % % % x + C ' z { n Y U i L <.+.<.U 1 z v 6 ; = ", -"% % % % ; t l v } G * = . > Q O ^ _ c &.b 9 a &.p { <.[ J 6 9 < l _ q + ^ 9 @ * E &._ $ J c - O W f > r o . & t r k T 6 5 9 h G p C < _ T y _ R f } W L X y.B+N.4.t.N.b.A+C+R.Y.*+r+r+}+,+$+%+l+`.y+w+++%+,+l+8+8+}+7+,+w+$+i+l+d+y+}+Q.9+x+t+C+z+|+R.[+*+r+`.,+#+>+~+~+>+_+_+;+:+@+i+8+8+.+Y.R.|+)+W.W.D+n+X.C+x+O.v.^.( g u , A A d D ' _ 9 5 | % $ ^ q _ G f Q c 8 ` !.}.].6.|.$.=.8 , h F l p p k ' t C @ C - > t I I G I p t C y * & : $ w ; ^ ^ 3 ; @ H - l J I ' g I G p t < 6 ^ 4 . $ % % % % % $ = = ] 3 ; * # 9 9 C p I ' } M o O ' _ H + 5 ; ; 4 . : % % s % % s % % s s % = ; q t ' m a ( A d b l ) : : $ ^ F p o 7 { c U j K <.0 0 i n Q g C ^ ] | ", -"% % % : 5 < t v l ) . = = w ; 5 * ; y T 6 6 _ ! g f V J 3 - E W e.q.=., k v y . A Y z ; I o 6 8 d ^ a K } = ; + S Q - k O O O g k t ' } J h e +.m %.k.8.H.4+4+5+0+0+3+3+<+)+W.r+r+W.P.c+%+,+,+++w+y+i+#+7+`.7+`.d+%+w+y+}+c+s+C+t+U.v.m.u.U.O.u+A+o+V.A+o+5+0+D+P.}+i+!+=+>+=+!+++Z.e+l+7+r+*+Y.)+P.Y.)+D+z+9+n+3+A+K.*.R m { n N ( { B M ' J 9 . : x 9 _ t G M 7 V [ 0 W ).~.}._.,.` K Q p q C G I ' o I F 6 F q > p O M f ! ! ' v P y 4 = = 5 F F C T 6 T T T P _ v v J t t l F 6 ; 4 4 & : % % % % % | . w ] 5 ; w . # @ C } M b f m E 7 z ' v - + ) ) ; . | % % % % % s s s s s : x + P } ! , n &.Y / E G y $ % # q J O ! u d n K S S L S &.n , b l y $ : : ", -"% % % | ^ < k I J 9 4 & $ $ & . . ] * # 5 ) ) ) 5 5 @ 5 ^ P D Z }.` z J C > - ^ g b # w * D r b ^ & 7 e t = O h U u @ - q + 6 C J v < P ' z |.%.S k.u.d.A+D+<+Y.&+&+&+&+&+y+y+`.}+}+.+8+e+8+d+++,+8+++8+c+}+d+7+r+}+R.v+2+ +3.3.K.9.f.s.u+2+K.K.0+3+2+T.3.b.'+w.y.3.A+S.D+P.}+d+l+`.8+y+&+W.Y.[+Y.Y.*+|+s+R.<+9+3+4+M.x.8 a '.f.#.( 2 a u m I P ; = * T _ _ k O D a 1 &.0 ;.'./.i.!.` U Q _ * ^ G I } o v - F > q v ' g f ! m b ' G h T ; & 4 9 C _ < > F h - F h > - C h h _ P H 5 4 . . $ % % % % % % $ & w # ) 4 w . # y P } M f D E 7 Q 7 f G l T T 6 * x | % s % % % s s s s s : * - J D Q c K <.L r a M - & & 5 C ' ! m E Q n U U [ &.r / 7 b t 6 . : $ w ", -"% % % $ y l k k h @ ; x $ $ : : : : $ . ^ 5 * # # 9 C + ; ) 6 6 H 6 ) * ] 9 g l @ ) q l k J y w $ | y q . w G ( Q q * ] ; ] x . x x * q o f (.-.8.b.t.n.[+*+*+y+l+l+,+8+8+8+7+7+y+y+c+,+,+}+%+e+`.w+#+7+c+8+8+)+m+&+C+v+U.S.c.B+B+0.D.C.D.H.7.8.p.J.k.6.g.8.x._.` -.%././.h.b.C+*+*+W.m+m+r+*+D+D+[+[+R.s+D+9+n+C+4+o.1.S a i.(.N V 2 a , D g t ^ | * 9 P C J ' b u / X }.>.` '.2...0 N u q x # h J J k < F 9 T > _ J O o M O g } p P H * x ] 9 P l < F l _ > F q @ H H 6 y ) 3 x x = . | : % % % % % % : ] # * 5 4 & & ] H C k o M M u d { A f g v F F > @ 3 & % s % % % s s s s s % * F G z A [ Z ~ j r Q g 9 . $ 3 < o m z u 7 / Y Y V { B o k h ^ . : w + ; ", -"% % : $ y h t v J H ^ 3 # . = | : : | $ & . x 9 ! ' T y ^ ] 4 x w w 4 4 # 5 > q q < 6 3 5 @ + & $ = . ] 9 h v _ y 4 . $ | : % : | w 6 h J ! K ~.k.k.m.A+P.s+.+l+w+w+w+d+8+d+8+7+&+c+&+%+7+l+%+`.c+i+d+`.`.$+`.y+%+}+[+z+0+R.0+4+3.t.A+n.v.0.F.C.b+0.g.%.|.].=.N c &.L ..;.` @.7.K.x+0+z+Y.}+m+[+}+Q.D+)+m+<+z+*+n+u+n.r.Z +.{.` N c / Q E ! O v ) = * @ q C l J ' D , !.a.X 0 $.5.(.[ Q I ) # T C _ v v l T ^ 6 T C v k f b g G I J > y 4 . 5 H _ _ P P _ _ < - T ^ # # 4 x & = : = | | $ : % % % s s s % w ] 5 y # # x ] + q _ } g b E 2 / d D g v J P T y 3 w : % % % % % % % % % : * > G z / 8 j j K r a ' T ] = * 9 ' f u u , A 2 7 ! g h q 5 w : | * > p + ", -"% : $ . H p ' G v @ ^ 9 T @ * ^ ] $ $ & . x p X +.J ] 3 ; x . . 4 ; @ ^ 3 ; 3 # # x w w ] H 9 @ @ C _ v I o g - y 4 $ : : | | $ . ) h v O ( Z i.f.A.u.<+Q.Q.d+,+e+i+e+%+w+,+w+d+7+y+l+i+,+d+7+y+8+++$+$+$+@+e+%+i+.+R. +x+)+R.3+v+n+*+0+A+5+S.Q.r+C+T.C.F.u.h...0 ` ..,._.!.W (.z.b.A+t+)+`.W.}+7+*+*+m+.+*+W.7+s+o+u+u.7.8.~.#.U #.(._.Y B 1 E v H + q P l < l k o E i.` Q 1 L W <.n ! P . 4 q l k k G p q 3 H h k I O u m O p l v - 5 x . 5 F J p k J J t C q 6 ^ ] w = $ $ = | | : | . = % s s s s s : & # y T y + ^ ; ) T < p } ! u A 2 Q , D o b t q 6 ) 4 | % % % % % % % % % % w T J D V U S <.<.S V ! P 3 & # C o D 7 a , d B M k < y ] : : ] @ h M f > ", -"% % | 4 - p ' I h ] ; 6 y ) @ - @ ) 3 5 ; q U #., H w . . . w x # 3 ) ) 9 q 3 x w 4 ] # 5 H ' u M m m ' k } T 3 # = | | . 4 4 4 @ J ' J f c <.'.w.c.a+s+[+r+l+,+e+e+w+%+w+l+`.y+8+7+Z.,+d+`.`.y+8+e+%+,+$+Z.,+8+d+Y.|+n+D+y+*+z+9+P.}+s+P.s+&+e+c+s+ +3+U.t+u+s.j./.$.>.).2...!.7.p.u.U.<+R.)+8+m+|+z+Y.c+R.Y.W.X.o+C+K.@.j.=.U 0 8.$.{.8 , .<.8 } y H q < > > P h { @.z G E n ( { f < ] % & 6 < v _ t h H # @ l } ! m B z O _ - 9 3 & : $ 3 T P , B v h C T ^ 3 ] & $ . | | = = | | = . & : % s s s % % w y 9 @ y + @ ) + y - > < k g m d a 7 u u f p F y x | : % % % % % % % % % % | 3 > } B e i j +.j 1 D P w : w q } m 7 B z u b t T * $ % % ] T l O u , < ", -"% : & 4 T k I k F x x 4 ] 3 5 ) + - 9 > 6 l d M q # 4 # * # * * ) y # # 3 3 # 3 y > < < h 9 - P T H - q ) 5 w $ | : | ] H F P F t f } G u V Z $.*.m.u+2+[+c+w+%+%+e+w+,+,+d+l+,+d+$+f+l+y+7+`.`.7+}+y+8+l+`.y+m+*+<+X.n+W.&+D+ +X.D+Y.W.<+9+P.&+s+<+3+X.S. +v+v.0.x.~.)._./.2.i.].G.L.b+s+n+*+`.[+|+z+m+<+C+m+ +4+3+X.p.%.|.U r 8.6.[.#.7 f >.e g w . ) @ H y 9 T 9 i n y C V ;.Q k , S ) J <.p > k 1 7 h p 9 > I f f b ! b I _ y ; . | % | 4 - 0 n h < h C 6 3 ] . = $ $ & & % | $ & w # x & $ % % % $ 3 q < h C - q q y y y y @ T F G m u m f b ! M k P # : % % % s s % % % % : % : | . 5 P b A &.<.~ #.R Q v & % = @ J b u f o o I > 3 $ s | ; F J } m A ( l ", -": : = 4 F k ' } - x = & . ] 4 # 3 ) 6 6 6 _ p y 3 ) H 6 9 > < _ G - * 3 ) 5 ^ y 9 _ G I P y * # x & = = $ | : : : | & 5 > p t G D / B , 1 U ;.}.1.J.n.x+*+`.#+$+$+#+$+#+Z.i+$+$+i+++!+i+d+l+d+7+`.`.`..+y+c+c+m+P.m+z+R.P.[+9+ +2+1+A+A+V.b+b+U.o.T.U.O.V.u+B+b.'+w.x.^.{.g.g.].f.1.E.a+z+R.Y.r+P.R..+m+0+[+)+C+o+|+a+0.G.:.U L r.|.&.a ! , W - : : $ # ^ ^ ^ y 6 _ ;._ . T U W p M D / D M [ T J n |.Q b #.g t V :.z m '.z h 6 4 | : % % % 3 S 1 l q T 9 H 5 * # x & = & y b + $ & ] ; 3 # # x | : % . 9 v k ' p l > q H y 6 @ 6 T q I m o I I ' I I l < ] % % % % s % % % % | | : $ | | & 3 _ u N <.-.X j 1 ' x % = ) _ o o } k v - * $ % % 3 h G f d / r 8 ' ", -"% % : 4 F I O g _ y x = = = = . ] * ] * ] # 3 ; 5 T > P I k l y q P J J T 5 5 6 C h F q T 5 w $ : % % % : : : : | = ] + > P v } 2 n E A L ;.(.g.r.D.n.0+*+`.e+i+Z.i+#+!+++$+%+e+e+w+w+8+d+l+`.d+d+8+}+r+Q.Q.*+[+|+)+z+3+t+x+t+1+a+u.d.E.H.z.h.5.5.9.B.l.w.A.p.y.p.A.H.*.a.{.7.^.5.z.l.u.V.5+<+[+R.Y.`.D+5+s+X.A+o.2+L.B.L._.>.W G.'.X N o ..N = : : : = & & . * 5 7 [ # x T ` M ] * D i 5 A m ; y , j P S , H f f ..Z A / - ^ . : % % % % : f 8 P y + r u h 7 < @ l y . = c 2 # | w * 3 5 3 ; 4 . % : * 6 h J I I t C > H 6 @ H @ 9 > p M g I p p _ _ > @ $ % % % s s $ : % % $ | $ % : : : $ 3 J { i +.+.j Y b 3 % . ^ < p J v _ ) w | % | * < G f d c &.0 #.g ", -"% s : w C I ' ' t q ; . $ : : $ & . . 4 w w + @ y @ ) + 3 ; x x * h m M h - - F q H > I p - # & $ $ | | $ $ = = & x ; 9 _ J } 7 ( d V U @.>.:.9.y.4.V.n+Y.c+%+e+i+!+#+$+$+e+%+w+%+e+,+d+8+d+7+}+`.7+.+W.W.)+<+ +2+t+t+A+u+c.B+L.1.{.i...Z <.<.@. .~ L =.%./.7.z.H.k.s.1.8.8.{.7.h.l.p.t.T.x+X.D+[+)+R.x+5+2+u+n.4.J.k.%.'.j N j ].~.r E E @.v % % : % % % $ | & & Z / O w 1 Z > $ 5 ~ 9 ) i x w ; S ' f ` H 3 l _ [ 8 q 3 w w | % s % | : * ~ p * ] _ W ( u -.d o =.M & t Z f 5 - d ( J ! P ) 5 ] 4 ^ ) 9 _ p k I k > - 9 H 9 - > P _ g o O I t l F T 6 ] % % % % : z S @ : % % : : % % % % % & @ E r S j U V f 6 : . ) > q - 9 * : % % % x > g z A n 8 0 +.` } ", -": % : w T k } G _ @ y ) # 3 x $ | | | = & 4 6 9 6 3 # w = & w x 3 F ' ! o } l C P t D A B } v > C p t q + ] # # # H _ J I G o Q V 1 e <.%.|.^.E.t.T.v+<+W.&+d+e+++++=+$+$+e+i+$+#+i+i+,+,+7+8+d+`..+&+c+Q.)+<+n+0+v+V.U.u.4.E.:.<.&.U j +.=. .}.~.-.8 i U &.0 ;.g.x.x.f.^.{.6.^.9.H.D.t.a+2+z+[+)+|+<+0+5+u+o.4.E.^.'.8 G l ( U U R d ! O g ; | : : : s % : : % % e f - w 8 2 } 4 E V % 1 A I ^ , '.N [ 0 T w > - K c x . | : : | $ 4 4 & b =.] w * 6 ..1 } W ( o ` F & D N . P 7 m 1 > j f + 3 + l <.- M ).' } -./ G / k l z } t t n U b g k h q @ ^ x | s : s s s , z x s % s | | $ : % % % J =.1 2 1 N A d b - | & 5 H 6 y * | % : % . T ' z { N U j =. .!.b ", -": : : w T t G k - ; + q k &.z y x & = = & w w & & . & w @ - ^ 5 + H h I C l P F g c K [ V d z D D , / { ! p h q y q < t k O m { N r j %.6.^.B.C.c.1+ +R.Y.W.`.$+$+Z.$+i+#+$+e+#+#+e+i+,+8+`.d+8+7+.+r+m+r+*+s+ +4+a+T.t.H.{.(.U { , d / / d B u z z 7 / , z E , &.%.[.x.r.6._.[.7.9.w.u.u+t+ +|+)+R.X.x+c.o.v.D.*.|.~ a h h A L N { m M t T ; & | : % % : % % s % * 4 % : _ P $ % D T : { I 4 9 N Z Q ( e _ 3 f d O =.G P $ w ; 5 @ 6 5 ; 1 R ] x # E L @ 7 X l E Q # x <.G & ! < #.J 9 (.p + 5 H # Y 1 B / _ { :.e a ,./ { /.1 J 7 |.W $.` O > o / g = % % % $ $ 5 Z 9 : % s s : | $ : : % % l e J f , A d D G + % : * ^ ; 4 $ % : : $ + l f Q c 8 <.=.%.2._.b ", -": : : & H l t t q ] * ; - g v q H 5 4 ] 3 # . = w 4 ; @ _ _ < t t 2 j } y p z p / ` Z [ c V a B f z d Q 7 , { M G ' o M m , A 1 r 0 ,.8.9.l.y.K.4+x+C+D+Y.P.y+,+w+w+e+%+e+%+%+e+w+8+8+7+7+y+`.l+`.}+c+.+c+c+*+n+o+u.d.B.g.$.;.<.U 1 d E 7 / n a { B q ; 3 H G ' b S ~.h.*.].:./.~.f.0.M.U.4+C+D+Y.|+3+4+b+v.L.1.{.2.L E h G r L Y 2 ! } v 9 3 w $ : % % % % % % % : % % % % % : : % % % : | 4 9 J k q g t . + m 5 | a C $ & @ - > h h - q N n * x x <.h ) @.' ) @.l 5 t @.) 4 ; m 8 6 M j 6 ^ 4 $ % a a 3 H T J i.c b %.N A 2.b l V /.J 8 _._ h e B k . = | 4 G M Q Y & % k g t * _ | % : ] : U M ^ k M D D ' - = s % & & | | % : : % . - p f { Y S Z ;.'.:.|.m ", -"% % % = l n U u ! - x 5 6 + @ y @ 9 q _ - * x * y + T P G ! ' < ^ V ` ( V W ).[ i +.j Y N V 2 Q Z ..2 B D B 1 &.R n d a c [ i X ,.|.7.x.H.w.m.U.1+2+S.z+[+P.r+7+l+,+i+e+%+e+e+w+w+8+y+.+c+}+l+l+l+d+d+}+7+d+y+y+&+<+2+o.'+p.C.L.A.1.j.>.K @.x.d.E.g.v & & 6 f ( B V >.].e.^.[.:.j.5.E.I.U.V.n+s+[+z+t+O.M.'+B.^.~./.i.` a ( <.Z &.a b J F H ; w . & . 4 w . = $ : % % % % s % : : % % % % % # @ - q q 9 # | % % % : % | ] 6 < J p p J t F B c ; 4 F 7 x I Y * J ` < H A ~ } + 5 R 2 - Z v } l ] * 5 1 A 4 3 + a X F A =.o c R _ < 8 #.- j +.+ @ ~ y # + @ H / S # u } : u v { v + Z | % > B G X 3 = 6 t G J h # % % % : % % : : % % : y p M a c U <.X ..'.|._.f ", -"s % s @ , V <.f i b @ } [ J 3 + E @.O ^ D { z < < ' h J g J T 5 J ~.8.).i { { 2 i 0 S R Y N n ( -...N { A V #.h.).8 Y Y ~ $.%._./.}.q.r.w.D.M.V.V.4+t+ +D+)+m+.+y+d+,+l+d+,+w+y+`.`.}+.+r+&+y+8+`.`.y+`.8+d+l+l+,+8+}+W.n+S.x+5+1+5+b+C.z.q.9.*.l.~.m * x P B [ ( [ ).e.B.f.|._.[.*.w.I.U.v+X.R.|+ +A+3.A.5.g.{.f.*.B.a.=.+.@.Z N Q g C 6 3 ] x w ] # 3 + + @ 6 ^ = % % % s % % % % % % % % ] @ H H 6 + . : s % % % | * q l k } g } } J F J i * x & w & 5 @ 4 9 G ; * k D * 4 ^ a ( E k T ( &.+ D O t +.g k H =.g - ` G 9 %.} < v .u v ,.t * x &.Q H > F ! :.o _ 0 y : / + c & T 8 % P 8 = 6 1 % % | * 5 ] 4 | % % % s s s s s s % & h b d N K Z Z X >.$.2.(.g ", -"s % s t J <., > #.t > N ` C x [ v j G h M R &.b d ~ k i E @ - 2 B.5+0.K B ( g m L -.X 8 R c 1 N R U &.K L #.2.^.` S K Z [.'.!./.6.a.H.A.N.3.a+u+O.A+t+X.D+s+W.m+.+8+d+d+w+w+8+.+}+l+y+c+m+W.r+}+8+}+c+7+8+8+l+w+%+w+7+c+Y.D+ +1+5+5+2+4+5+5+K.w.1.6.j I P O 1 L <.-.6.*.h.g.|._.6.h.D.B+5+ +)+)+s+t+U.D.*.8.f.z.B.l.E.q.$.-.W +.e d } T 3 * 4 # # 5 9 h v t t t h 6 w % s s s % % % % % % : . y T T @ ) : % % % % | * > l k M z E z b t > l V 4 = | | $ = 4 4 x ] x . . ] ; # ^ T F P C < V &.* G x = D q # ' ( H M ( 4 p @.g J , .G ` I ^ H J b <.F ' > 0 S v a W T * * Q p % B J ] S v % o t % % % % : % % s % s s s s s s s s : x < f ( [ Z @.-.;.$.2.2...J ", -"s % % : G S C t S + 6 +.f $ b Y , k = f 6 ( < , { X I |.( u ).b+&+t+_.[ ` [., 2 |.F.h.>.8.S r %.).` =.%.q.^.'+z.'.W X a.:.(.[.h.G.p.'+t.B+a+u+V.u+1+0+ +<+*+r+c+`.`.}+y+%+@+Z.8+}+8+w+++i+`.`.l+8+l+e+%+e+%+%+%+i+#+Z.l+.+W.|+t+a+b+V.t+|+P.z+5+a+4.s.}...Z j ;.|.~.1.l.r.8.|.g.5.l.t.O.t+s+&+y+P.0+3.H.*.h.h.x.z.r.H.q.>. ...~ i 2 o C 3 # # # ) T p g o b ! o } P H . : % % % % % % % % % . ^ 6 ) 5 w % % s : : x @ _ k b u Q Q B b v q H @ * $ $ | | | . w & & $ $ = 4 ; ^ 9 C _ t p M m P : : : % % = # + T y 6 H 5 P ! > J 0 <.7 9 3 # q V b ' G 8 p ~ Q f @.+./ H 6 #.^ - Q w ' i | + K 5 % % % % % % % % % % % s s s s s % & ) v z c U ~ .$./././.(.` h ", -"% % % % Q 2 6 [ J ) Y -.C = 8 [ w : : 4 u d 4 L d k t ;.K H.z+.+m+E.<.8 7.]./ 6.].0.}.W l.@.i.0.A././.w.J.'+V.l.^.6.*.h.[.7.J.b.M.I.u.3.o+o+O.o+O.5+0+C+R.Y.m+.+c+}+}+}+&+$+$+w+`.`.d+l+}+.+l+e+,+,+,+d+l+f+!+%+e+e+e+i+d+}+m+R.t+A+o.b.c.5+x+2+o+A+3.'+y.1.8.6.5.D.N.t.d.*.{.h.F.0.b.u+t+R.c+7+*+0+v.r.8.6./.|.[.g.q.}. .X @.Z i ( ! < y * # # H J M o b ! u m ! J C 6 . % % % % % % % % % . ; ; x $ % % % s % | # @ l g f B Q , D I F 6 ; = | % : : : | | | | | : : | = * 9 P k I } g M J y = % % % % % . ] * # ] * ; ^ q h d !._ ^ * ] & w ^ * = p [ > o z C 2 A P T l &.t h 5 & u Q ) , L t f 8 # % % % % % % % % % % % s % : # + h M 2 [ #.!.).[.j.).'.<.F ", -"% % % % O 7 ' p 4 3 <.U Q ) ~ R 9 I & & W I ) ;.O y 0 f.a+c+.+c+C+~.<.>.F.=.S ].f.w.;.!.7.>.s.a+p.h.J.a+m.M.4+L.A.E.4.*.h.J.3.d.5+M.K.U.R.x+X.*+b+1+Q.z+[+P.7+w+}+}+c+}+c+e+$+8+c+y+w+c+&+c+7+8+y+}+8+}+}+Z.w+7+,+w+e+#+%+.+m+)+9+t+U.I.A+x+4+T.b.u.v.v.3.b.t.L.m.5+0+O.K.A.G.A.C.J.n.1+z+*+`.l+m+S.J.{.i.W j i 8 #.>.W #.#.~ j S 1 E t q ; # ^ q I O b m B B B E M G t H & % % % % % % % % . ; * . | % % : % : . 3 9 J } z z E ! I P + # & : % s % : | : | : : % % : | | * > l ' g b z D M k ^ : % % % % = x ; 5 5 ; 5 y T M #.~ h ; & . $ | : % 4 h P : | & x ; ^ y 9 ) 6 ) 4 : & q G 6 q M 3 l { $ s % % % % % % % % % % : % $ * 3 - O a U -.'.:.6.g._.>.i q ", -"s % % : & * ^ $ $ . O O 6 5 B ( l x w 5 8 2 m =.J 1 J.|+$+!+}+`.A+x.@.r.l.:.$.i.d.[.;.9.(.e.3+ +N.N.C+V.a+ +2+B+3.v+m.E.w.o+D.D.3+a+n.A+|+3+z+s+1+t+Q.9+|+`.c+d+.+c+y+c+y+%+i+8+8+++l+}+c+7+l+c+}+.+}+c+e+@+l+d+d+,+l+d+d+l+,+8+.+W.R.C+ +C+C.F.l.H.A.L.t.K.b.O.[+m+[+2+o.3.u+v+B+b+A+C+[+r+y+c+Y.3+m.{.>.K V B b } 2 e 8 j L K K c Q M _ y 3 * - ' f , A ( 2 { Q E D O h H & % % % % % % : . w ] . & | % % s : w ) - J } M M O G > 3 . $ : : % % % % % : : : : % % % : | ; P J k O ! u d , E t . : % % : = 4 ) H 6 y y 9 P D N V G ^ ] = | % % % & w % % % % $ w ] 5 3 # # ; ] = $ $ 4 * * . % % | % % % % % % % % % % % % % % | w ; t { U @.'.~.^.h.8.:.%.S > ", -": : % % % % : : | | $ . # 5 ^ ; x * p k h J J a 8 q.D+_+-+>+`.Q.b.g.).D.k.9.:.;.A.(.~.5.{.5+w+.+)+ +R.A+C+r+0+5+3+c.u.4.u.5+9.v.n+U.o.t+z+A+9+Y.O.0+n+C+<+`.m+W.Q.Q.&+.+.+l+e+8+i+l+y+y+7+%+Z.`.c+`.l+,+!+,+7+7+w+e+i+w+%+w+i+w+y+}+c+r+`.)+U.'+s.z.G.H.k.d.K.0+m+*+z+S.A+n.1+<+v+4+v+n+y+`.Q.W.[+0+w.V y 4 = = . x - M 2 n Y &.Y V a M v @ # 3 - G f Q A n ( / { 7 E o ' l * % % % % % % : $ . & $ % s s s s % . ) P v J k J P y 4 = % % % % % % % | ; 5 ) # & : % % : : ] h G k o m , A / Q b @ % % s : w * H > F T q F > C P C 6 3 x $ % % % % % % % % s % : = $ . x x 3 ; * ] 4 3 5 @ H 3 = % % % % % s % % % % % % % % % % : 4 h a L !.j.e.1.E.w.x.7._.+.C ", -"% % % % % % % % : : : $ . ] ] y H v < * x # y z _.'+7+k+]+~+%+*+o.l.f.z.B.a.}. .].:./.2.J.,+_+!+7+W.*+ +D+P.9+z+C+n.b.I.b.b+l.t+x+B+c.|+u+a+[+x+U.X.A+3+ +P.`.)+Y.P.r+r+m+l+Z.c+y+r+c+c+y+Z.i+y+y+i+8+c+#+7+}+y+$+,+@+%+e+#+i+@+%+l+7+`.Z.`.R.x+b+I.d.d.p.4.o+b+[+z+S.5+5+4+0+z+D+5+t+X.&+)+)+*+s+C+J.c w = = & ] 6 - ' / *.<.8 e 1 7 } v H ^ @ C g u d A / / / / { , f O - $ % % % % % % % : : % % % % : : : : & y < _ < _ > 3 w & : % % s % % % | + C _ p t q 3 | % : : = > G g f B { c Y V z _ = % % & # ) q l P < _ t v t J l F y w | % % % % % % % : : : = w . & * @ 9 9 9 + ^ H q P > y 3 4 : % % s s % % % % % % : : : : : * b [ .{.x.E.N.I.m.p.x.{.!._ ", -": % % % : : = w . | : : $ & 4 q < - 6 3 3 4 # N G.n.&+]+j+g+Z.7+R.2+B+v.t.B./.W X -.;.}.u.`.>+>+#+c+*+D+C+S.1+2+B+M.b.K.I.T.4.a+o.B+4+3+n.0+ +b+5+x+5+2+|+ +8+R.W.Y.)+W.*+}+i+d+*+Q..+&+7+++y+c+,+%+&+8+#+8+`.i+i+$+w+8+e+++l+++#+`.c+,+!+7+r+)+9+1+b+T.O.z+1+3+W.S.v+V.v+S.2+2+*+0+S.X.r+z+D+|+ +x+B+$.> . & & x * H I 2 2.-.i n / m k < 6 ) 6 P I m 7 B d Q A A , B O l x : % % % % % % % % % % % : : : : : : $ ^ > - C C - y 3 $ : % % % % % | * F ' ! m D o t * : % : $ ^ J M m , c K U c , k # : : ; 5 9 F _ P P v J I ' ' ' v T ] | % % % % % & x * w w ] w . x y < _ < h P F h v J v q T ) & : % % % % % % % % : : : : : : @ 7 0 2.h.w.4.n.U.o.I.p.z._.J ", -": : : : $ w # ; ; 4 | | : | & 4 ] * ^ P l # 5 V z.B+t+#+^+/+~+++d+&+|+1+3.x.].[.>. .).q.L. +i+6+-+,+Y.z+0+v+V.u+c.U.c.c.u.p.A.'+u.3.a+c.o.4+U.M.1+A+B+1+R.D+Y.9+c+*+<+R.R.Q.l+P.W.Q.*+m+w+%+.+c+i+}+c+w+,+.+7+Z.w+8+l+8+!+i+%+f+$+y+c+,+e+8+c+W.P.R.0+x+9+|+z+)+m+2+v+5+5+D+4+o+[+9+1+X.R.X.9+|+t+2+u+l.2 n O ; k h w 3 _ u [ N 7 M k P 9 + ^ @ C k O m D u u z m O J q * | : % % % % % % % % % % % x } = % % % = 5 @ F h J _ < T ] | % % % % % $ ^ < b B { , , M - = % | $ w q I ! 2 U #.Z r A g 5 % = ] 5 6 > h l v p G O o b O g C ^ = : : : | w ^ + ) 5 ] 4 4 4 y < p ' I I ' I o b g J < F - 3 = : % : : : : : : | | : : : $ > A X :.r.y.B+o+A+u+n.I.k.].} ", -"% % : | & x 3 ^ 3 4 . & = = & x 5 ; 4 ] ] 3 5 b [.'+u.4+y+-+/+>+++$+}+R.0+n+|+v+D.a.f.k.J.T.Y._+{+Z.Q. +5+U.U.b+T.T.a+T.4.y.w.I.3.B+3.b+o.K.M.T.T.u.u.o+C+S.0+X.W.[+n+<+9+|+*+s+W.W.)+W.%+d+&+.+%+r+}+$+,+8+d+!+l+%+i+w+:+,+Z.:+e+l+l+Z.d+}+.+r+}+P.s+&+s+C+ +W.Q.0+x+v+5+R.v+5+9+P.x+[+z+n+n+9+<+X.4+T.m.f.h.i ~ #.f c ,.i ! N $.I } [ < ; + ' D g } o M g ' ' l H 5 . : % : % % % % % % % % % % % 3 K = % % % = ^ H P G o g } I > w : : : : : $ ^ J D , / / ( u p ; | | & & 3 F b n S @.X j c m 9 & $ x 3 @ 9 > _ l ' b z D z b I l 9 x : : | 4 y - P < 9 ; w 4 @ < ' } ! M ! D m B u b I k l > + 4 $ : : : : : : : | & w & $ $ @ a ~ }.z.d.o.o+1+o+O.n.N.*.f ", -": % | = ; ) y ^ 3 3 * y 9 C q ] 4 4 ] ; 9 ) 5 J Z k.v.y.t. +7+f+~+~+:+!+~+/+6+6+l+0+B+K.U.a+x+e+6+@+&+S.u+A+o.T.c.U.o.B+u.D.C.n.T.U.c.A+c.3.B+U.c.u.b.5+2+x+t+X.<+X.C+C+z+R.s+D+[+)+P.&+.+c+r+&+7+y+W.8+7+}+7+#+$+e+i+l+#+e+@+@+e+Z.f+f+w+`.}+8+`.m+`.Q.R.|+s+8+&+D+C+x+<+s+S.3+n+.+*+m+|+R.|+|+[+9+1+A+O.4.4+*.+.Y c ).{.e u A (.M m ` + 4 k R %.e ' o g , !.k - R F $ % w # ) ] s : % % % % % % % % 9 % % % % w 6 > v o m E D f ' H . : : % % % . T M d / ( <.i O @ ] ; v F . ) O n L .~ 0 e u h * $ & w x 5 9 l p o ! z E z ! g _ H 4 $ | 4 9 < t k ' _ H y ) > G D D z E u E d d B ! } p l > ) 4 w & | : : : = = w ; y ^ 3 x 3 O K i.^.0.3.u+2+1+V.a+M.w., ", -"$ . w 4 ^ y ) ^ ; x * + C t H x . 5 H H P 3 5 h B :.t.t.r.r.J.o+*+7+w+,+#+>+(+k+j+-+%+Y.X.v+z+%+#+w+Y. +5+a+3.c.5+A+c.T.M.y.C.a+c.o.o.o+c.M.B+b+V.B+T.4+2+v+x+C+S.v+x+0+0+S.n+<+R.Y.m+r+Q.m+Q.Y.W.P.[+[+W.r+.+7+d+d+w+d+l+i+w+w+e+++=+f+f+#+i+i+l+d+7+z+n+|+m+,+c+Y.<+[+c+)+ +0+X.r+8+&+W.Q.Y.[+Y.)+n+t+o+U.X.p.}.&.&.7.%.} l J ` P g r : H <.1 R { v J ' e &.K a / T x + h F S g : v U w < &.H % # P 4 % 4 y : ] q _ p M D B B 7 m J @ & : % % % % x P g Q 2 ;.!.! P J K I ;.j ' G @.q.}.~ K n D h # : | | w ^ 6 < J M f f z m b ' l 9 # = $ ^ C k M z f I v _ v ' ! 7 d a A 2 ( / / , o ' _ - 9 3 # ; ] & | : : : . ; @ l l F 9 + C 2 +.:.9.D.u.a+V.c.U.3.A.A ", -": 4 4 x . w ^ y # . & w w ; * w x C } ' C ] * < I 2 r.o.I.l.5.h.A.b.n.2+z+.+i+;+/+^+h+{+_+f+l+&+s+W.&+ +U.K.3.o+1+4+O.c.B+A.J.c.c.n.o.O.U.3.b.o.u+T.O.A+1+v+1+2+1+v+2+x+S.3+X.z+R.Y.W.m+m+W.m+P.W.W.s+s+P.Q.y+7+7+7+l+e+w+,+w+,+%+%+$+++%+l+l+l+7+`.c+s+9+<+Q.c+y+c+}+y+}+m+[+D+|+)+y+m+.+d+`.W.Q.W.Y.)+S.S.2+u.h.&.<.6.1 I C e ' * c 9 $ E W I ! C t v k } 1 !.> < 6 F / H P L ] y p Z > M #.# + m 8 l 4 } X 5 { >._ Z _.B Q 2 a Q B } h # : | % s % w < f a c V M ' ;.u ) t a F k +.l.W <.[ V m h . % % : & * - _ O D u f m z b } t 9 ; & . y J g u E m M O } o m B d / n Y R N V ( B ! G C @ + 5 H 9 + w | | | : w @ t } f ! G _ C G { Z _.h.y.N.u.u.m.N.H.Q ", -"$ ] # 4 $ : = ] x & $ = w 5 3 x x C / D l ^ ^ } I k ` N.t+<+2+N.G.z.E.t.5+9+}+f+f+#+:+/+-+@+r+t+t+W.R.o+b.B+O.1+v+5+o+O.o.L.4.a+u+b+c.A+a+n.B+b+o.b+o+1+t+2+x+2+1+x+x+3+n+9+ +9+|+*+P.*+*+[+P.P.P.Y.s+Q.r+&+&+y+d+8+`.`.7+7+,+,+,+e+e+!+Z.$+$+d+y+Q.Y.)+s+|+9+D+Q.`.7+Q.)+*+P.W.m+Y.m+}+.+8+,+.+W.s+[+r+|+1+o+o.9.<.(._.V B M R ; f [ T @ &.K 9 t I ! o M ! L ..h h l N a ^ Y m | $ p j > M ( % ^ [ i ^ ^ ! i ! V +.[ >.}.( N Y e i i Y >.B w k { z H f t I Y r u z Y 2.v H y ; ) G .8.S K N d b > = % % % . 9 v O E a Q E D D m b p q 3 w 4 + p m 7 d u D E B B B Q ( e r &.U R e A B g v 6 + ; @ < P H 3 & | | | # - o E n 1 a u M J p d S %.].z.s.s.G.r.q.B ", -"| # 5 w | % : : $ 4 $ $ . # y 4 w M K B M k I b C l J !.M.Y.l+.+X.4+U.4+9+<+R.`.Z.}+&+c+Q.s+ +2+0+3+0+3.t.o.V.5+4+V.u+T.b.'+v.a+a+c.c.A+V.c.c.c.3.U.v+2+S.x+2+x+2+2+1+t+3+C+n+X.X.|+R.D+|+s+*+W.*+)+m+c+c+&+r+r+}+}+y+`..+}+y+}+`.7+`.e+Z.++e+8+&+Y.[+s+D+<+<+R.P.W.}+}+Q.r+W.Q.W.*+r+m+.+`.c+m+Q.W.Q.*+9+o+U.A. .d U R h < ! l ] D M 4 5 A e k 7 c #.Q j Y K i.1 E O =.M B X < $ T r l y c 5 % < j I % ] 2 V 6 r S z W <.n r &.X _.[ &.'.G f z g } 3 &.b V >.$.z , >.` M k 1 z ^ k j.~ r R r &.m y $ : % | ^ v ' z Q 2 / , u z m b G H ; 4 ] 6 p m d a A Q d 7 , d { / e ..8 R r V , f G - y 6 H > k t > 6 ; w | | ] > f 2 K 0 L &.1 D J v o 1 +.>.:.[.:.~.(.b ", -"= ; 5 4 : % | = . # 6 > _ # . & < 7 +.Y 1 E 1 f ; t y < '.u.[+d+,+`..+.+Y.<+X.D+}+y+W.n+S.<+[+m+9+v+c.t.4.c.4+5+o+v+A+a+n.t.B+u+A+V.a+o+4+u+O.b+B+o+2+C+X.S.3+ +0+2+x+0+0+3+s+n+S.z+R.s+|+[+W.Q.[+)+.+l+7+.+&+r+c+}+c+}+y+}+y+y+}+7+l+++>+~+f+i+,+.+[+R.|+z+D+Y.Q.m+&+8+8+7+y+}+c+c+y+c+y+`.}+.+Q.c+d+&+[+ +o+b.5.e p _ > ] | | : . . % = H v C v S -.r ` / B #.e v f #.f A S ' @ m / ; 7 e T ^ 2 K F w _ Y 3 P K < D ~ z / Y #.g.i.&.:.0 g Q D [ ] C <.h 1 [.` o A i.z _ Y '.V 5 A /.Q V U ,.$.-.; : : ^ K { O @.+.V +.;.2 R e D u G q y + H h O B A N Y c V { Q d a / n #...r c A u M _ _ 0 +.) l M } k _ > + w = # < 7 U @.,.>. .~ r E l - h D e i <.#.=.~ G ", -". * 4 | % % 4 H @ H B '.o $ O -.e Y '.0 R Q R G 4 k - F k ` d.0+*+c+7+7+m+[+z+D+W.c+Q.s+)+r+e+l+|+a+'+d.t.b+u+o+4+V.a+U.n.v.U.O.u+A+O.V.4+a+b+c.A+0+t+ + + +9+n+S.0+t+S.x+5+S.x+C+X.X.9+<+[+Y.Y.*+W.Q.&+c+c+&+W.r+.+.+c+&+W.r+&+.+`.8+++=+_+=+#+,+c+*+Y.[+|+R.[+Y.Q.&+7+,+8+7+c+Q..+.+&+&+}+}+&+Q.&+8+c+Q.*+n+A+t.2.! q * | : : & 4 * ] . & 4 y ' &.Y I O M M f } < < J 6 > G 5 ) o q ; m k = + 2 Q @ 6 M k 4 d G 3 N 8 A K &.~ e.>.2.a.R ! b i A > 2 A p +.$.f } 8 ` q F R 0 H T r r M ( !.;.&./ $ | ; g ( |.K Z =.S /.5.#.~.j., ,.%.C _ K c ! X U V -.j c Y +.>.7 7 a a [ g.( Q u b v 6 q 8 o @ k b f ! g v y x x y } V 0 2.g.{.[.%.<.Y Q p _ I D ' m B A 1 _ ", -"| & | s s % $ x ] w } +.= | < ..} ` [.,.j U r h ^ } r W T > R q.I.2+D+W.m+m+)+R.z+<+*+Q.*+c+7+Q.2+L.r.k.4.c.V.V.V.U.T.c.K.m.n.u+4+4+O.u+A+T.T.5+t+3+3+C+ +9+X.0+t+S.3+x+4+1+x+x+0+0+t+C+9+*+*+Y.P.)+Y.)+)+)+[+*+W.Y.)+W.Q.*+P.Y.Y.r+.+8+e+++i+,+8+r+Y.s+R.z+<+R.s+[+W.r+W.Y.R.D+9+<+s+)+P.&+c+}+c+`.8+7+}+Q.[+S.b+E.L + $ : | x 6 T q H H H < p B , ! M o o g M v q ) ] & & | % % % % % | | % = ^ ^ : # q . @ k ] y a O k ..j i ~.@.|.j.K D { Z E 7 1 h A ).=.b f j 2 + o @.7 ^ ' S _ C e ,.n ! 5 $ | ] - c [.r 1 R 0 j.a.;.[.:.<.!.j h a S j Z (.W @.8.%./ +.g.~.}.>.u E R ].Q O I t - ^ ' 0 y q k f B z O _ H ] 3 < 1 (.=.:.^.5.a.j.).(.R { i 2.O + + y C k + ", -"% % % % = q h b | $ [ E = $ 1 n } ;.:.,.X +.[ h h } U i # ) ) I <.e.t.O.0+C+0+A+a+u+x+2+1+C+t+a+E._.j.B.N.T.V.V.a+U.b+b+4.4.o.O.x+2+u+O.U.U.o+x+0+X. +C+z+D+ +S.3+ +3+t+x+C+t+x+0+t+0+ +9+z+R.|+)+R.s+|+z+<+D+R.)+[+s+)+Y.|+)+[+|+[+*+.+y+8+8+`.&+*+s+<+z+z+z+9+3+X.3+v+A+V.A+2+S.X.S.3+<+[+Q.7+8+`.l+d+`.&+P.n+V.v.{.l | $ . H h l t k ' O B Q 2 V V 2 7 b M g < H * . $ $ | % s % % % % % % % % % : % : : : % % | # ^ J j n z N 2 [ j a o z R Y g T q d @.Y G a 8 - # 2 S d O ( j g v U ~ O H ) 5 # @ l X j.[ e Y X q.!.0 a...n j u C O @.e / ~.~ =.:.[ 7 ~ i.e +.,.m p n i.z v h F 6 T / 1 z .r z A -.L v g l ) z 2.g.!.j.a.e.a.9.d.*.;.+.!._.} l - y 9 - * ", -"% s % x z 4 ( V $ 9 !.t 3 y %.o a +.,.'. ./.8 t G ! :.c < > 4 w ^ } K }.r.w.A.s.w.y.L.y.D.k.].Z z D ;.*.N.a+4+o+A+V.V.U.v.M.O.4+3+t+o+u+a+5+C+9+z+<+9+z+s+R.9+9+n+9+X.X.C+ +X.C+S.n+ +S. +9+z+D+s+[+R.s+|+D+z+9+<+<+|+<+9+X.<+R.D+|+[+)+*+Q.Q.r+W.*+s+z+X.X.3+x+u+b+v.m.M.v+D+[+P.*+9+0+n+9+s+&+`..+c+`.d+`.`.P.3+n.A.n = x 5 F I } M 7 Q 2 e U i K S &.e E O J C 5 w = $ % : % % % % % % % % % % | : % % % % % % % & + _ v h l p O o f o k h q 6 ^ ^ 6 C t C - e u | ] O Q > 9 A A > T ( j , P f Q I D e ,.6.}.` U |.:.&.'.i.Q U n q F Y U l r W B 8 ~ z 7 -.<.b ~ 8 6 T r =.G F > 9 ^ G <.a ! 0 r { ..[.<.z ` ! q S 7.6.}.g.{.^.5.'+n.H.7.q.s.j.L V D I v _ 5 ", -"% % 4 N q + j 9 5 / ~ F T A @.J u c =.$./.;.b - k R }.N 7.8 = $ = < G n z A j <.K 8 <.+.( o < y ^ h i q.p.B+V.o+4+o+4+T.K.T.u+1+t+1+c.O.A+C+n+z+z+n+n+X.<+|+z+n+z+9+n+n+ +n+X.n+C+ +n+ + +n+n+n+n+9+n+9+9+9+n+n+9+ +3+C+3+S. +9+9+<+9+9+D+|+|+9+9+D+X.S.5+A+b+t.p.y.E.L.U.<+Q.}+y+Q.P.|+D+R.s+m+y+}+&+&+`.}+.+m+[+A+m.$.3 $ 3 P ' ! z { 1 [ S L j L i r N d p 9 3 = % : % % : : | % % % % s % . ] 4 x | % % % % % % : = x * 5 ^ y 9 F - 6 # 4 w $ & x ; @ / l m Q + : $ = # ^ @ - - @ y t m < # f r D / B A '.>.U ~ 2.j j './ m U Q @ p 1 J b U k o [ z t a Z u 7 U t ] h j e H ^ ) * ) V Y 3 ! <.7 z #...{ i &.+ J .:.X ,.j.j.j.5.t.m.x.z.p.'+f.p.q.&.n r (.1 ", -"% w M d = ( ( | F Z D ] > ~ V u f / =._.}.K P < d ;.>._.e.,.5 x D ) b 0 y b N 0 V z _.m 6 M 8 A ; > U 8.A.K.a+V.o+5+o+n.K.T.a+4+2+O.O.v+0+9+n+9+n+ + +z+D+D+|+n+9+X.X.n+<+9+9+ +n+<+D+z+n+z+n+C+C+C+S.C+X.3+0+0+0+S.0+x+x+0+3+X.C+ +C+C+S.S.S.S.1+t+4+u+T.v.y.A.y.k.l.C.A+)+c+d+8+7+}+r+c+r+&+y+c+}+`.y+y+`.&+[+s+S.b+1.} | * F k ! B { &.Z ~ <.S S Y n a D t ; & : : : : | & 4 4 & | s % % w 6 T + 6 3 & s % % % : : : : $ . x ] # x $ % s s % : | . ) 9 2 f M H & $ . # y + 9 T > > h _ C q 6 o G ) T h ! V r Y [ R { Y V I g D 6 w M G ^ d M = ! A C ; 2 V 7 n P 4 4 B i _ ] 4 4 = l &.h 9 N B I 7 ` &.2 +.m ; { _.-.L -.$.i.(.h.N.B.*.H.K.t.z.p.F.%.j.~.|.<.", -"% ^ 1 2 b &.d P 2 ,.m y I @.E g b [ K $.'.n 5 _ i ).~ .z./.V d O ] e b y [ } R J / a.o ! +.E <.5 T c 6.w.v.U.O.A+3+D+3+B+T.v+n+X.A+A+x+z+9+<+9+z+n+ +z+9+z+9+|+D+z+z+z+D+|+D+X.<+D+n+9+9+n+9+X.S.S.S.0+0+x+t+S.[+Y.2+4+v+1+0+S.t+v+1+v+4+v+A+5+o+u+o.K.I.b.u.4.p.8.j.B.n.9+.+7+l+`.r+y+`..+&+y+.+}+c+c+.+c+Y.z+s+|+4+J.U & w 6 < g D A 8 #.<.<.8 Y { 7 D ' @ | % % % : $ w 4 4 w & = : % | H P P P < F # : : : % % % % % : : : % % % s % % % % | w 5 9 q > < ^ ; # . . * + H q > < t G g k C _ 6 = ; 9 l f Q 2 { 7 u f b } P + w = | | | $ ; x : @ H % ) e n C $ % % > R p = $ $ | : M { 9 a ' 3 < S :.L Z i M ; L ).L i Z =.;.%.G.r.:.[.H.u.x.h.L.x.f.E.1.}.z ", -"% 3 D G P / E B #...2 l 7 ` Q M Q Q / ,.i./ x M $.S c [.l.).2.~ 5 m U 3 9 B d a F j !.! ;.[ 2 h ; ) Q ).l.t.b+U.o+z+U.O.M.5+z+S.|+x+4+9+c+[+Y..+z+[+r+<+9+3+s+*+z+ +n+<+z+z+D+Q.[+z+n+9+n+C+ +3+0+t+0+o+o+o+A+4+|+ +U.b+c.a+S.)+v+o.T.3.M.o.B+M.3.4.u.n.u+A+c.M.s. .0 g.s.M.t+D+[+)+s+m+`..+&+y+r+&+.+.+}+}+Y.*+Y.|+0+K.2.+ : . + P ' E 1 S K U e A m O t H & % % $ & 4 5 6 y 5 ] x . | % & F v I ' p _ @ $ $ = | : : % % % % % % % % : : % % | 4 + - > > F C q H ) * 4 * ^ @ > l J } o f O P + x = . ) < O D Q 7 f o ' t > y * $ : % % % % % % % % % % d / ] : % % ) Y G . | $ $ | : > g g ] | = y &.` E [ R J 9 ~ ).j N &.~ -./.A.9.2.i.w.G./.l.k.7.k.t.6.X G ", -"% % = = . H q k ( Y E q b A k u 2 g A $.2.B w i ~.u L '.%.i./.<.I 8 [ 6 F Q ..! d %.N Y $.B @ ) 5 ) f '.F.4.B+U.O. +o+o.V.n+3+v+)+3+o+R..+[+Q.c+s+Q..+n+3+D+Y.r+R.X.n+R.z+z+r+7+c+.+n+X.D+|+3+z+2+x+2+u+O.a+O.o+|+T.3.K.M.M.A+n+K.b.4.4.I.I.m.'+v.n.V.v+1+v+V.c.p.-.a #.|.z.m.b+x+<+|+)+m+&+.+c+r+m+.+}+7+d+d+d+c+s+n+u+h.h : : = ] P b d 1 N ( Q ! k 9 # = : : x ] + T > _ P 9 ^ # 4 $ : 4 _ ' f ! M t 9 & w x w & $ | : % % % % % % % % % : . y P < l J G G J v C y ^ @ 9 P p b f B Q Q D p 6 x = & y - I ! u u f G ' < 9 ; . | : % % % % % % % % % q i A w % % 6 1 C & | | | : : % % : | : | | . T k F l l # ^ Q n B 7 n L <./.r.j.,.{.B.a.~.s.a.~.p.N.8.}.b ", -"% % : % | . x _ u B O > ' M ' M b T B @.` ! ) ..-.I #.1 L '.L 7 P a d J Q ~ 2.R L i { ~ !.n E < y 9 m !.B.I.3.B+o.x+ +a+x+D+v+t+P.3+v+R.Q.D+)+r+|+)+P. +D+Q.)+Y.|+X.9+D+9+<+m+W.s+`.Y.<+Y.&+R.<+o+S.<+ +3+o.c.x+C+O.1+o.t.K.x+b+J.L.C.L.C.d.N.b.O.1+x+x+t+2+1+4+v.(.B z N W g.z.t.X.<+5+5+C+<+y+.+D+9+n+9+[+P.c+m+[+n+v+A.! : % % : * l g g ! M I - * & % % : x H 9 > h l } ' v 9 5 w | : * p o ! b ! I T . 4 ; # ] x = $ : : : : : : % % % w ) > J I } M f o ' G C 6 6 F t g f E B Q 2 { m G - 4 | $ 3 6 l ' ! D M I v > + x $ : : : % % s s s s s % p I f & % % y & : % % % % % % s s % % : : : $ ; @ + 3 4 ] 3 T l M b { Y 8 j =...!._.:.g.e.[.|._.f.l.8.!.I ", -": : : : | | = q 7 D J - g I C Q D # m U <.D - L D x b 7 [ j I * ] + 6 h { Z '.>.L R { R i.S f o J _ D ;.z.C.t.n.b+5+C+n.0+X.V.<+<+5+S.Y.9+X.P.D+z+Y.C+n+r+W.C+S.3+0+C+z+9+[+m+z+s+&+z+n+Y.Y. +4+2+<+1+4+9+b+a+X.0+c.v+U.D.B+5+D.0.D.n.V.n.'+a+n+t+C+z+3+C+3+2+4+o.9.8 m O ! n 8 2.m.m.x.r.d.5+C+c.C.C.D.C.t.B+b+1+3+0+2+t.( $ | | ) 2 r - - T T ) $ % % % % w 6 _ P h J G o f t 9 * . | : ; t O M ! f } T ] ; 5 ) ) 3 * ] w = | | : : % : w @ > p o ! M m ! b } _ 9 @ 9 h G b z E d { ( A D t T # | | # 6 < G O O p h > 6 ; x | : : % % % % % % % % : $ = & . . 4 = % % % % % % % s % % % % % : : x 6 9 H 3 5 * ; 6 l f D 2 [ U 8 j -.>.'.%.(.i.2.2.,.;.W ..X k ", -"% : | | % % | + ! B o v h l G Y ' 4 m U #.D 9 [ g w M z c c I 5 # 4 * t n S @.'.,. .U 2 ( ( 2 { { Q V W e.y.d.3.5+5+b+B+A+0+C+C+4+4+9+9+1+|+s+C+s+P.C+D+c+)+C+X.0+2+0+C+ +*+*+X.P.[+1+X.P.C+o+4+9+<+A+n+n+u+2+ +B+b.4+I.C.b+K.G.k.v.b+T.5+n.n+*+z+[+&+R.*+Q.X.x+v+K.f.<.Q } > p 1 L ,.E B W r.d.q.[.[.[.6.^.1.w.I.b+V.O.'+U J o | + U N 6 - @ + # : % % : & ) _ } G G I O b O v H # 4 = % # v ' o o M I < * @ y + H 6 y + 5 # 4 = | $ = ; T v k ! z D f f o g k P + @ 6 P J o b z , { / a M F @ x $ $ 5 9 h J k l F q @ ) 3 ] . $ : : : % % % % $ & x ^ * 3 5 5 + # & % : s s s s s s % % % : : & ; C - 9 6 6 ; ^ 9 p z { 8 Z -... .$.%.%. . ... .;.@.X X >.q.Q ", -": % : : % % : 4 I m G P P p B U @ 5 , &.<.z T N < 4 _ G 2 / p - H 3 H o 2 K '.g.].}.2.-.i r U &.i L +.'.a.E.N.I.I.v.I.M.T.V.o+u+A+v+t+v+1+n+x+C+|+z+2+9+)+s+C+0+t+1+t+t+9+m+|+)+s+t+0+)+|+4+o+2+|+ +4+<+ +5+X.o+u.u+b+0.N.c.y.1.'+a+5+v+o+t+[+c+)+P.y+W.&+.+s+<+9+C+u+p.|.K B V c z ~ _ ' { ( ` b a #.6.l.9.7.z.0.3.n.v.B.=.<.I x _ Z p @ q H + ; : % : $ 4 6 g z f z z m } < C y ; M &.: * v ' ! f 1 1 g ; y 6 @ q > > - @ 6 + ^ 6 9 < I g b D 7 B m ! ! O p < 6 3 ) y q P k O m u , { u I - ; $ | : w y - l < q 6 ) ; ; w . w | : : : : : | = w ] * + y H T > 9 + 3 . : s s s s s s % % % % | w + < < F C > @ ^ h ! , Y ~ (.:.|.j.j.i.>.@.+.#.<.j L i S X _.2 ", -"% | = = % % : $ F z p @ l H d g x l / / <.( h , - ] H q m o 6 @ q > J E E R _.e.e.q.q.j.!.+.=.-.@.!.,.}.5.y.'+t.I.m.v.b.3.n.M.b+O.A+u+V.V.o+5+1+4+4+2+0+0+t+5+5+5+1+v+x+R.Y.<+2+o+4+C+s+S.O.u+v+9+t+3+n+5+0+ +b+4+V.L.k.M.n.s.k.a+3+A+v+t+9+m+Y.s+.+m+*+m+W.*+*+*+[+|+D+2+N.z.].i 0 %.A m ' [ ( 3 < ..[.g.H.{.j.H.B+T.J.F.6.j C 6 V e 5 l 7 ' F h * : $ . * y J z d d u ! J q + ] w F G : ; 7 e m E ` (.J * ^ @ @ q C P < _ F C > h I M B a { { 2 , z ! M ' h H 5 x ] 3 y - l l ' M m f ' _ @ # $ : : . 5 > P > @ ) * ] 4 = = | | | $ | : : $ x # ; + - P l v l < 9 5 x | s s % % % % % % % % : . + t k p J l C - v D 2 8 ,.6.g.{.{.6./.%.@.Z L 8 Y Y c c r r t ", -"| ; ) 3 $ : % | 6 B > 6 + ^ l 3 x M V u S ( ! z T H 9 ^ } m > # 9 P o d u L 8.G.r.r.G.5.{.).[.[.j.g.{.q.r.0.C.4.N.4.v.v.u.B+M.b+O.O.c.O.a+A+V.4+1+o+v+x+v+o+V.5+A+V.v+C+Q.3+o+A+a+A+x+2+A+V.u+4+x+3+5+u+A+2+3+5+c.b.J.d.U.B+p.m.t+S.t+0+2+s+*+9+*+&+D+m+m+[+m+}+.+}+}+`.m+s+s+5+E.A.J.).f z ..2 - n i.#.i.G.$.-.1.A.p.I.H.'.O & J &.g ^ O #.N g U g 3 ^ + y G [ ` #.( V { I t @ 4 x & | % G !.e M 7 =.0 > * 5 y T P < _ t k G I G o E Q { V V V 1 Q B f G _ q ) ; ; H ^ ^ y H T h k } } I p q 3 = | $ 3 T C v _ H 3 x w . & | | $ = = = & . w # ^ 9 h p k g g G J C 6 # w % s s s s % % % % % : = H J k k G G v C v u e X _.8.7.q.{.7.6./. .=.Z S R ( d a { { C ", -"w C ' k T & | | H u O @ 4 q _ ] 4 G m E &.u ' I ) 5 y @ O f @ ] 6 l f A a >.z.F.H.A.E.k.x.a.z.1.h.1.F.s.w.E.C.K.3.K.b.I.3.b+o.U.u+a+c.u+c.u+V.4+2+o+A+v+4+4+A+V.a+V.x+)+W.S.o+V.a+A+o+u+a+a+O.o+V.a+b+U.a+c.u+c.b+3.t.'+4.k.h.F.I.c.b.b.O.S.x+t+)+|+9+c+.+*+,+,+`.`.d+w+8+8+8+|+V.t+2+z.R U .., O .%.B !.~.j ;.'+4+b+4.1.j P w B e 6 ; @ a N ! 2 ! F C > v 1 S !.Z ( ;.j Q Y ' @ z u # ; 8 './ M Y ;.( k y ] ) 9 > C P l I M m 7 1 1 c 1 c N 1 / Q 7 O P y # . $ l c H 4 # * ; @ F I V 0 { F + & | = @ p D B v T * | | = = | = = = & . x ] # ) > _ I ! z D f M I < q 9 5 = : % s s s % % % % : # H l k J t I l - t Q i >.}.f.h.*.e.f.a.[.2.;.-.+.K N ( , B B > ", -"] g E ! o C 3 5 M 2 < ] 9 h v 4 ) t } ! ( M ; 3 5 w ^ @ p p 3 * ^ < m , 1 2.z.r.s.d.y.w.H.9.B.l.l.E.p.C.D.0.D.I.b.b.v.b.M.o.B+T.c.a+b+T.o.c.A+5+A+u+V.V.u+u+a+T.n.T.S. +9+S.u+c.O.A+V.c.b+O.u+a+U.U.b+o.U.a+U.U.T.B+u.N.s.:.W -.` =.;.).g.5.z.E.4.b.o.2+t+ +Q..+&+l+%+e+#+!+++c+C+ +a+y.[._.X g b x.).[ ~.~.{.p.b+ +b+A.{.O > T [ J $ = : p V D ! k l t G m e W <.[ U /.i i 0 m u ~ c # q S 1 G M -.@./ ;.f . * ^ 6 9 I L S u B +.|.%.S [ 1 1 V ( , m k H x | | : ^ > | $ & & # ) q l Y '.B C 6 w : & t e <.~ './ ; @ M t . | $ = & & . w w * @ P G g b z 7 7 ! ' t h T 3 & : % % % % s % % % | ; > v k p J l > y t d U .j.a.z.z.*.x.e.6./.,...-.0 r 1 2 7 z q ", -"4 O a B 7 f J k d ! ; 6 h P I q > h E f O k 4 ; ) w * @ t g _ T ] > f d e 2.e.l.p.C.y.A.E.G.k.k.k.p.J.J.d.D.L.u.b.v.m.I.v.u.u.3.B+n.M.3.M.B+c.a+O.b+c.c.U.b+b+B+K.B+c.b+U.U.b+o.b+u+U.T.M.b+T.T.o.o.n.n.o.o.n.T.b+n.K.4.q.K d o o ! D d { 1 L X %.[.{.e.s.d.u.V.9+d+>+(+/+>+Z.l+&+)+5+v.G._...{ L L.d.).~ !.8.K.b+V.I.B.%.7 C , K , ) | & g V f > < C k p } R |.&.+.i.` / ;.i I ( X P | u r g k A (.K ! U J = x ; y > 1 n E o Q }.[.j.*.W r <.|.7.S M _ < E 9 s ] * | % % : % = 3 H l j 8 _ P - ) = x Y K G z K , # l j m : | = & w 4 . x 4 3 6 > l k O u B , E O k t H ; w $ % % % : % % % : | ] q t I p l F 9 @ l 7 N W /.^.1.G.9.r.1.5.]._.$.W ~ S [ c / 7 q ", -"# M a d a b ' ! M > q z - > I > < } / 7 l C . ] ^ 3 < v M m _ 3 ] q m 7 r ,.h.y.J.J.C.d.A.k.y.0.p.d.J.'+J.C.N.v.K.I.I.I.b.b.t.v.K.B+3.M.B+M.T.b+o.b+U.c.c.b+o.c.n.T.o.a+o.B+n.o.T.T.b+b+B+n.T.n.M.n.B+T.n.T.b+T.c.c.b+4._.b t h P F P _ h t g B { r +...i.[.a.G.p.4.b+2+<+D+C+n+<+z+|+9+o.*.W $.r.J.5.K 1 .6.D.b.J.s.;.d @ # B A P x = x / R I @ T < p k g X j.Y [.|.Y ~ '.1 d >.e ; # 8 O - _ j @.' k 2 H $ . 4 ^ + 0 { h J 1 [.L ..B.;.<.{.$.}.j M 2 h u C ] m n 6 % : + v ( ! 9 z =.d < P C 9 # k <.a J G O k + M n H $ w . & x 4 x ] ; y y H C v ' b m E E f } v H 5 * x = & & | % s : : | * q k ' I l h C - t B N W ).^.z.H.H.E.w.H.z.^.}.).%.=.Z S r a F ", -"; u / A d } ! B < > , d ; ] ) P O } u O C ) = & w 6 M O E D l 9 y < u Q 8 /.r.y.J.N.'+J.p.A.d.y.p.p.L.C.J.C.J.I.I.v.4.t.v.b.4.I.v.I.4.4.u.b.K.u.b.B+n.o.n.n.n.n.K.B+M.o.b.b.B+B+B+3.3.o.M.3.I.u.K.K.b.b.3.3.M.n.O.U.c.B+6.g < G J p v h C F - - P _ I , c K X !.|.{.f.9.s.k.0.p.D.C.u.c.A+V.b.t.I.p.8./ V ..}.z.H.H./.F % % | H ) | | $ . &.m 4 . * q h _ p e _.(.g.[.+.'.U 2 0 }.n G O #.B < I -., 6 Y ! ] & & . x 4 Q i C q i ..A |.{.8 6.).(.U m a ( ^ x & q j [ 5 % ! q - [ p H U L I < _ _ - H N ~ A u K U g C L a # & ; 6 ; x 4 ] ] * y @ y T P v t I M D f } l > y # w w 4 . $ | : | | | 4 H l J J / D P > _ D / ~ _.q.B.F.k.0.y.0.l.x.].:.(...` <.i N > ", -"* E n A d , A I t , R g w & H z l - B &.n ^ $ + t t q @ u f I > ^ < ! d <.}.x.0.L.J.m.C.w.p.p.y.0.A.d.L.C.J.N.t.m.v.t.m.m.t.m.4.4.N.N.t.t.4.N.N.I.K.M.K.K.M.3.3.b.3.M.K.n.M.B+3.3.M.K.3.3.u.m.m.t.J.m.v.u.b.3.T.u+u+4+v+L.8 I o } o G k G g g I J l h G M m a Y L ..(.[.].8.e.h.x.*.9.r.l.D.I.b.'+y.~.A [ ..[.9.l.q., = : : : 4 ^ Q k < J l = w x 5 @ C < t f c 0 ~ >.-.U N { 8 ` B ) I n P q a R 7 ! N @ 4 x . . ; I p S T ; X d Y /.[ r a..., o h 0 m w | % g 0 F : o z & A 7 + P !.E h l t _ C F Z B m j g.!.z A -.I ^ 5 M 0 n @ # b +.m 6 @ @ T > l o D M b f O J C H ^ # 4 4 . $ : : : | $ 4 y < J t i a C F p M Q !.p.'+G.F.w.D.L.D.E.1.e.j._.(.,...~ 8 P ", -"* z N 7 d u G _ u S e F = 4 u , @ H , 8 Y w = g j P 4 _ 2 ! J > ; 5 G R W }.r.0.C.L.'+d.A.A.y.E.E.E.0.y.D.L.D.J.J.J.t.t.m.'+C.L.N.'+J.C.J.J.L.d.L.'+t.t.u.u.u.b.I.I.4.u.M.3.K.I.v.b.I.v.K.v.t.t.N.'+'+N.m.u.B+T.u+1+0+S.1+l.e b , A B f ! a c U Z 0 L X =.j r n d / U X 2.[.j.{.a.^.^.8.a.8.^.e.q.x.$.A [ ,.7.x.5.0 ; : % % % : @ ! D < 9 $ & # ^ y 3 y F t o E n &.i &.Y V a d b p 6 ] & 4 @ v t G ! - ^ ] ; # w 5 A Q h . t ~ M c u I Q [.8 c f ^ ~ G - @ 5 0 r T # #.H h +.- & E <.F < < l _ - ! i O b ..a.r ! @.S _ 6 ( a / a ) O z ! T ^ 5 ^ y F / R ;.1 ! 7 !.8 j A > 3 * # ^ H ^ x $ $ $ x ; > h P } J F u K 7 7 Z 0.E.*.l.0.A.y.E.s.G.1.q.8.{.}.2.%.Z t ", -"# D m f ( 1 1 M K .e * # F &.O x ^ d X ' . & @ < 4 # M V g _ F ) # M =.W i.*.w.D.J.'+N.U.B+k.s.l.H.C.b.J.w.w.y.p.d.J.C.d.L.d.d.L.0.E.A.A.d.p.D.0.A.y.D.'+N.t.4.m.N.4.t.t.m.t.I.4.m.'+m.I.m.L.C.L.C.J.N.t.4.K.T.u+1+0+ +n+V.*.K #._.>.( d <.).:./.:.6.h.G.k.p.k.:.Z K R r 0 ;.2.].g.~.}.[.j._._.).).~ / ~ 2.7.e.>.< | : : : % s 6 C ) # & & x 4 # + ; 5 6 l } M B ( 1 n A Q , E O < ^ = % = 3 6 H 9 H ) * * y ^ # * ) y * # S Q t # ) @ 6 2 e q ] . d V I q l +.a m v Z g 7 X v . 0 Y D q 9 - C H &.1 O A ^.>.a { ~.m C O >.f m + 4 G 0 6 x 4 ] * ^ 7 @.k i !.( c j./.,.B < H y ^ k Q c k 3 B H - O 9 F D G H _ -.-.m ! !.s.f.z.l.s.w.F.B.F.B.r.x.*.e.{.j.)...l ", -"x l 1 { f i.#.e ).5.L F R j j < } { ~ 0 # $ C C # x H , B b l - T C d c Z i.9.E.D.C.'+N.K.N.s.l.r.l.I.5+D.G.r.l.0.y.A.w.y.A.w.k.A.w.l.s.k.E.k.w.k.E.0.A.A.L.J.'+C.C.'+m.N.m.N.N.C.N.t.'+'+'+d.D.L.d.J.N.m.t.b.B+u+v+S.9+|+ +A+0.h.G.1.;.#.g.r.e.i.!.j.k.K.B+t.m.t.v.b.5.` L #.@.>.(./.}.g.:.(.>. . .i Y 0 i.7.!._ | | : : : % s w _ 3 : $ $ w . # w x 6 - _ t J o m 7 d B E z ! p q # | : = ; + @ T 6 ) * 3 + ^ ) ) ) @ y O ,.t 3 5 3 * 4 w & & $ = + l > 6 h u ! 6 - 7 @ F A 5 % c E P # 3 3 H > ..O M Z 5...S @.[.A _ 1 !.- 5 * * 3 K ! x & w 4 5 #.e l ).!.d V 7.i B g t F y > J b z ) l +.P u u l 7 =.A 9 , '.e f I a.}.G.n.l.H.s.F.G.r.z.1.r.x.h.5.7.j.,.k ", -"& c ` ! K (.i j }.7.' 2 N i R R 2 ' e O & P 0 [ 6 ] d ` !.S b _ O D p a (.f.l.0.p.L.J.J.d.D.0.s.B.s.M.3.H.F.z.1.k.k.k.E.w.A.s.s.F.l.G.B.1.l.F.G.G.l.s.w.E.0.C.J.C.L.t.'+J.J.L.L.C.'+m.N.J.'+C.L.N.J.L.D.J.I.M.T.V.2+S.D+s+|+3+0+O.0.[.` %.z.A.H.2.,.h.b.t+z+u.L.o+z+*+b+0.*.}.>.>.,.$.$.).2.W ..!.-.~ -.-.).).I | : : : : % : : : F 9 : | : = # ] = 4 ^ > < < h k g M D m f b ' > 3 w : % $ 3 T T > q 6 y ) ) ) 3 ) 9 < f X W 7 F q y 5 4 4 = = $ . 5 q 9 - < h < < - + & : | : % # * | & 4 ] 9 , 0 h M 0 /.8 A -. .2 l 2 -.k E 3 p q V D ] 4 4 ] * %.' o [.j a ;.}.{ u b J < @ ^ h 1 x I ' c $ ( h # r !.} - 8 ~ I G 2 ^.6.^.3.1.B.l.l.k.l.1.r.1.z.*.*.*.*.].! ", -"> #.{ V j.=.S U r.j g 8 { Z -.R J > f H $ o W V * u S O @.'.7 t n g q L ^.A.w.I.M.J.u.u+K.L.y.D.'+u.o.d.H.r.z.r.r.G.r.G.G.F.G.r.B.z.*.9.*.*.h.9.*.z.r.F.H.E.A.A.y.d.D.p.p.C.d.p.d.J.J.C.J.L.d.p.L.C.d.L.J.'+K.a+u+2+X.<+[+s+n+3+9+A+5.+.(.1.s.e.(.).G.3.4+S.b.T.R.Z.>+0+t.M.m.r.~.,.,.2.%.+.` 2.).).|.{.7.|.E = : : : : : % % : : @ k & : : $ = = & x # 3 5 T - P p G ' g } ' < ) x $ % % = ^ - > > > @ ) 5 ^ ; ; y > t ' m f ! l P > y * w = = & 4 + q C h J J J J l > ; | : % % s s % : H F - j ' l b u / 2 , B D > q J E m * w h u B ] ] # 3 * 3 K G 0 .d Y 9.-.2 Q z G P ) x f e % A c ] ) Y & + ` V 9 < (.A I } W 7.L ).d.a.9.1.z.F.r.x.x.x.9.h.*.G.r.*.z ", -"m W i (.5.!.e {.B.d 1 N #.` ,.! # , } . | 2 K 9 4 ~ a O (...! N { + G L q.G.z.n.n.K.u+S.T.p.t.3.d.M.u.F.r.E.'+3.k.h.F.0.m.E.h.z.*.h.e.f.9.1.*.5.*.x.x.x.z.G.k.H.s.w.s.w.A.L.d.d.J.C.L.J.C.C.D.D.C.d.4.V.X.v+B+U.V.n+m+Q.|+|+z+S.t+[+z+4.x.}.&.u A ).B.t.v+1+U.t+P.%+_+)+c.3+v+K.4.k.e.[.(.2.1.G.f.1.H.G.].a & : : % : : : % % : % @ m 5 = & $ & = . x x ] * 9 @ T P l t h _ F @ * . : % % x + T F - > T ) ^ + 3 ^ 9 P v J p J v J v _ - ) x . & w 3 - h k ' g I g } I h ^ = | % % s s % | J d O Q 6 G ! D u 7 B M < T > @ 3 x $ : | $ & w 4 * 3 + 9 k A U A n <.).c / a B O P 5 . E { # 8 P : N 5 % o =.! v B |.u k O {.~ Y a.^._.a.f.q.h.5.h.*.*.x.B.r.s.w.F.d ", -"' .<.$.6.X X 6.#.' R ~ i.W <.q p #.z + _ +.A H t =.C M /.R R n t 3 T U F.5.9.a+t.C.4+4+'+m.O.t.F.M.C.G.0.3.D.J.*.h.t.9.k.'+z.q.8.a.7.q.E.B+y.a.L.m.h.C.d.9.F.d.E.k.p.y.A.L.L.L.d.C.J.C.p.y.L.N.t.N.N.a+9+1+n.U.2+W.y+Q.Y.[+)+D+t+1+X.D+V.E.@.o M ,.F.'+B+N.J.x+P.`.$+`.R.Y.X.b+B+3+3+3.w.J.K.A.m.v.J.B.Y . : % % % % % % % % % : @ 2 h x & = 4 = = | $ & ] 4 4 + H P h > q 6 ^ ] = % % % # 9 P F C T ) ] & # 3 5 6 > l l v J v v v h > @ 3 4 w 4 ^ T l } O } g M M G C ^ . $ | : | : : : x T _ y T p O O o I o p q H y 3 w | | | : | = w x ] y q _ J f Q [ &.[ e ( A Q u g v + . 6 o g } 7 p ] % | b e < - 1 '.2 o 8 ).e L F.-.'.[.g.j.j.7.8.q.^.5.F.s.A.d.k.A ", -"5 { Y N L ;.Z m C . Q >./ a 1 k q 1 k 4 } L ! < f U P ~ L d =.a t 5 + W r.a.t.b.y.M.t+I.A.o.B+H.A.u.F.z.3.'+C.^._.F.E._.A.m.f.[.g.}.}.1.E.9.6.5.1.I.h.D.d.z.B.o.C.A.O.K.A.w.'+n.a+J.J.L.w.0.D.d.'+C.4.u+n+5+M.T.C+m+Q.<+D+)+s+<+X.v+U.o+n+0+M.A.g.[.9.1.,.7 K v.C+[+&+*+*+Y.9+ +)+%+.+A+c.C+o+u.u+n.d.>.> | s s % % % % % % : : : ^ n h | & x w x : : | : : : w ] * H y 6 H y * x = : : & 5 q < < F H 3 | | . x ] 3 6 F h h _ _ l t _ F 6 ; x & x 5 @ C p } } o M ' v > + & = $ | | | | : | $ 3 @ - G ' k v t v P - y + 3 x = $ | : : | . x ] - J g E a r S 0 L i N ( Q u O v y 4 & $ $ | | : % % % 4 5 # * ' a ' O R [ X ,...-.,._.[._._.}.j.{.^.5.r.l.y.y.w.Q ", -"3 E A V +.K P w 4 P 7 Q B k 5 & = ; # = H l H P 2 <.N / f Z a m v ; > |.r.z.K.w.0.o+4+T.t.5+y.A.b+I.y.s.O.C.e.6._.D.q.'.p.l.:.,.$.2.i.].C.].2.[.:.N.x.D.G.*.1.T.'+D.c.D.l.d.K.d.N.L.d.D.y.p.D.D.N.t.u+b.2+x+o.C+z+&+Q.D+<+R.s+[+|+n+v+M.3.O.c.o+S.0+m./.B @ T V 8.u.t+9+z+<+[+&+l+$+}+|+R.l+R.2+5+B+'+0 ^ : % % % % % % % % % % : ^ [ ! $ 4 = & ] = $ | | : : $ w ) * ] 6 F H H + ] w * ) H < J J t > ^ | | = w * 3 @ T < < t t k G t C T + 3 4 ] 5 H P G ' ' } } l v P 5 & $ : | $ = = $ = x @ C l } o } t p p ' k l F > @ 3 & $ | = & x ; 6 G z 2 e 8 j ~ ` +.+.i N ( d O v > ^ # x & $ = $ | : : : : w ] H _ p o f f ( 8 Z W >.2._.2.i.).6.6.8.e.z.F.w.0.1.A ", -"3 , #.#.2 y ^ @ q Q Q M M v ] | | $ $ w x 5 t , i E m m D E u ! l ; G ).G.k.H.L.L.T.b+L.L.a+B+0.c.u.E.s.c.m.0.x.~.m.'.6.w.(.@.W W !.i.$.y.1.).).).N.z.B.a.7.w.M.E.N.3.s.l.a+I.0.E.A.p.y.L.N.J.J.t.v.V.b.S.v+2+9+9+}+)+|+Y.m+r+d+&+Y.z+X. +o+u.3+%+}+3+a+3.H.$.V B '.u.V.2+2+)+r+y+&+*+[+C+9+m+R.u+0.[.D = % % % % % % % % : : % % . D V * x $ = w = $ & | $ | | & ] & 5 T q F q T 9 9 > q F J g g O p 9 ] = 4 4 ^ ) @ H - t I G I I l F q H 6 ^ ; y - P v t v p l v t - ] & & = 4 3 ) 3 4 * + J J G f u E M I ! D D o g G v C 6 3 4 x x 4 6 I , 1 K <.+.=... .!.-.Z U c A ! I k - H 3 * x w & . & & & = 4 * H P J } f B N S #.@. .,.i.i.2.}.6.].e.9.1.H.w.H.1.Q ", -"^ 2 c m k t t P O D ' h < H = : = $ x ] w P Q A { D A a Q 7 f b v + , !.6.h.B.y.A.0.d.y.k.0.w.l.p.k.*.h.y.'+9.{./.].].8.@.j S i S L i.).f.{. .>.%.'+F.6./.~.u.H.5.3.s.*.w.4+E.H.l.k.s.y.D.C.C.d.J.U.b.m.3+t+C+4+<+}+s+D+W.}+|+c+`.R.z+Q.9+A+t.T.D+.+w+%+3+c.U.I.3.C.x.f.h.y.9+Y.n+0+x+t+2+y+r+v+d. .i @ % % % % % % % % % % : % % : h &.> | : : : $ = | | $ < 7 @ = . # 6 6 ^ y T > F P @ C J } g g G h y ; ^ ) 9 6 + + H h J J t l h C C H + 3 ; 5 y H > > - F > < T # & & w x ; @ 9 6 ) + h O O M B d E f u n ( d B u f I _ C 6 ) * # ^ < o 2 U <.~ -.....!.%...Z 8 c { E f } l F 6 5 ; ; x ] 4 w w ] # * + @ > G M u 1 &.U 0 +.=.;.!.'.2.:.[.{.f.9.z.r.B.5.z ", -"4 v ! M b k ' p J v 6 @ T ] | : = ^ # x y e { d a 7 A 1 e / d z F T ( ;.|.5.H.A.p.D.t.'+w.F.B.r.l.F.9.9.*.x.h.7.}.i. .` i [ r Y r [ X i._.+.X W }.N.^.,.(.f.C.j.G.I.k.1.w.V.l.v.0.b+y.A.p.L.d.L.t.4+'+t. +9+O.A+[+r+R.|+7+&+s+8+7+|+<+`.Y.9+1+n+1+M.u+Y.l+,+m+|+c.B+v+a.L a.D.b.K.4.T.C+m+#+s+M.>.+.o } A ] : : + T & : | : : % % % 6 1 P | : | : : | | w = F g ^ w . # ) ^ 5 6 9 T P - q P G M M M b ' < > P p t _ < F P h v p l l _ l h F 9 ^ ^ ) ^ ) + ) + H q T ) * ] 4 * + 9 P < F H - p b f m a { { A 1 [ r n 2 { B f } v F T ) ^ 6 J z V U Z -.;. .,.(.(.;.=.0 &.1 A z m ! ' h 9 ^ ^ ; 3 ; ; ; 3 5 3 5 y 9 l v } { 1 U S S j #.` !.>.2.:.}.g.8.q.*.1.a.D ", -". t b g o } H q t y 3 ^ ] w & 4 5 w & 6 A A ! ( d , 1 c [ U V B - _ N ;.^.0.J.N.J.d.L.m.D.H.G.9.x.1.r.9.*.h.e.{.[.).;.` S r c 1 V c Y R i Z Z ` 8.j.'.%.,.j.7.}.h.B.a.8.9.t.t.s.y.u+y.E.y.D.D.'+c.o+N.m.n+V.U.o+r+P.z+R.w+Q.Q.d+P.D+R..+}+Y.[+}+2+M.b.c.s+)+C+9+M.1+9+v.l.b.^.j.1.n.z+m+l+c+3.{.u Z E g X * s l O ~ T % u r 3 B 7 . D -.v % : : : : % % & $ : & & $ x 3 x ) ) + ] ^ y + H > k g M f m o G t ' g O o } ' k G ' t P _ O Q u G F @ @ 6 H 3 # * ] ^ 5 ^ 3 ; * ) H h p k J k _ P k b z d 2 n c 1 U S U N 2 Q B z ! } p - + y > k u / &.~ -.!.i.)._.i.%.@.#.i e / Q , 7 D ' h - @ ^ ) ) 5 ^ 3 # * # # @ T - l ! Q 1 R R 8 S +.@. .%.i._.j.g.7.8.q.j.O ", -"w h m 2 ! ; H p 5 . @ w . ; = & = . H e ( O u D E A 2 A e Y ( ! 9 u <.}.9.'+t.4.N.L.0.w.s.F.l.1.x.f.5.f.q.^.8.g.~.).%...Z &.1 / A A ( n <.{.-.i.'.X @.-...!.>.i.2.|.~.j.{.q.9.z.1.w.E.s.s.E.y.v.b+U.t.N.U.3.u+C+P.)+n+<+y+Y.c+r+ +z+P.s+r+9+*+7+|+1+U.v.L.C.u+c.d.5+v+C.K.v+y.k.H.N.z+}+8+S.h.g E 0 6 > i = y U P r @ q d a Q c { E Y (.' : % : : % % : | h z ) $ 3 ' o * * + ] & 5 ; # ] 6 h t G o f b ' } b D z f m ! g ' k t > < <.6., t C 9 f #.d 3 w & w x # * 3 ) H > h ' b M } k J l k M f 7 d Q ( 1 U S K r ( Q u u f } v H + H h G E / &.` W ,././.i.$.!.-.<.0 U N V ( A d z M k F H y + y y * * x # 5 + q C < o E d { A e R S ~ W ..'.|.}.}.~.].~.(.' ", -"# O m } ) T - x & ] C ] = . | $ w < Y U V K e / e [ L U c A A l O R >.^.F.J.v.B+u.m.J.y.k.w.s.H.1.f.a.a.8.].].j.~.|.(.%.-.0 [ n { Q a { c X #.Y 8 L #.+.-.-.;.%.%.i.|.~.[.].f.1.r.F.w.E.k.0.p.C.N.'+m.t.I.B+O.0+n+D+D+D+Q.r+r+R.z+|+r+W.z+C+Y.y+*+n+2+b+4.D.c.m.d.v+y.E.U.n.D.C.E.G.u+&+r+D.{ $ ~ o : m D % V c v ) s s 1 S % Z 0 3 ~ K f $ : : : : s s J ( X 6 $ A G V 4 # ) = w + ^ . # I 8 B M j z M 7 Q E d , E B z m M G k J k !.#.b J F H I ,.J 3 ; w x * * ; 6 C v ' O b , E z ! g G I M f f m u d n &.L S [ N / Q , b ' P 6 6 P t O u V j W '.).:.}.(.!. .-.=.~ +.j U 1 ( A Q E b G t C - > - y ; 5 y @ T h v G M f D E , / Y K <.-.!.$.2.|.2.)./.|.>.} ", -"& * 4 ] - 9 . $ $ y > $ 4 x . ; ! L #.8 ~ <.N &.8 +.#.&.1 N b t N K 2.*.p.3.b+B+b+n.t.p.0.E.k.k.B.x.^.g.].{.6.}.:.:.i.,...+.K Y n 2 d Q { a ( V N r K 0 <.X W .. .,.2./.[.7.e.x.r.l.k.E.E.y.d.C.'+'+N.N.v.3.c.5+3+D+s+[+W.W.*+W.Y.R.D+D+D+n+n+<+n+X.S.5+c.I.L.o.b.k.r.G.V.D.k.E.l.*.'+R.t+i.@ ' S + x K ] | ~ n % x s - +.4 C X H F V d 2 = % % % s s s ] ~ d $ : 8 F 3 = ] x : # + ; x C c (.m R _.M z Z ).d ,.5.2 7 u { { [ ( } Q 6.n z v > 9 1 j T + 5 5 ; 5 5 @ > J } M b m B U R u g J k ' g g O b Q ( r S j i Y 1 2 B M p > y J h l I u N Z >.i._.:._.,.W +.Z X -.-.` i e n V / a d D b I l J l F 9 9 @ H - l k ' g O ! m u Q V r L +.W ,.(.i.(.,.,.(.;.G ", -"| $ x 4 w ] = | : $ : | w # > N W +.j 0 Z S <.,.(.@.L K S 1 v , &.0 ).f.0.b.a+V.V.c.3.J.0.E.B.z.9.9.f.].~.~.~.:./.2.%. .-.+.L [ c / Q u m D B 7 a 1 N [ S 0 0 <.Z ` ..!._.6.7.e.e.x.G.H.0.p.p.D.L.'+'+'+m.3.b+1+S.D+|+Y.P.W.r+m+Q.Y.D+|+|+D+9+0+0+S.0+2+v+U.4.0.s.l.F.d.B+x.B.*.f.8.A.n.].^ $ ' g G J - % & [ / 9 P : E g | N } $ V ! m 2 & % % s % % : D ~ # : : ! R | = . $ $ * # 4 3 6 A K ' (.A F , 8 ..0 ` _.7 E c 8 B j.[ g #.:.1 i.+.F T ,.7 H y - z f + 6 C t ' } } g M { j.K D O k l v J h k M u a e S <.L [ e / E g C E !.V h v } 7 e 0 ;.,.'.i.(.!.@.Z L #.;.!.=.0 &.e N N 1 n n d ! ' J t _ > H + y 9 l k ' ' G O b o M B A n R <.=.;.;.;.W .. .-.G ", -": & . = w $ % % : : : w H ' c X >.i &.0 K ~ (.[.|.>.X =.&.z u &.U -._.e.w.u.c.4+v+5+O.v.D.s.1.9.e.q.q.7.j._.i.).>.>.....X Z +.S &.c 2 , D ! ! b u 7 Q ( Y U i L K 0 +.=.'.}.6.7.^.e.*.1.k.0.y.d.C.t.N.'+N.I.o.V.A+ +|+s+W.Q..+}+&+&+R.n+X.<+n+ +0+x+x+v+o+A+T.u.3.o+w.K.B.9.h.5.a.^.G.` ; % % % | & w % s : T _ ^ s . D & ^ Q w x 1 l p &.; % % s s s . j N ' ] l * X w : : : $ w = 4 3 6 @.g ( !.> 6 q +.-.! ,.[ f A ).O N i.O ! ).>.7 0 L F z i.q 6 - [ { @.y T _ } g ' ' k ! +.7.8 D g 2 b v P > t } o { R j X 0 +.S V , I y J ;.> > p D / &.<.` .>.%.>...X Z <.#.@.%.;.=.Z X W =.r e 1 Q ! ' p v l C H 9 9 P ' I G k k k ' J _ k b u Q N K +.-.~ +.#.` j p ", -": = $ ) 3 : % : | = ; _ o [ :./.r &.U r Z |.^.e.j.%.X Z / D L j L .}.9.p.n.O.x+C+3+v+O.b.D.l.z.*.^.8.{.g.:.$.'.!.>. .@.=.X #.<.L [ n A d z b b f ! u , 2 c R 8 8 U #...,.2.|.}.7.q.*.B.l.s.p.C.'+m.u.N.N.v.b+c.V.S.R.*+.+r+&+}+d+7+.+Y.z+z+Y.[+|+<+3+x+2+A+U.n.b.b+b.L.H.B.9.e.8.q. .y | % % s % % % s s % % % s s s % % % | % | 3 . - U ) : % % s s x / M # 4 B t u : % % : | | : = # 2 $.N N L J ) m >.t A >.p O ;.#.I $.R p c :., g '.Q < j S H 6 U Y , a @ 9 C I o } ' p G '.<.E b U i Y A @ y F v g d c &.0 +.q.|.<.c g > &.8 _ p m 2 &.<.-.` .. .!. ...=.+.X -. . .%.%...].0.$.<.<.U V u O I k l < F - q l D Q f J t h T H 9 _ k o E A r &.K K L L j i _ ", -"% % = w : : | = w 5 F z @.a.2.8 R [ U ..~.a.8.6.$...-.1 B K +.j Z %.].B.C.n.O.2+S.9+X.x+U.t.k.r.f.8.6.[.}./.(.W ` =.` ~ Z Z j L K [ 1 V a D b M ' O ! ! z a n 1 e [ L ~ @.>.i.).[.7.q.5.z.G.k.p.J.'+'+'+m.I.M.o.u+x+n+m+.+`..+`.d+w+,+y+)+Y.&+.+.+P.D+C+2+V.a+n.3.v.4.'+D.A.E.r.q. .P | : % % % % % % s s s s s s s s % % % % % % s % + i @ : : % % % % | = : $ ) y w % % % : w | : | x E 2 t 7 V h 6 8 / q ~ i { G 8.K c ).2 o -.#.p S K _ k 2.M 9 g ;.b h ; 3 y - v k I t J z _.b p { .T E >.3 + T t M d / N U ,.1.;.8.|.z f [.V E d / ..).f.$. .{.i. .'.W =.+.=.#.X =...!...e.H.W -.-.<.R d ! } G t < f k P ' +.~.o _ - H ^ * 3 > h t I b u d / n e R 8 e _ ", -": % % : : | = . x @ B @.j.~.,.K R i !.e.G.1.8./. .-.+.&.K +.!.~.,.$.].l.4.a+A+x+X.z+<+z+0+c.J.H.*.8.~.|._.2.$.;.X #.<.<.Z #.L j K &.Y V A B f M M O } g f E 7 A ( N r K Z @.!.$.|.6.7.^.9.F.s.0.C.N.J.'+I.t.K.B+U.5+ +)+}+-+:+y+w+i+++#+7+7+l+e+#+8+r+[+n+v+V.u+T.n.u.m.4.t.L.G.~.} | : % % % % % % % s s s s s s s s % % % % % % % % @ S + % % : % % % : : : % % % % % % % $ 4 | | = & 4 4 . 9 l * 9 Q _ > c z F E (./ Q @.A B @.[ a <.l k Y _.1 f Q .o F y ; + 9 F < k I } K ` v v i [ ; K <.* 3 H l M a ( n N '.]./ [.q.2 -.q.V [ j g.,.5.m.}.8.C.l.>.L.,.+.+.~ <.<.X ;. .%.y.7._.2.>...S ( , D o G o ..B v } ~ ..k _ 9 ) # x ] + - F l G } ! B a A ( c N P ", -"H S 5 l c 3 < u < / }.B+'+^...i L >.{.1.s.*.g.i.W -.+.<.~ 2.h.*.%.(.g.H.4.V.4+2+n+D+<+D+D+t+U.C.x.{.~.).i.,.!.W ` <.S i L 0 i 8 U [ e ( A d f ! o ' G G } O g m B Q ( c i X ..!.,.).[.].^.h.B.l.p.D.d.L.N.N.v.K.B+a+1+D+)+&+y+`.l+e+++!+$+w+%+i+f+++w+y+Q.D+x+1+o+a+n.K.4.v.L.h.a = : % % % % % % % % s s s s s s s s % % % % % % % % @ e ] s % % % % % % % % % % % % % % % : : : : $ $ : % : ] 5 ] * 6 * 4 H C q k } p k E M ' A n 7 l l t A j M l f Z { l @ ; 3 ) 6 - _ v O $.<.g C [ k q L b x x c './.].8.i V [.-.c f.(.j.B+t.H.*.H.T.m.2+A+u.b+T.0+z.x.!.&.[ F.E+`.#.` W ~.J.].E.'+%...=.]. ./ M f i [.7 k a g.&.O _ 9 ^ ] ] x * y 9 F C h p } M f E d A F ", -"p K u ( ` g Q ;.t R H.V.J.m.$.0 '.y.b.G.^.~.[.2. .0 Z -.j K 1.].>.(.8.H.4.c.A+0+X.9+<+D+[+D+x+B+H.a.~._.(.>...=.+.L R Y Y [ [ R [ e n 2 a , E ! } I p v p t v k O b D , 2 &.<.#.X !.i.:.6.8.*.1.l.w.p.p.d.J.N.b.b.o.c.v+C+<+[+m+&+`.%+#+$+w+,+d+Z.@+++i+w+}+P.R.X.2+5+O.o.3.d.$.+ : % % % % % % % % % s s s s s s s s % % % % % % % % + , & % % : % % % % % % : : % % % % % % : : : : : : : | ] . | 4 ; $ ] q F < C < P v p G k G I J v v k ' } t h C G J + ; # * + + @ H - G <.B y 5 g } o z : : $ 1 d.E+E+E+{.L 6.U ,.}.U )+E+E+x+L.b.K.E+E+E+e+4.%+E+;+m+8 /.X.E+E+G.0 X >.s.A.a.*.d.,./.x.0 ~ (.I m '.Z Q E -.^.Y [.i C 6 ^ ] 4 # ^ @ 9 9 q C p I ! f E 7 > ", -"k !.p A =.p A e H p ` |.S s.*.:.L.K.T.'+g.].l.].1.6.~ j 8 ;.H.,.).{.z.L.v.c.4+t+X.<+R.[+)+Y.<+v+I.x.{.a.(. .W X Z L U Y 1 n 1 c 1 / / a n ,.8.,.b k p t _ l _ _ l G } b , n U &.U ~ @.%./.6.j.q.z.H.E.y.d.L.J.N.4.M.T.u+4+S.|+)+P.&+d+$+Z.#+i+,+e+w+%+#+#+$+`.c+Q.s+z+t+u+o.p.U = % % % % % % % s s s s s s % % % % % % % % % % % % % 6 , & % % % : % % % % % % % s % % % % % % % % % % : : : & & = w & | ; T > - q h > h t o o } M ! o b u u ! k t < F 6 ) 5 # 3 ^ ) ^ @ @ 6 - + x . 5 l T $ | | = 5 o E+E+E+8.%.:.Z W e m.E+E+|+q.k.v.s.:+E+e+_.'.~.E+E+E+N a '.E+:+[.j #.|.L.^.j.p.z.>.f.q.U :._.p , 2.B ! ( 6.|...;.i h > @ ) * 3 ) @ T T T > _ ' f B , a - ", -"S ! w #.a 3 R 9 x 5 ;.a f ].%.8.5+b.I.F.e.p.N.(.p.f.X S U }.1. .[.9.k.d.b.c.1+C+m+c+[+`.y+m+7+Q.o+m.d.m.{./.;.~ 0 S L r / a A a a , Q a ,.e =.j.&.g J _ v l h < < _ v G b 7 c e 1 S +.~ !.,.:.f.1.x.B.k.k.0.y.d.C.t.M.M.o.u+t+D+[+*+&+8+$+!+$+%+l+w+w+e+$+%+d+.+.+m+)+z+C+b+p.U = : % % % % % % s s s s s s % % % % % % % % s s % % % 9 2 & % % % % % % % % % % % s s s s s s % % % % % : | % | & x $ : : # y T ) 6 T ) - p } p g M b m B 7 7 u } } p h T + ) # # ^ 5 3 5 + ^ ) # . $ $ $ w * w . & ] ..E+E+E+p.,.r B z L y+E+E+v.{.F.y.r.E+E+b._.,.7.E+E+E+2 , 3+E+ +N 8 ` e.F.).r.s.,._.x.:.<.7.` I S Z } f K 9.+.Y >.A v h q T y H 9 H H H - P J o E B a Q q ", -"S q Q <.@ t i + * G ` @ 7 ` v W J.G.H.F.9.A.y.[.0.@.+.0 L k.g.'.~.9.A.v.B+u+2+<+m+c+`.d+`.7+,+8+9+o+4+I.A.'+2.W -.{.B.i V A K r 1 A u D z ! ( ~.<.k l _ < l h F P P C P l J O o z / e R S -.).t.s.7.5.z.1.r.G.k.H.y.'+t.u.M.O.1+C+9+*+}+w+%+w+l+8+8+l+e+w+,+7+c+.+Y.[+|+C+O.D.&.= : % % % % % % s s s s s % % % % % % % % % % % % % % - a & % % % % % % % % % % % s s s s s % : : % % % % : : : & & : : | 4 @ y * @ ) 5 - p l < I o o f z , { Q B f b k v > y * 3 5 3 ) ) + 3 5 # = = . . 5 9 ^ ] 4 ; Y.C.E+E+K.L - < G &+E+E+,+q.[.6.7.5+E+$+x.[.[.0+E+E+a+V (.=+E+$.( r #.{.q.~.e.$.;.i.a.;.2.}.m , >.i D 2 _._.e W |.f } J t t _ v h - - > < p O u Q { { 7 > ", -"_ t +.n J R 8 h T N N G R # @ ~ ~.U e.1.H.t.'+e.!.+.#.#._.w.'.).8.r.D.3.A+o+5+0+.+7+Y.i+,+&+#+c+W.<+<+D.h.m.}.@.H.!.H.+.Y $.%.[ 2.c b } g } S }.} h F P P C h G t } F T C > F _ I z 7 B 2 r ..0.$._.[.8.8.q.5.*.z.1.E.y.L.4.B+c.o+2+3+[+i+l+i+e+%+d+8+w+,+%+7+c+m+Y.Y.[+n+v+u.L & : % % % % % % % % % % % % % % % % % % % % % % % % : < ( & : : : : : % % % % % % % % % % % s % % % % % % % % : w | % % | x y 3 * # w * H C F C k ' } D u B a 2 Q 7 E m O v - y 3 5 ^ + ^ ) 3 5 ; x x 4 3 9 q T + @ l E+(.E+E+K.Y q ^ 4+t+X.E+Y./.[.6.6.r+E+y+*.{.l.e+E+~+~.r *.E+E+a Q A *.8+,+l+E+^.#.#.U.e+E+E+x+(.h.}+E+>+c.=.` L.7+E+m+}.' g G k m.E+C.E+E+v.M z Q a { d 9 ", -"= ) ! O G u u v f ..7 P = & * Q ` R n 0 5.c.v.a.;.@.X =.e.0.>.~.F.4.J.M.2+0+x+9+c+D+&+w+Q.}+l+&+.+c+&+u.m.L.(.e.z.~.%.i K G.-.<.a., b I G d 2.! q - - q - > E M Q .J 9 1 j H &.;.k } o e 1 ).}.L ` !.2.}.j.j.{.6.{.h.x.E.A.J.4.3.b+u+2+Q.Y.r+7+l+,+7+7+%+$+y+&+w+w+c+}+&+|+a+i.* w - : % % % % % % % % % % % % % % % % % % % % % % : p c & : : : : : % % % % % % % % % % % % % % % % : % % % % : : : | | $ ; ^ ; & $ ] @ 6 H - l l k b f D d Q a , 7 u b p P 9 + 3 + ; ; ; # 3 3 x & = 3 q > q > F 1.P.(.E+E+m.t ; ` A+B.=+E+*.2.[.{.p.-+E+|+b+O.%+E+R.{.&.R }+E+T.Q 7 S.E+T.` `.E+<+8 i &.b+E+r+J J } *+m.i.U 8.[+:+A.3.E+E+! f ` I.E+!+x.2+x+l.z a a d d 7 H ", -": $ ) > < < l M -.X ; x = = & * _ o O r 6.z.D.'+e.W -.|.r.r.6.6.0.u+b.n.A+3+<+Q.D+n+y+m+*+l+d+}+y+%+.+ +o+z.(.p.e.j 8 i <.7.>.$.-., m } d W O H H @ + @ H m [ F R K ) u B e { n #.q l ( i A i./ Q Y 8 Z ` !.).].^.1._.j.G.k.k.y.t.I.3.c.5+S.s+W.c+w+%+$+=+,+r+*+.+7+z+<+m+r+5+9.- + +.: % % : | : : : : ' f h = s 4 ; = s s s s % % : ' e $ % % $ | % % s s s s s s s s s s s % % % % % % % % % % : = x | | 4 x = | $ 3 3 4 ^ T C v v G b f E ( { / { B b I v < H y ) 3 3 ^ 3 ) * 4 4 x ) < J p p I x+2+{ P.E+V.+ x c.'.6.E+E+@.(.:.6.K.E+E+L.d.A.w.k.<.<.i U E+E+*.2 a r+&+K 1 E+E+9+r N ( ^.E+E+v < [ Y.a o 7 B+E+3+7 m E+E+..Q , 0+E+x+b ! z , d A 2 V A E H ", -"% % $ x 3 9 P / i.U > 9 + 4 . x 3 - p S 8.&.K 9.D.2.....!.2._.8.d.u+B+U.A+t+|+&+D+[+&+Y.P.d+7+.+d+++7+r+S.0.8.N.5.'.).#.,.B.$.X [ V { U .p q I 5 3 ; 3 P 0 G O @.G + @ c K > U D ^ D ~ J l ` - l ! d A N <.g.` 9.e.W {.F.D.G.y.b.A.u.1+u+a+S.<+P.c+e+=+l+m+P.W.l+m+9+3+9+l+<+0.o & l % % : : | : : | : - X e & s B Z b 4 k w s % % : g n = % 3 9 J = % s s s ] s s s s s s s % % % % % % % : : % % = w : $ ] & & $ # ^ . x 5 + _ v < t I I 7 d Q V / , f I G v - 6 6 6 T - H 6 ; 4 4 w y J k G O }.E+! [.E+E+e.* E+=._ E+E+B.#. .(.|.E+E+d.Z L Z L L S L K z+E+E+Y 1 2 z r {.E+E+E+V V { E {.E+E+h < E+P J O ~.E+E+7.g.m+E+E+2 n 5.E+E+{.E , A ( V n ( / / B ) ", -"% % % : = 3 h u { , } p v < y ^ @ q P E Z i Y W i.#. .'.(.).}.h.d.m.v.b+v+3+X.|+[+)+)+Y.Y.W.m+}+%+i+l+&+[+U.H.l.z.2.@...^.y.z./.#.S ..{.!.#.U m ^ ^ ; ^ z =.G 8 ` 6 ^ O ~ T I &.# 6 S B ^ f V + H - < G d /.R K 5.0 +.}.2.5.'.w.D.w.U.t+B+v.c.2+ +[+8+y+Y.*+[+c+8+|+C+3+X.}+D+N.c 6 = s = & $ | : | : % % 2 R s @ u y s s # g s % % | a / : ; n - 8 i d s y [ Q s s s s % % % % % % % % % % : : % % $ = % $ & w . & w x 3 6 9 + h P - < t _ g f E { A 7 z m g p F 9 C < l F - y 3 ] w w y _ v J G 4.Q.M =.@+E+Y.+.b+1 0 E+:+[.Z @.>.l.E+E+e.S &.r [ &.K K K 7+E+7+8 r ).n.t+x+f+E+m+D D z f ` @+E+i.N.J.h l v m.E+r+6.[.j.{.f.( c L.E+=+i.1 &.U U U [ e A A E 6 ", -": s % % : | ^ - 6 T P p O I G J < F - < ! A 1 d u 7 1 =.$._.}.q.k.'+b.O.v+0+X.9+|+Y.m+P.Y.Q.r+}+%+c+.+`..+n+v.a.$.!.).B.x._.5.F.[.` $.!.X #.V @ 5 * # ^ z r g e 8 > < c E H &.{ _ O L 6 I 8 f ) ; 5 ) C e 8 g .@.g m &.>.&.<.5.).{.3.3.G.w.J.3.O.X.W.X.9+z+[+r+&+3+3+S.z+c+ +u.2.[ P # u i c G a + $ % : < ~ v u ^ s s s 4 L s s : $ 1 a $ d Q % ^ F F % w X k % s s s s s s % % % % % % % % % % % ] y y x : | $ . w x 5 q H * F > + > P F _ ' f u f D E , z M t l G ' t - T @ ; ] . w ^ q P _ v E+}.o 2 P.E+E+E+w @ 1+E+n+&.#.W .*+E+E+j r N V e e e &.j E+E+H.S }.:+E+ .o E+E+i.J O b } ( W.E+W.E+t _ l _ E+E+~.} } D a ( V N n+E+ +1 [ j Z S i K R V ( m ^ ", -"% % % % % % | ; q T q C J b f D O p l t t h p ' o o o d i .[.q.G.C.u.U.o+C+X.X.R.R.Q.&+c+Q.y+d+w+y+&+c+}+Q.t+y.g.'.'.s.G.!._.w.e.X L R Q b J - 5 ] x 4 @ - + _ p 4 > B @ q ( h 4 I Y > O L b P ] ] ] F &.Y / ` R > y / #.h 8 (.[ j.d.q.7.9.H.J.n. +C+c.4+1+S.*+D+0+t+3+R.W.1+4.{.K h m U j j A 2.u - ] | 3 +.e 4 s s s s 5 <.) s % $ , p > <.< % $ : % | t <.% % s s s s s s % % % % % % % % % % : y V X , % $ # u +.Q P > x ; q ^ + C - h < J I G o m d a 7 u ! o b o G F 9 ^ # ] 4 & 4 ^ T > m !+~ f ! 2+E+++V x o Q.E+a+j =. .,.,+E+8+U N A 2 2 V N U g.E+~+7.U a+E+c+d W E+!+S v I O } G v+E+@+~ I J _ v E+E+E+I ! !.e.Z ( #.c+E+D.c &.j j S i i U Y / ! ; ", -"% % % % : : | = ; H q - - t ' b b g ' G J F P l J p o M f 2 j 6.s.N.u.c.5+t+X.z+z+R.)+Q.r+c+&+Q.}+c+m+m+.+.+)+x+k._. .2.{.}.[.6.,.+.<.i e 2 f < + 5 w w . . w w w w w = = = w . = ; q ^ 3 t y . x x x T 7 O k e f * y d 2 t d p { [.5._./.:.a.r.C.o+T.'+b.T.2+D+4+4+2+ +W.z+b+p.}.O ) B 0 :.R =.8.a E I y g Y / s s s s s H j + s : . N p Q &.T @ z u $ ] A 7 : : . J < s % & 4 = % % % % % % : : : . A ~ m : $ _ W <.T l # . ^ ] ] ^ T C H > J v P G b u u 7 B B , Q D } _ 9 + ; # x = = * * 3 y.)+/ z u F.E+m.@ ] a.E+E+'+<. .,.r.E+E+V.e { A d 7 d / ` y+E+`.;.&.}+E+&+A.f+E+W.(.l p } ' ' z.E+~ O M } t P P.E+E+2+t+=+n.#./ o.E+E+(.n R r 8 U &.&.Y N ( o ) ", -"= ) + 4 & | : : | # > - y ) H F P l t _ t l F - C > _ J k ' D S ].w.N.n.a+4+1+0+ +9+|+R.R.[+m+W.W.W.&+r+Q.Q.r+<+c.z.'.!.@.!.>.@.X #.<.i R n , ' - * w & = $ $ $ $ $ | $ $ $ $ $ $ | | | | $ = = = = = = w w ] + ; . 4 > ' T w ] < e [ a R j @._.*.v.L.G.0.I.v+x+T.T.t+<+S.n.4.w.=.- # g .;.X 6._.i &.r &.O b K q % % % = o [ ] % : 5 i.E / I : f j 1 % q K 9 % ; m d L $ ] ! r a s s s s s % % % $ H ( L o % * V &.{ > @ & 3 # . w # > - P _ C F J t I p g E a A V 1 V d ' > y # w # t G F b+b+E+E+W.! u H.Q.{ ^.U.Z.E+E+:+7.B+)+;+E+E+E+2.d , u D m w.c+E+E+E+z.c e.E+E+g.m+E+W.i.J G O ' } z.t.} b M o t F E Q.E+E+M.a.( ,.3+E+E+E+C+( N c 1 V n ( / a B b ; ", -". 9 P q T + & | | $ # - F + 3 ) + @ @ 6 F < 6 + ^ 3 ; ; + H P g ( S #.-.>.2.2.6.9.E.I.c.A+ +[+P.Q.m+&+c+}+y+.+P. +K.{.W X X X ~ <.<.K U R V a D k q ^ x $ $ $ | | : : | | | | | | : : : : : : | | | | | $ $ = = & $ $ | $ $ = . x ] 3 y l u n K '.F.l.f.l.I.U.o+4+1+u+T.M.L.s.:./ < - A i. .}.7.-...:.6.L p < K ! % % % y c z % % : 3 0 , 1 ^ % o S - = 7 ( % ] m n g D | C / ] + s s s s s % % % + f t A ' 4 G o i B T . 5 y F ' > 6 < C v p < P l v ' l g z E ( 2 e [ n 7 g h y 4 5 d ~ + : $ & ^ G f m M O p 9 x @ _ m n 8 ~ -.;.-.K c A , u m b ! u d a A ( a a 7 E B D O p t v p k ' } [.E+I g ! g J l _ k ! , a a { Q d B B u u 7 Q { { { { Q { Q 7 7 M 3 ", -"4 F h 9 > P q * $ | | * > F y ^ ; ] * # * 3 ^ * x w & = w w 4 y h p p I I O o o b E Q e Z (.h.'+o+z+W.r+y+y+c+.+Y.t+p.2.+.j K K S i 8 &.Y A , m } v > ; . $ | | : : : : : : : : : : : : : : % % % % % % | | : | = | : | : : | = = . w x # + < ! V 7.a.}.a.z.F.0.p.C.N.d.d.*.K k H . y d ..|._.!.$.a.E.e.<.2 m e / ; % % } 1 @ % % : 3 $.<.d % q i 7 % - V v % h 8 f ^ & % T c < s s s s s s % % : l ' 5 1 O C G _ 8 < * # h < E =.f l r #.h &.-.o k &.2 k Y u M d , N c i .[ G C ) @ A / | : : $ ) v o f ! } v + x 3 F M A e K <.Z S N a E D D ! O M ! f u 7 z A f b M o b I k J J p I I B.I.}.O g o I v _ k f , 2 2 / ( a B z f b ! b D E E z u B f z z f O + ", -"w - t C P h P > 3 = $ $ ] > P > ^ * x ] w w x w . $ | : | | $ = w ) P t J t t J l J I I g b M a R !.1.v.x+[+}+c+c+R.u+x.X U [ R Y e r c ( a 7 b } l > 5 4 & = $ | | : : : | $ ] ; . | % % % s s s s s s % % % : : : : $ | | : : | | | | = . w ; - U ~ +.'./.].8.q.N.}+|+|./ 3 : : & ) } 2 j ..,.$.|.j.|.x.<+ +S.W > % < c h % o.o.o.; |.~ h : O 8 Q H D K E 3 M X t # w w 2 +7.: s s s s s % % ^ G + T ~.z+5+O.C+X.a+b+' b 6 D.7+U p r +.f <.L J f @.<., ..n M z m Q e _.1.j.,.( _ M #.G & $ $ ] 6 _ g f o ' h.g.R.E+- o B ( R [ r n d z b O O } G G I I g ).W.D+1+1+<.G ' ' G k I 1+4.k @++.g g I G k t t o 7 / N N 1 / , z M g p J _ h I } g o o o ' O G p 5 ", -"= 6 _ P < P P C > ^ & : | & 5 C - y ^ ] x ; . & = $ | : : : % % : | w + C < _ t < h l v k O O ' G } ! d K 2.E.V.n+[+X.v.2.R V n V n V A a d E b } v 9 ; 4 . . & & = $ $ | & * T q 5 . % % % % % % % % % % % : $ . x 4 x 4 x w . & = | | $ $ = & w 6 o , R j a.+./.v+E+r.} * | : | 4 T M e Z >.(.i.).)._.i.(.}+E+;.| T c v : B E+D+% ^ q.c # : P f 6 % k 7 @ % p r O T w l D r+A ! 1 + s s s % % b I % < L i R.E+@.! Q E+E+q #.7+E+@ F R Y D 8 ( > G 2 Z Y R A M } } b c {./.~ ^.@.o 0 ~ P ) ) T I 8 Z ! Y !.{.E+8.) ..h 7 ( { 2 n 2 7 u M } G J t _ h < > > z /.m+E+B v t } f ! ! ` E+E+E+0 t p p p J l v I m A 1 U S [ V B g l C F q + ) y 9 P < P v < P C F ) ", -". @ > - F t t l _ h 6 & | : $ x @ > > f , G w & + . : : : % s % % % : $ 4 5 - _ _ _ _ J k O G p k k p k p g m c >.9.I.3.9.U d Q / 2 A a , E z o I _ T 5 ] 4 w w . = $ $ = ] y q F 6 x % % % % % % % % % % % % | * @ > P p } ! D B , m } J P h l P C < t O r+^.Y 8 <+E+J 5 & . | & ; > ! R =.,./.:.[.|.}.'.A.V.E+/.F a q : % E+E+o P ! 7.J % % % % % % % $ : % x @ y | % 9 g P : O b x s s % x > c ' : v B ..E+}.<.< % E+E+J U E+o+^ 2 &.- Q V h F t B =.Y 7 g I v ' O N :.#.+.^.#.r 2.r k t / z _ S Y 7 j 2.z+E+<.C - d ..,.1 V _.!.+.0 o d <.V v C q 9 H C Y F.E+%.C v } ! u B 7 d 7 E f o p _ h _ h C h I D a N L W ].;.u G - T H ) 3 4 x w # * ; ) 6 H q F @ ", -"& H - < q l l v p v l @ x $ | | = 3 C 1 $.k ^ 3 L C | | % % s s % % % : : | & x ; 6 y q F < h h < h C F q T F h v I a [ 0 c f m z D B u m f ! g J _ 6 3 ] 4 w x & = $ | & 5 y H F @ w : % % % % % % % % s % % : x 5 q h I b , N R 8 &.Y / A n 8 ~ X ..~ 8+,+{.!.e.>+b.q 4 . . : . 6 - f [ X ).~.j.j.j.}.,.p.'.E+u.t . : : $+E+D+> v z X @ : % s s s s s % % % % % s % % % % % % % % % % % % = y C q $ 5 = l.E+R ( ' }.E+o.h D.E+[ < i k J 8 r t 9 l c =.e J l p t p G W >.n ).).n !.i.( D K 0 o e L m D D *.~+O.R l / L 0 L [ &.!.).~ B 7 &.L A _ h - 9 T B Z o.E+%.G p D / Y S Y V r r V Q m } l P - 9 q ' z { r j -.'.S D I H y + ; ] . = = & & x # ) 6 T < ) ", -"p K =.&.> < 7 o l m ' v P ^ & | | $ * n +.> 9 q m * & y M w % % s % % % : : : : | | $ $ $ $ . x # # ; * 4 # * ] # ; q h _ p ' } O } M o g O I t > 9 3 ; 4 x x 4 4 . w & ] ) + 9 F T # : : % % % % % % % % % : : | # 9 < p g E A e N 1 ( a d A 1 i +.-.p.E+,+[.@.H.E+/.++E+R.& : = 8.!+E+<+'.:.].}.].~./.%.E.j E+r+G > ^ T.: E+o.| 4 > *.P.H.D+D+E s E D+E+0 % F l.D+E s E D+j % % :.$+E+o.% % % % % % % % T.E+% | = $+E+M & u+E+5 t ` [+_.T.I.) - U d+E+^.F B '+P.S z s.`.E+l+}.r {.).y+X. +E+T.'.2 l o 1 x+E+U.r ! >.K p.f+6.E+W.Y } I .+s+3.E+C.- T 9 9 U ;.S.E+Z G O S j -.8...D+W.q.|.h._+z.f+E+`.{ C J.E+Q R '.8+z+( ..Q.E+V 5 w.R.a & . w x ] ; + T C P ^ ", -"B v W n l Y ,./ D $.B p k } D , , $ y S g H C k P T 9 / N | : : : % % % % % % % % % : % : : : : % | | $ $ $ = = = = = . ; 9 < J } G l h h _ t > @ ; # 4 . . & w & w & w ] 5 H P C q * : % s % % % % % % : : : | | $ ] @ q t M z , d a 7 B m z d V r 8 F.E++.j 8 9+f+S + Z.E+= % T.)+p ,.E+'.:.~.}.g.j.'.y.E.U E+B+B b S V c.E+. $ % d.[+p s l.E+0 % % $+l.% % % o.s s |.$+o.s % o.D+% B E+% % % % % s s j E+l.0 0 E+D+Q x | E+Z * -.E+* ^ u+u+y q F ~+B+C < J 4+T v G.;+q.2 =+8.Y E.l+E+N.0.s+{.(.c b } g Y.)+a p e x.}+j.b d -+E+A ;.m+E+M.:.A+r H 6 q } W x.E+w.r G 0 >.U :.E.d+E+j.f.o.;+g+6.R ~+E+` } E+x+d &.J.E+L.V i [+E+' 8.^.- t ) 4 * ^ ^ y F < < v H ", -"3 I L P J K X b j [ F t a n O +.E & o 8 x * } i / P { -.Q 6 v A ] P l % % s s % % % % % % % % % % % % % : : : : : : : : | $ x 5 H P _ F ] 4 # ] w & & & $ $ | | | | | = . 4 5 t J h * : % s % % % % % % % % : : : : $ w ) - h I o ! f b } k G } z Q 2 b+:+Y V K &+4.F ) [+s+= 7 E+c h K E+B+(.i.i.j.:.!.w.g.1 .+&+u @.1.< Y.++< y ..!+S ' : 0 E+l.% % o.E+% % :.% % % F D+l.% B E+B % F E+:.% % % % % % :.$+B % % % : $ = d E+d * ; j.x @.)+A+Q D E x+E+q P h.6 9 d %+a+t g r+m+, e U.=+1 +.1 7 U g h k i %+o+D k X C+A+0 / X y+E+_.n u+:+` K _ + y H T Y @.G.f+5.B 2 |.j ..9.=.5+-+5.^.7.i+ +<.j.%+,+Y / E+s.Q Z v+(+x.8 ` X E+y+z+7 1 S _ 3 T ' , =.r } } / ! ", -"q =.( ] _ [ n ( Z ' q d Z } R ~ _ G U z | + ( X M 3 1 +.q p c r t o n s s % % : : : : : * m I - % $ H 9 4 # : % % % % % % % % | | w 5 @ * & = = = $ $ | : % s % % % % % % % w V .I ) : % % % % % % % % % % % s % % | . 3 6 C l p G I k v C H 6 _ g ' E+0+u m [.E+i.- 9 E+;.4 T.E+O.5+3+D+W '.'.$.2.'.;.l.[ A f+E+o 1+t _ E+5+} t E+t+N t | 0 E+0 : % :.E+B F :.% % % 0 E+0 % o.E+o.o.o.o.% % % % % % % o.o.% % : : : : $ b+E+= * # <.#+s+E+7.Q < < ^.E+S D 8.y v *.E+&+4+x+2++.E z E+3+a 2 B M J t _ G G.E+7.o g 7.E+0.V [ ;.Q.E+R R E+Y.,.A v T H C J $.[ 0+)+&.! +.g.%.{.*.,.E+)+L.j.4.E+N.(.l.E+z.d ~.E+A n U }+.+S a <.i.@+E+-.! K A T H e D Q '.V M j W b ", -"2 ~ , > { #.V X j p ' N B B >.N p N -.} 3 - &.d $ - Y E F p z 8 a } Q = $ | : : : % % @ 7 v p A # H 2 K E E % % : % % % % % w h l # % @ z h : : : : : % % % % % % % % % s s x d W I y | % % % % % % % % % % % % % % | x ] + 6 T C P < C T F 4 = & 5 %.E+J _ _ 5+4+_ h 5+E+T ; E+X H _ , K X >. ...%.@.H.z.N , f+E+2+p v 4+E+G o j.E+7 n a y T.o.% % % :.E+E o.% : % % o.o.% % E+0 % % % s s s s s s % 0 E+0 % % % % % s $ E+<.w J E+}.= E+V.y ^ 3 9 8.E+U u+3 6 G 9+D+V h I p ' O j.E+E , V ( d a .n 8 9+0+u z m 3+X.r 8 #.Z E+H.S B.E+i [ z G h P h z <.x.E+F./ 2 =.[.@.].h.I.E+].J.7.d+c+'.7.d+E+W V E+X.Y U u.E+L.Y V |.3+!+E+2 l U J 9 [ U b >.-., d j.=.b ", -"A S o O S j M N [ G , K V r @.[ z =.>.Q J e @.I $ b c @ . 5 J +.[ o ! H ; . & $ : : % f / ^ z e + q A Y o ^ % : : % s s % $ l / u 6 w a Z Y &.l % & v E > % | 5 6 4 % % s s q R 2 I + % % % % % % % : % % | % % % % % | w # ; ^ ) ) ) M L } $ | % # N.@+@ * o Y.C.v k P.*+q y E+E+y h e /.Z -.=.X =.j 1.i.7 M 2+E+L < P Y.Y.> l [.E+Q ( A S u+A : : : : E+$+% % % % F D+l.% % E+E+% % F E s s s s s s |.$+B % % % % % % B E+7 & s.#+$ _ E+A.. 4 3 > @ E+++y y q H o+E+'.v t i.' } v.f+f Q , Q , 7 i U Y r+B+Q a A +X.R L +.A.d+~ #.A+>+&.N a b I I G ! E p.:+_.c N [ Z j.W $.x+;+6.s.J.$+9+_.6.++i+@.=.E+'+S #.3+(+D.U +.^.4+Y E+A+c N t ' }./ i ^.&.2 V !.W n ", -"L { G g D M t b J 3 J ( ' ! N k k Z L u D X @.1 g c K p w : y &.i } p l h F H ; . & 5 Y o ; r Q | h r _ | | | : | | : % % $ E u = % ) c f q L f % g d / ! % > 7 &.o % $ _ m { c l C * % s s : | | ] } I | $ % % % % s : | $ & & & = | ' 8 ) % : : - 7+c+:.| 6.E+h.I +.E+'+C H #+E+E+E+@+/ 8 L 0 j S @.b+j E b G.W.v t S E+C.F C 0 E+&+Q 8.t++.' F ] = | $+% % % s % :.E+:.% % $+E+E+E+$+s s s s s s F D+D+F % % % % % s D+E+C % |+E+#.s+E+k._ & 3 C + ++P H y q F m.E+E+E+E+S } n E+m+E E f u Q { A A k.E+y.2 ( / n.E+J.'.p.,+,.W _.E+7+&.c { 7 D f f u j c+}+=.r r U G.7+Z |.E+w+~.g.4+E+o+:.k.E+S.+.L 7+7+w.3.g+g+K.n x.r+G =.r+*+Z 1 ' a [.Z ,.h.` 8 e e...g ", -"i b g G p p I p v 9 ) 3 y > > + 3 J g J o / 1 g } [ a y | : t j D + 6 h t I G v > + P / H ! R > 3 r 2 5 . & . & = | $ | : s o V 5 % h n q t 8 > J V d O ; 9 2 7 D l % z M w m } $ & $ s s s | $ 4 M K U &.o : 9 ' C C 5 : # 5 . | : 3 { z % s % % C _.h.: }.U.V.x.B.1+v+5+> 9 ; c.u+C o 7 n c n n D. +C+w.z ! B.' } 1+5+5+o+e.H C #.t+S.d B a ( A O T w 7 : : : % :.o.o.:.% % % o.o.% % % % % % % :.o.o.o.:.% % % % % o.o.o.B % 7 T.= V c.Q ] 4 + @ / R > 3 y T C J 9.4+8 T _ ` v+x+3+u z D B A / 2 0.3+ +D.( 2 d 7 p.z+I. .2.2.r.Y.)+R.i Y A B z f f w. +X.n+n+<+<+<+D+0 f.)+*+W.~.o+r+&+A+A+m+W.P.W #.f.[+n.1.o.W Z X.0+2+O S.0+x+A.m t m #.1 L i.U c ..h.x.R ", -"Y , g G G p G k I G t H * # ) T 9 + ) 9 l J J v t p J v T ] Q g # | = 4 + F G v _ P F A 7 u t x t L t & = & x . & & = $ & ) < e > % a 7 ) ( f * ( / H = % { ( } y % ! 2 5 y g + % % % % % % % % . d { C V Q F ! Y N B H ; ! V m 5 % v 2 M 7 O . : 7 2 . | = 3 6 C G J h _ T y x 4 * > t M z B z D u B 7 u ! ! M o f I k l C @ + H _ ' ! m f , K <.[ / m ^ : : % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % : = . = # . ] + 2 ].+ * ] F q 9 q < v - T k I G D , D E D z u B , B A 2 A 2 a , 7 n &.+.>.i.|./.i.%. .S 1 7 m ! o ! , { n N [ U K #.Z L X W ,.i.|.6.~.6.~.[.:./.,.;.#.~ !.'.,.>.@.j n E O ! , A Q u M o o m d { a n $.x.i =.~ ", -"3 k } g I ' g p k I G k C H ; * 3 > C @ 6 h t l v F Q j / R m @ & | | | $ x 5 T v k k ' O ' > ^ H _ 3 . . . ] ] w w . . x f f g # 5 8 I 2 o = ^ i 7 h ) y U d ) | 5 [ J s , O w % % % : % % s s 4 N k @ i o : m r } 3 # ( g ) [ I % , Z _ 2 / w 6 e J % $ v j U O ! #.n o r l ; v - > v O b o o b f u D z z D z [ j , k l C H @ T < ' O I D a #.$.,.!.~ Q q = % % % ] H @ 3 . % % % % % % : : : : : % % % % % % % % % % % % s % s % | : : . x ; x E.^ 5 5 + - y y H l h > J k t G u f D 7 E u E 7 2 { n V / a A Q { N i =...$.2.).(.,.W j c , D D f E A V N R &.S +.@.-.=.@. .>.%.(.:.:.j.:.|.|.|.'.;.+.X ,.2._.(.!.<.R Q u 7 V r [ e Q u z 7 a { 2 / @.r.[ r <.", -"] t M g o o I p k O g I G g p > ^ # + H > T - - < _ I d m _ C _ F ) # $ | | $ w * H P k I I l F 9 6 6 3 ] 3 ; ; * ; # # 4 - C w : z N u 3 % % & B V C 4 * 1 { J + G c H k W a P w = % : % % % % G 1 5 b / ^ : e b | s h r + J +.q > <.O 4 e ! % D 2 ^ % } a 2 N E , @.Z e -.d G =.E F B +.:.1 k p O f f D z u / $.` O h q H + y 6 F p J < } m &.(.{.q.|.~ V C $ % 3 O D o { G : % % % % % % % % % % % % % % % % % % % % % s s s s s s % : $ w.~.}.p 5 5 # q 6 ] ; 9 v P l p p p I ' b f M M z B u d a / 2 A V { , A e L =.` -.W !.!.-.0 8 R n B d a a V c Y R K j X ..W W ;.%.!. .%.$.i.i.'.,.,.%.>.-.#.+.>.i._.2.%.` 8 / { 2 r <.` Z [ ( ( V V n c / c -.-.Z d ", -"w J O k g ' k p G G k p p p J t v F @ ; 3 5 H q F P > H y * ; 5 6 T < q ^ . $ | | $ . # ) > h _ < l _ l < T 9 6 @ @ ^ + H ; ; x 3 ` p | : % % % & # = % : q k ] % + m t P Y J ^ | = % : | : : : N ! B ( ^ % M S @ s s f B x 7 e 4 Q / . O { ^ . 8 k % ^ S 7 z > 6 M !.n { ~ z z R k C #.n , f l _ k o O M f ! <.'.[ I h ( K D 9 @ T , 2 t G I Q X 6.f.^.2.~ A > | _ Y F % < > % % % % % % % % % % % % % % % % m X A 3 & ' > s s s s s s % : = = & . # & 4 5 ^ 5 ) P h q h l p M G ' O M D ! b m m ! d ( / / 1 Q , Q n i 0 0 ~ Z ` +.<.i r 1 1 d 2 V N &.8 i j #.=.X ;.;.W ;.>.!.!.>.;.,.>...>.;.W @.` 0 #.!.%.'.'...~ &.V 2 N 8 #.@.=.j [ c N Y N N V n N r e v ", -"x v I k I G G I G G k k k J p G G J v P y ; * ; y - > H H 5 w w x ] 5 6 y 6 y * w | | | | = ] ; ) > h _ t t h _ h > > > q 9 q T A -.} 3 & $ : : % % % % % % % % % % % | # + 5 * | = : = & $ : H L / q $ % % Q f . s s l J - R y | K < P ( @ % p 0 l : O @.l 3 ; ) [ r T e R y d G q > R +.o t P P G I I I O o .8 t C 0 7 G ~ ' + { Y c N f } M c ;.6.j.[.(.j 7 H _ S 7 . w . % % % % % % % % % % % % % % % % ! 8 P % P { > % % % % s s % % | = | . w w ; # + 9 - > H > v t g } k g M ! ! b D M g b u A A / ( Q { , V r R i S j <.<.L [ c n { Q ( e U j j #.~ =.@.@.-. ...W !.>.>.>.;.!.!... .@.X X Z j 0 =...W ;.W <.[ 1 n r K -.!.!.+.U e Y R r Y c 1 ( V ( h ", -"* t O ' I ' } g ' } ' ' p k G p ' k G G t < T ^ # * 5 @ > q ^ ] 4 x . w w # 3 y > ) ] = : % : | | & 4 ; 9 - F h h h C - q P < p a d B H ) * & | % % % % % % % % % % % : % $ ; # $ $ & ] = : = 1 A | : % | : # x : s s % _ } . s & B z - # s s O n } 4 ! X t u # ^ K + 9 &.H y r - ) < I 2.B P T q h J k J k d $.f q m @._ d '.J t -.o z %.7 O J u [ ..;.%.>.#.( t > n X J % % % = u / _ & % % % % % % % % % : c 7 4 % D I = % % % % % % % % : $ : | . # 3 y ) 9 F q 6 - c ,.1 t t G g m } g b g k b u Q a V ( , a 7 / V r &.8 S S i R e n / { ( 1 i j ~ =.@...,.>.;.!. .!...W ..%.>.%.,.'.%.%.!.;...` #.=.@.-.-.=.~ S e n N R #.!.(.$.` L 8 &.R e e N c c N c h ", -"* ' f } I } G ' } I } ' G I k p ' G p } k v J _ F 6 * ] 3 y 6 q H ^ x . = = = . 4 # 5 ^ 3 ; w | | : | : | $ & ] 5 6 6 6 T C F > - 6 q 9 T H 6 # | % % % % % % % % % % % : % | = $ = 4 w | = p X Q | : % & : % % % s s s s s s s s s | : s s s 3 9 = : y M ! | : k k % ! M % p 2 > ] c < .G 9 y y F P l _ t 0 ..g H c 8 F R -.- { #.P &.,.P p v J z 1 [ S j &.V b h - [ K ^ % & e l q 8 + % % % % % % % % % F <._ : % F 4 4 > > ] * & % % % % : % $ w ^ q 6 y 6 T 6 q h Y L M l I k I g g M ' G ! m i ,.R 1 { Q 2 <.` r e Y r r R 1 / / / 2 n N r 0 ~ @.%.>.2.(.2.$.>.!. . ...;.%.,.,.$.i._./._._.(.!.-. .>.W -.` #.U V { 1 U X ,._.i.=.#.0 K 8 [ r e r Y R R J ", -"* ! , } } g J I ' ' I g } G p p I G G I k t v J k v l P 6 5 * 3 y 9 H 6 3 ] w = $ = = = . 4 ^ ; ] x $ $ : % % : | | | & w 4 ] * 3 3 + T 6 6 > > 6 + ] $ : : | : | : : % s s % % : = w & & ] Q D d . % : % % % s % % s s s s s % % % % % % % % % % % s s s s % % : | % * x % y > % | D V m T ^ 3 @ 9 - < h _ W =.( q c z J '.I @ &.A _ >.Y - o O t p o D Q a a , / P = h X l % v K x M X 3 % % % % % % % % % m R ; % % | 3 G f / @ a v : . M Z q % : $ ; C * * @ > 9 F v W { l v G p g O O o O I b 7 1 i c A d A ( 8.~.S N V ( V { E , 7 R '.Z N R j ` !.(.$._.:./.).$.,.!.>. .!... .(.i._.[.g.8.{.7.~.2._./.'.W X 0 &.2 Q 2 Y j ;.>.-.+.Z Z L K i i U 8 U S L } "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/aspect.xpm --- a/gui/mplayer/pixmaps/aspect.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -/* XPM */ -static const char * const aspect_xpm[] = { -"16 16 3 1", -" c None", -". c #000000", -"+ c #FFFFFF", -" ", -" ", -" ............. ", -" .+++++++++++++.", -" .+....+...+..+.", -" .++++++...+..+.", -" .+........+..+.", -" .+........+..+.", -" .+........+..+.", -" .++++++++++..+.", -" .+...........+.", -" .+...........+.", -" .+++++++++++++.", -" ............. ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/chapter.xpm --- a/gui/mplayer/pixmaps/chapter.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -/* XPM */ -static const char * const chapter_xpm[] = { -"16 16 4 1", -" c None", -". c #000000", -"+ c #FFFFFF", -"@ c #CD0909", -" .. ", -" .++. ", -".++++. ", -".++++. . . ", -" .++. .@. .@. ", -" .. .@@@..@@@.", -" .@. .@. ", -" . . ", -" .. ", -" .++. ", -".++++. ", -".++++. . . ", -" .++. .@. .@. ", -" .. .@@@..@@@.", -" .@. .@. ", -" . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/delsub.xpm --- a/gui/mplayer/pixmaps/delsub.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -/* XPM */ -static const char * const delsub_xpm[] = { -"16 16 3 1", -" c None", -". c #CD0909", -"+ c #000000", -" ", -" ", -". .", -" .. .. ", -" ++. + + +.+ ", -"+ .. + . + ", -"+ +. ..+ + ", -" ++ + ..+ +++ ", -" + + . . + + ", -" + .. +.. + ", -"+++ . +++ +.+ ", -" . .. ", -" .. .", -". ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/dir.xpm --- a/gui/mplayer/pixmaps/dir.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -/* XPM */ -static const char * const dir_xpm[] = { -"16 16 129 2", -" c None", -". c #B5C7C7", -"+ c #B5C6C7", -"@ c #B5C6C8", -"# c #BDC9D3", -"$ c #D6DFE3", -"% c #CBD8DA", -"& c #B2C3CA", -"* c #94AFBC", -"= c #739AB4", -"- c #7FA4B9", -"; c #82A3BD", -"> c #4380B1", -", c #437FAE", -"' c #4381AE", -") c #7FA3BA", -"! c #2D7088", -"~ c #265E70", -"{ c #255264", -"] c #1D4C60", -"^ c #A8D7F2", -"/ c #C5E4FF", -"( c #CAE7FC", -"_ c #B1D9F2", -": c #B1DCF0", -"< c #71B6E4", -"[ c #8EAEC8", -"} c #DEECF3", -"| c #DAEAF4", -"1 c #D5ECF0", -"2 c #E9F3F6", -"3 c #FCFDFF", -"4 c #FFFEFF", -"5 c #FFFFFF", -"6 c #FAFCFF", -"7 c #D0E6F2", -"8 c #C8E3F2", -"9 c #75B3E4", -"0 c #7BA5BD", -"a c #FAFEFA", -"b c #FDFDFD", -"c c #FBFDFB", -"d c #F8FCF8", -"e c #FBFCFB", -"f c #F9FBFE", -"g c #BDDFF4", -"h c #BADDF0", -"i c #63ABDC", -"j c #7CA2BE", -"k c #F8FFF8", -"l c #F9FEFF", -"m c #FDFCFD", -"n c #F7FBFE", -"o c #F7FBF7", -"p c #F3F7F7", -"q c #F7F7FA", -"r c #F2F7F7", -"s c #AED7F0", -"t c #AED6EF", -"u c #559DDB", -"v c #80A4C2", -"w c #F7FBFB", -"x c #F7F9FA", -"y c #F2F9FA", -"z c #EFF4F3", -"A c #EBF3F3", -"B c #EFF4F7", -"C c #E5F2F6", -"D c #A1CDE7", -"E c #9DCBE8", -"F c #4694D4", -"G c #84A2BE", -"H c #EDF3F6", -"I c #E8F2F0", -"J c #E6EFF1", -"K c #E1EEEF", -"L c #DEECEC", -"M c #DEEBEB", -"N c #DEECEF", -"O c #D8E8EC", -"P c #89BBDD", -"Q c #89BAE4", -"R c #3488CC", -"S c #7BA3BD", -"T c #D1E2E6", -"U c #CCE4E1", -"V c #D1E4E3", -"W c #D1E3E5", -"X c #D1E3E4", -"Y c #CFE3E3", -"Z c #D3E4E3", -"` c #C8DDE6", -" . c #72ADD5", -".. c #6FAED2", -"+. c #287AC3", -"@. c #82A3C4", -"#. c #B4D6D4", -"$. c #BBD9D7", -"%. c #BDD7DC", -"&. c #BBD9D8", -"*. c #BCD8D9", -"=. c #C0DADD", -"-. c #C5DCDE", -";. c #B9D3DB", -">. c #61A1CB", -",. c #61A1C7", -"'. c #1C70B9", -"). c #82A2C4", -"!. c #9EC8C7", -"~. c #A5C9CD", -"{. c #A7CCCE", -"]. c #A9CCCE", -"^. c #AECFCF", -"/. c #B2D3D3", -"(. c #B9D6D7", -"_. c #AACBD6", -":. c #5399C0", -"<. c #539ABF", -"[. c #176DAE", -"}. c #004577", -"|. c #00447A", -"1. c #00437C", -"2. c #00447B", -"3. c #004380", -"4. c #00447F", -"5. c #00407F", -"6. c #003B80", -"7. c #003B82", -"8. c #003C80", -" ", -" ", -" . + @ ", -" # $ % & * = - ; > , ' ", -" ) ! ~ { ] ^ / / ( _ : < ", -" [ } | 1 2 3 4 5 6 7 8 9 ", -" 0 a 4 b c d e c f g h i ", -" j k l m n o p q r s t u ", -" v o w x y z A B C D E F ", -" G H I J K L M N O P Q R ", -" S T U V W X Y Z ` ...+. ", -" @.#.$.%.&.*.=.-.;.>.,.'. ", -" ).!.~.{.].^./.(._.:.<.[. ", -" }.|.1.2.3.4.4.5.6.7.8. ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/dolby.xpm --- a/gui/mplayer/pixmaps/dolby.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -/* XPM */ -static const char * const dolby_xpm[] = { -"16 11 9 1", -" c None", -". c #000000", -"+ c #C3C828", -"@ c #BCBF27", -"# c #DBE82C", -"$ c #B5B626", -"% c #CAD229", -"& c #CDD62A", -"* c #C6CD29", -"................", -".+@@###..###@@+.", -".$...%#..#%...$.", -".$....#..#....$.", -".$....&..&....$.", -".$....&..&....$.", -".$....&..&....$.", -".$....#..#....$.", -".$...%#..#%...$.", -".+@@*##..##*@@+.", -"................"}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/double.xpm --- a/gui/mplayer/pixmaps/double.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ -/* XPM */ -static const char * const double_xpm[] = { -"16 16 132 2", -" c None", -". c #000000", -"+ c #92A0AC", -"@ c #808F9B", -"# c #86949F", -"$ c #8C99A4", -"% c #929EA8", -"& c #98A3AC", -"* c #9EA7B0", -"= c #A4ACB4", -"- c #AAB1B8", -"; c #B0B6BC", -"> c #B6BBC0", -", c #BBC0C5", -"' c #909192", -") c #B7C4CD", -"! c #91A3B3", -"~ c #98A9B8", -"{ c #9FAFBD", -"] c #A6B5C1", -"^ c #ADBAC6", -"/ c #B4C0CB", -"( c #BAC6D0", -"_ c #C1CCD4", -": c #C8D1D9", -"< c #CFD7DE", -"[ c #D7DEE3", -"} c #BCC1C5", -"| c #8B9EAF", -"1 c #92A4B3", -"2 c #A6B5C2", -"3 c #ADBBC6", -"4 c #BBC6D0", -"5 c #C2CCD5", -"6 c #C9D2D9", -"7 c #D1D8DF", -"8 c #B7BCC2", -"9 c #AFBDC8", -"0 c #8499AA", -"a c #92A4B4", -"b c #99AAB9", -"c c #A0B0BD", -"d c #A7B5C2", -"e c #AEBBC7", -"f c #B5C1CC", -"g c #BBC7D0", -"h c #CAD3DA", -"i c #B1B8BD", -"j c #ACB9C5", -"k c #7E93A6", -"l c #8599AB", -"m c #8C9FAF", -"n c #93A5B4", -"o c #A0B0BE", -"p c #BCC7D1", -"q c #C4CED6", -"r c #ACB3BA", -"s c #A8B6C3", -"t c #778EA1", -"u c #7E94A6", -"v c #8C9FB0", -"w c #9AABB9", -"x c #707A84", -"y c #B6C2CC", -"z c #BDC8D2", -"A c #A6AFB6", -"B c #A4B3C0", -"C c #71899D", -"D c #788EA2", -"E c #7F94A7", -"F c #869AAB", -"G c #8DA0B0", -"H c #7A8996", -"I c #79858F", -"J c #AFBCC8", -"K c #B7C3CD", -"L c #A1ABB2", -"M c #5E7990", -"N c #657E95", -"O c #6C8499", -"P c #728A9E", -"Q c #627584", -"R c #7A8C9B", -"S c #8EA1B1", -"T c #95A7B6", -"U c #9CACBB", -"V c #B1BEC9", -"W c #9BA5AF", -"X c #6A7D8E", -"Y c #8196A8", -"Z c #889BAD", -"` c #8FA1B1", -" . c #AAB8C4", -".. c #96A1AB", -"+. c #B2C1D2", -"@. c #90A6BE", -"#. c #95AAC1", -"$. c #9AAEC3", -"%. c #8493A4", -"&. c #738B9F", -"*. c #7A90A3", -"=. c #889CAD", -"-. c #8FA2B2", -";. c #919DA7", -">. c #BBC8D7", -",. c #8AA1BA", -"'. c #8FA5BD", -"). c #78899B", -"!. c #8696A8", -"~. c #A6B4C1", -"{. c #AEBCC7", -"]. c #B3BFCA", -"^. c #B7C2CD", -"/. c #C3CDD6", -"(. c #A7AFB7", -"_. c #B7C5D5", -":. c #859DB7", -"<. c #8AA0BA", -"[. c #7D8EA3", -"}. c #98ACC2", -"|. c #B2C1D1", -"1. c #7F98B4", -"2. c #849CB7", -"3. c #89A0B9", -"4. c #8EA4BC", -"5. c #93A8BF", -"6. c #D9E0E7", -"7. c #B1C0D1", -"8. c #B4C3D3", -"9. c #B7C5D4", -"0. c #BCC9D7", -"a. c #B3C2D2", -" . . . . . . . . . . . . . . . ", -" . + @ # $ % & * = - ; > , ' . ", -" . ) ! ~ { ] ^ / ( _ : < [ } . ", -" . / | 1 ~ { 2 3 / 4 5 6 7 8 . ", -" . 9 0 | a b c d e f g 5 h i . ", -" . j k l m n b o . . . p q r . ", -" . s t u l v n w x . . y z A . ", -" . B C D E F G H . I . J K L . ", -" . ~ M N O P Q . R S T U V W . ", -". . . . . . . . X Y Z ` T .... ", -". +.@.#.$.%.. . &.*.Y =.-.B ;.. ", -". >.,.'.).. !.. ~. .{.].^./.(.. ", -". _.:.<.. [.}.. . . . . . . . . ", -". |.1.2.3.4.5.. ", -". 6.7.8.9.0.a.. ", -". . . . . . . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/dvd.xpm --- a/gui/mplayer/pixmaps/dvd.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -/* XPM */ -static const char * const dvd_xpm[] = { -"16 16 110 2", -" c None", -". c #CACCD2", -"+ c #D3D4D6", -"@ c #D2D2D3", -"# c #D1D1D2", -"$ c #D1D1D3", -"% c #B5B8BD", -"& c #EDEDEC", -"* c #FAFAFA", -"= c #FBFBFB", -"- c #FCFCFC", -"; c #FFFFFF", -"> c #D9D9D9", -", c #AFB1B5", -"' c #C6C6C7", -") c #FDFDFD", -"! c #F7F7F7", -"~ c #F9F9F9", -"{ c #F6F6F6", -"] c #F8F8F8", -"^ c #B8B9BD", -"/ c #B2B4BA", -"( c #EAE9E9", -"_ c #DCDCDC", -": c #F3F3F3", -"< c #F4F4F4", -"[ c #A8AAAF", -"} c #CBCBCA", -"| c #CCCCCC", -"1 c #D7D7D7", -"2 c #E1E1E1", -"3 c #F5F5F5", -"4 c #EFEFEF", -"5 c #CCCDCE", -"6 c #D2D2D2", -"7 c #CDCDCD", -"8 c #D6D6D6", -"9 c #E0E0E0", -"0 c #E7E7E7", -"a c #E6E6E6", -"b c #E5E5E5", -"c c #EBEBEB", -"d c #E3E3E3", -"e c #ECECEC", -"f c #9C9DA5", -"g c #C4C5C9", -"h c #C1C1C1", -"i c #CECECE", -"j c #E2E2E2", -"k c #E8E8E8", -"l c #D8D8D8", -"m c #E4E4E3", -"n c #DBDBDB", -"o c #F2F2F2", -"p c #DDDDDD", -"q c #D4D4D4", -"r c #A2A4AA", -"s c #C9CACC", -"t c #C4C4C4", -"u c #CFCFCF", -"v c #E4E4E4", -"w c #DBDAD9", -"x c #727789", -"y c #DFDEDD", -"z c #C8C8C8", -"A c #BCBCBC", -"B c #BFBFBF", -"C c #9E9FA4", -"D c #C6C7C9", -"E c #E2E2E1", -"F c #999CA6", -"G c #C5C5C4", -"H c #D3D3D3", -"I c #C7C7C7", -"J c #BBBBBB", -"K c #BABABA", -"L c #C4C4C3", -"M c #95969A", -"N c #C4C5C6", -"O c #D8D8D7", -"P c #CACACA", -"Q c #C6C6C6", -"R c #B9B9B9", -"S c #CCCCCB", -"T c #939395", -"U c #A0A2A7", -"V c #E5E5E4", -"W c #FEFEFE", -"X c #C5C5C5", -"Y c #C2C2C2", -"Z c #B8B8B8", -"` c #BCBBBA", -" . c #A3A6AD", -".. c #9B9C9F", -"+. c #F0F0F0", -"@. c #C0C0C0", -"#. c #7C7E84", -"$. c #EAEAEA", -"%. c #979798", -"&. c #989BA2", -"*. c #E9E9E9", -"=. c #959596", -"-. c #A6A8AD", -";. c #B7B7B5", -">. c #B4B4B3", -",. c #8B8D92", -"'. c #9B9DA0", -"). c #B6B6B7", -"!. c #B0B0B1", -"~. c #929396", -" . + @ # $ ", -" % & * = = = - ; > , ", -" ' ) ! ~ ~ ~ { ] * = ) ^ ", -" / ( _ : ! ] ! < ! ] ) ) = [ ", -" } | 1 2 { ] ! : 3 - - 3 4 5 ", -" 6 7 8 9 0 ] a b ) = : c d e f ", -"g h i 1 j k 6 l m n o 0 p q 2 r ", -"s t u n v _ w x y p 8 z A B C ", -"D 8 l 2 k d E F ^ G H I J K L M ", -"N v j k e = _ O 6 P Q A R K S T ", -"U V k c ; W 3 > ! 6 X Y R Z ` .", -" ..+.; : : > : : : X X h @.#. ", -" 1 = : > : : : : $.X I %. ", -" &.Q a > : : +.v *.< =. ", -" -.;.P j k p >.,. ", -" '.).!.~. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/empty.xpm --- a/gui/mplayer/pixmaps/empty.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -/* XPM */ -static const char * const empty_xpm[] = { -"16 16 1 1", -" c None", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/empty1px.xpm --- a/gui/mplayer/pixmaps/empty1px.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -/* XPM */ -static const char * const empty1px_xpm[] = { -"1 1 1 1", -" c None", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/eq.xpm --- a/gui/mplayer/pixmaps/eq.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* XPM */ -static const char * const eq_xpm[] = { -"16 16 16 1", -" c None", -". c #000000", -"+ c #FE3700", -"@ c #FE8200", -"# c #FEB900", -"$ c #FFBA00", -"% c #FEF100", -"& c #FFF100", -"* c #E8FE00", -"= c #E9FF00", -"- c #95FE00", -"; c #96FF00", -"> c #48FE00", -", c #49FF00", -"' c #23FF00", -") c #24FF00", -" .............. ", -"................", -".....++.........", -".....@@.@@@.....", -".....@@.@@@.....", -".##$.##.###.....", -".###.##.###.....", -".%%&.%%.%%%.....", -".**=.**.***.**=.", -".***.**.***.***.", -".--;.--.---.--;.", -".---.--.---.---.", -".>>,.>>.>>>.>>,.", -".'').''.'''.'').", -".'''.''.'''.'''.", -"................"}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/error.xpm --- a/gui/mplayer/pixmaps/error.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,544 +0,0 @@ -/* XPM */ -static const char * const error_xpm[] = { -"48 47 494 2", -" c None", -". c #A56152", -"+ c #8B5447", -"@ c #7D4C41", -"# c #77493F", -"$ c #74473E", -"% c #73443A", -"& c #714238", -"* c #704137", -"= c #723F35", -"- c #753D32", -"; c #793D31", -"> c #8D5A4D", -", c #734E45", -"' c #724C43", -") c #915E52", -"! c #AF6B5B", -"~ c #C97765", -"{ c #DD826F", -"] c #E37E6A", -"^ c #DE7A66", -"/ c #D07361", -"( c #B76353", -"_ c #995244", -": c #794035", -"< c #64332A", -"[ c #643026", -"} c #8F5D51", -"| c #6E4D45", -"1 c #865C51", -"2 c #C07D6C", -"3 c #E98A75", -"4 c #E57259", -"5 c #E05C3F", -"6 c #DD4D2E", -"7 c #D94123", -"8 c #D73B1B", -"9 c #D5391A", -"0 c #D4391A", -"a c #D43C1F", -"b c #D44227", -"c c #D54B31", -"d c #C74D38", -"e c #914031", -"f c #672B21", -"g c #592219", -"h c #A7695A", -"i c #6F5048", -"j c #7E564C", -"k c #C5806F", -"l c #EA866E", -"m c #E25D3E", -"n c #DC411F", -"o c #DB3E1C", -"p c #D93D1B", -"q c #D83B1B", -"r c #D73A1A", -"s c #D43719", -"t c #D23618", -"u c #D13518", -"v c #D03317", -"w c #CE3217", -"x c #CD3116", -"y c #CB3015", -"z c #C3361F", -"A c #8A2A1C", -"B c #581C12", -"C c #551911", -"D c #9B6559", -"E c #6B4D46", -"F c #A67367", -"G c #E98A74", -"H c #E35D3D", -"I c #DD411D", -"J c #DC3F1C", -"K c #D63A1A", -"L c #D53919", -"M c #CE3216", -"N c #CB2F15", -"O c #CA2E15", -"P c #C92D14", -"Q c #C72B13", -"R c #B22914", -"S c #65190D", -"T c #4E130A", -"U c #98655A", -"V c #6B4E47", -"W c #BD8375", -"X c #E7765B", -"Y c #DF441F", -"Z c #DD401D", -"` c #D93C1B", -" . c #CF3317", -".. c #C82D14", -"+. c #C62A13", -"@. c #C42912", -"#. c #B82411", -"$. c #70160A", -"%. c #480E07", -"&. c #9B685C", -"*. c #6B4F47", -"=. c #C48A7C", -"-. c #E56547", -";. c #DF421D", -">. c #DA3E1C", -",. c #D53819", -"'. c #D33719", -"). c #D13418", -"!. c #CC3116", -"~. c #C32712", -"{. c #C12611", -"]. c #B6230F", -"^. c #731509", -"/. c #460C05", -"(. c #A86E60", -"_. c #6C504A", -":. c #BE8578", -"<. c #CC3016", -"[. c #C82C14", -"}. c #C52A13", -"|. c #C02510", -"1. c #BE2310", -"2. c #B2200E", -"3. c #6A1208", -"4. c #440B05", -"5. c #725952", -"6. c #A87B70", -"7. c #E66C50", -"8. c #DE411D", -"9. c #DA3D1C", -"0. c #D73B1A", -"a. c #D6391A", -"b. c #D03417", -"c. c #C92E14", -"d. c #C42812", -"e. c #C22711", -"f. c #C02410", -"g. c #BD220F", -"h. c #BC210E", -"i. c #A81C0C", -"j. c #570E06", -"k. c #93695F", -"l. c #806059", -"m. c #E77F67", -"n. c #DB3F1C", -"o. c #D43819", -"p. c #D23518", -"q. c #CE3116", -"r. c #BB200E", -"s. c #BA1F0E", -"t. c #B91E0D", -"u. c #94160A", -"v. c #430904", -"w. c #6F5853", -"x. c #C78677", -"y. c #DE4320", -"z. c #C62B13", -"A. c #C52913", -"B. c #BF2410", -"C. c #B81E0D", -"D. c #B71C0D", -"E. c #AE190B", -"F. c #6A0F06", -"G. c #896A63", -"H. c #E4684B", -"I. c #DA3D1B", -"J. c #D83C1B", -"K. c #CA2F15", -"L. c #C12511", -"M. c #BD210F", -"N. c #B61B0C", -"O. c #B41A0B", -"P. c #961409", -"Q. c #440803", -"R. c #765F59", -"S. c #C18173", -"T. c #DC401D", -"U. c #D33618", -"V. c #CF3217", -"W. c #CC3015", -"X. c #C52912", -"Y. c #C32812", -"Z. c #BE230F", -"`. c #BC210F", -" + c #B81D0D", -".+ c #B71C0C", -"++ c #B51B0C", -"@+ c #B4190B", -"#+ c #B3180B", -"$+ c #A71509", -"%+ c #620C05", -"&+ c #AC7063", -"*+ c #755D58", -"=+ c #E26B51", -"-+ c #C72C14", -";+ c #C02511", -">+ c #B91F0E", -",+ c #B1170A", -"'+ c #B01509", -")+ c #850F06", -"!+ c #360602", -"~+ c #91665C", -"{+ c #94716A", -"]+ c #DB4120", -"^+ c #CB3618", -"/+ c #B93015", -"(+ c #BF3115", -"_+ c #BE3015", -":+ c #BE2F15", -"<+ c #BC2D15", -"[+ c #BB2C14", -"}+ c #BA2B13", -"|+ c #B82A13", -"1+ c #B72912", -"2+ c #B52812", -"3+ c #B42611", -"4+ c #B42510", -"5+ c #B22410", -"6+ c #B1220F", -"7+ c #AF210F", -"8+ c #AE200E", -"9+ c #AD1F0D", -"0+ c #AB1E0D", -"a+ c #AA1D0C", -"b+ c #A91B0C", -"c+ c #A81A0B", -"d+ c #A7190A", -"e+ c #A92013", -"f+ c #AF180A", -"g+ c #B2180B", -"h+ c #AE1409", -"i+ c #930F06", -"j+ c #430602", -"k+ c #83615A", -"l+ c #AF6E5F", -"m+ c #C13216", -"n+ c #C1C1C1", -"o+ c #E7E7E7", -"p+ c #E6E6E6", -"q+ c #E5E5E5", -"r+ c #E4E4E4", -"s+ c #E3E3E3", -"t+ c #E2E2E2", -"u+ c #E1E1E1", -"v+ c #E0E0E0", -"w+ c #DFDFDF", -"x+ c #DEDEDE", -"y+ c #DDDDDD", -"z+ c #DCDCDC", -"A+ c #DBDBDB", -"B+ c #B12318", -"C+ c #B1160A", -"D+ c #AF1509", -"E+ c #AD1308", -"F+ c #9C0E06", -"G+ c #540703", -"H+ c #7B5E57", -"I+ c #C4634E", -"J+ c #CB3417", -"K+ c #FBFBFB", -"L+ c #FAFAFA", -"M+ c #F9F9F9", -"N+ c #F8F8F8", -"O+ c #F7F7F7", -"P+ c #F6F6F6", -"Q+ c #F5F5F5", -"R+ c #F4F4F4", -"S+ c #F3F3F3", -"T+ c #F2F2F2", -"U+ c #F1F1F1", -"V+ c #F0F0F0", -"W+ c #EFEFEF", -"X+ c #C34E45", -"Y+ c #AD1208", -"Z+ c #AB1108", -"`+ c #A20E05", -" @ c #630703", -".@ c #775A54", -"+@ c #D2533A", -"@@ c #CA3317", -"#@ c #DADADA", -"$@ c #EEEEEE", -"%@ c #EDEDED", -"&@ c #C65A52", -"*@ c #AC1208", -"=@ c #AB1107", -"-@ c #AA1007", -";@ c #A20D05", -">@ c #6E0803", -",@ c #785C56", -"'@ c #D64628", -")@ c #C83116", -"!@ c #D8D8D8", -"~@ c #ECECEC", -"{@ c #EBEBEB", -"]@ c #C65B54", -"^@ c #A80E06", -"/@ c #9F0C05", -"(@ c #720802", -"_@ c #765851", -":@ c #CF391C", -"<@ c #C73015", -"[@ c #EAEAEA", -"}@ c #C45851", -"|@ c #A90F07", -"1@ c #A50C05", -"2@ c #970B04", -"3@ c #6A0602", -"4@ c #74514A", -"5@ c #C52E15", -"6@ c #D6D6D6", -"7@ c #E9E9E9", -"8@ c #C3574F", -"9@ c #A70D06", -"0@ c #A00A04", -"a@ c #8F0702", -"b@ c #5A0401", -"c@ c #764F47", -"d@ c #AA2D15", -"e@ c #C83921", -"f@ c #BA403A", -"g@ c #A60D05", -"h@ c #A50B05", -"i@ c #9A0903", -"j@ c #830602", -"k@ c #480200", -"l@ c #7A4A41", -"m@ c #8F2A18", -"n@ c #CB351D", -"o@ c #D0523F", -"p@ c #D66857", -"q@ c #DB7A6C", -"r@ c #D9786A", -"s@ c #D87769", -"t@ c #D87669", -"u@ c #D67569", -"v@ c #D6766A", -"w@ c #D47165", -"x@ c #D16B5F", -"y@ c #D16A5F", -"z@ c #CF695E", -"A@ c #CF685E", -"B@ c #CE675D", -"C@ c #CD675D", -"D@ c #CC655D", -"E@ c #CB645B", -"F@ c #C85E55", -"G@ c #C75B54", -"H@ c #C55A52", -"I@ c #C3554E", -"J@ c #C1514B", -"K@ c #B73831", -"L@ c #A80F07", -"M@ c #A60C05", -"N@ c #A30A04", -"O@ c #900803", -"P@ c #790401", -"Q@ c #360100", -"R@ c #7E473D", -"S@ c #73281B", -"T@ c #B0160A", -"U@ c #AF1409", -"V@ c #A10703", -"W@ c #850502", -"X@ c #6C0300", -"Y@ c #230000", -"Z@ c #60281E", -"`@ c #BE2C13", -" # c #A90F06", -".# c #A70E06", -"+# c #A20804", -"@# c #940602", -"## c #800300", -"$# c #560100", -"%# c #643128", -"&# c #881F0E", -"*# c #C22611", -"=# c #A20803", -"-# c #A00703", -";# c #870501", -"># c #740200", -",# c #300000", -"'# c #60160A", -")# c #BE2A13", -"!# c #BE220F", -"~# c #B91E0E", -"{# c #B51A0C", -"]# c #A40B05", -"^# c #A30904", -"/# c #940401", -"(# c #800200", -"_# c #610100", -":# c #160000", -"<# c #571F16", -"[# c #841C0C", -"}# c #B61C0C", -"|# c #A80F06", -"1# c #A10803", -"2# c #9E0401", -"3# c #840301", -"4# c #760100", -"5# c #2F0000", -"6# c #541107", -"7# c #AF2310", -"8# c #BF2310", -"9# c #BA200E", -"0# c #B3190B", -"a# c #B2180A", -"b# c #A40A04", -"c# c #9F0502", -"d# c #8B0301", -"e# c #7E0100", -"f# c #540000", -"g# c #551B13", -"h# c #631308", -"i# c #B5220F", -"j# c #A00603", -"k# c #9E0502", -"l# c #900300", -"m# c #7E0000", -"n# c #630000", -"o# c #1D0000", -"p# c #4A0E06", -"q# c #6F1409", -"r# c #B4200E", -"s# c #B71D0D", -"t# c #B2170A", -"u# c #AE1309", -"v# c #A91007", -"w# c #7D0000", -"x# c #670000", -"y# c #260000", -"z# c #470C05", -"A# c #711308", -"B# c #AF1D0D", -"C# c #A20904", -"D# c #8D0300", -"E# c #7B0000", -"F# c #650000", -"G# c #290000", -"H# c #450B05", -"I# c #691107", -"J# c #A5190B", -"K# c #9F0602", -"L# c #9C0401", -"M# c #860200", -"N# c #770000", -"O# c #5D0000", -"P# c #250000", -"Q# c #410904", -"R# c #560C05", -"S# c #921508", -"T# c #AB170A", -"U# c #AB1007", -"V# c #8F0401", -"W# c #7C0100", -"X# c #6B0000", -"Y# c #4D0000", -"Z# c #1C0000", -"`# c #400803", -" $ c #680D05", -".$ c #931208", -"+$ c #A61208", -"@$ c #8F0501", -"#$ c #7D0300", -"$$ c #6A0100", -"%$ c #580000", -"&$ c #2C0000", -"*$ c #0D0000", -"=$ c #3E0602", -"-$ c #5A0903", -";$ c #7E0D05", -">$ c #8E0C05", -",$ c #990C05", -"'$ c #A40B04", -")$ c #980903", -"!$ c #8D0602", -"~$ c #7E0401", -"{$ c #6A0300", -"]$ c #620200", -"^$ c #4F0000", -"/$ c #2D0000", -"($ c #150000", -"_$ c #310401", -":$ c #3A0401", -"<$ c #430502", -"[$ c #4E0401", -"}$ c #570402", -"|$ c #5A0502", -"1$ c #560300", -"2$ c #4D0200", -"3$ c #400200", -"4$ c #1F0000", -"5$ c #030000", -" ", -" ", -" ", -" ", -" . + @ # $ % & * = - ; ", -" > , ' ) ! ~ { ] ^ / ( _ : < [ ", -" } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g ", -" h i j k l m n o p q r 9 s t u v w x y z A B C ", -" D E F G H I J o p q K L s t u v M x N O P Q R S T ", -" U V W X Y Z J o ` q K L s t u .M x N O ..Q +.@.#.$.%. ", -" &.*.=.-.;.Z J >.` q K ,.'.t ). .M !.N O ..Q +.@.~.{.].^./. ", -" (._.:.-.;.Z J >.` q K ,.'.t ). .M <.N O [.Q }.@.~.{.|.1.2.3.4. ", -" 5.6.7.8.Z J 9.` 0.a.,.'.t b. .M <.N c.[.Q }.d.e.{.f.1.g.h.i.j. ", -" k.l.m.8.Z n.9.` 0.a.o.'.p.b. .q.<.N c.[.Q }.d.e.{.f.1.g.r.s.t.u.v. ", -" w.x.y.Z n.9.` 0.a.o.'.p.b. .x <.N P [.z.A.d.e.{.B.1.g.r.s.C.D.E.F. ", -" k.G.H.Z o I.J.r a.o.'.u b. .x <.K.P [.z.A.d.e.L.B.1.M.r.s.C.D.N.O.P.Q. ", -" R.S.T.o I.J.r a.o.U.u b.V.x W.K.P [.z.X.Y.e.L.B.Z.`.r.s. +.+++@+#+$+%+ ", -" &+*+=+o I.J.r 9 o.U.u b.w x W.O P -++.X.Y.e.;+B.Z.`.r.>+ +.+++@+#+,+'+)+!+ ", -" ~+{+]+p q r ^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+,+'+h+i+j+ ", -" k+l+p q r L m+n+o+p+q+q+r+r+s+t+t+u+u+v+w+w+x+x+x+y+y+z+A+r+B+C+D+h+E+F+G+ ", -" H+I+q K L s J+z+K+L+L+M+M+N+O+O+P+Q+Q+R+R+S+T+T+U+U+V+W+W+Q+X+D+h+Y+Z+`+ @ ", -" .@+@K ,.s t @@#@M+M+N+O+O+P+P+Q+R+R+S+S+T+U+U+V+W+W+$@$@%@R+&@h+*@=@-@;@>@ ", -" ,@'@,.'.t ).)@!@N+O+P+P+Q+Q+R+S+S+T+U+U+V+V+W+$@$@%@%@~@{@S+]@*@=@-@^@/@(@ ", -" _@:@'.t b. .<@!@P+Q+Q+R+S+S+T+T+U+V+V+W+W+$@%@%@~@{@{@[@[@S+}@=@|@^@1@2@3@ ", -" 4@m+p.b. .M 5@6@R+R+S+T+T+U+U+V+W+W+$@%@%@~@~@{@[@[@7@7@7@S+8@|@^@9@0@a@b@ ", -" c@d@b. .x <.e@t+R+R+R+R+R+R+R+Q+Q+R+S+S+T+T+U+U+U+U+T+T+U+U+f@^@g@h@i@j@k@ ", -" l@m@ .x <.N n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@h@N@O@P@Q@ ", -" R@S@x W.K.P [.z.A.Y.e.L.B.1.`.r.s. +D.++O.#+,+T@U@E+*@-@|@^@M@h@N@V@W@X@Y@ ", -" Z@`@O P [.z.X.Y.e.L.B.Z.`.r.s. +.+++@+#+,+'+h+E+*@-@ #.#M@h@N@+#@###$# ", -" %#&#P -++.X.Y.*#;+B.Z.`.r.>+ +.+++@+g+,+'+h+E+Z+-@ #9@M@h@N@=#-#;#>#,# ", -" '#)#+.@.Y.*#;+B.!#`.r.~# +.+{#@+g+,+'+h+E+Z+-@ #9@M@]#^#=#-#/#(#_#:# ", -" <#[#@.Y.*#;+B.g.`.r.~# +}#{#@+g+C+D+h+Y+Z+-@|#9@M@]#^#1#-#2#3#4#5# ", -" 6#7#{.|.8#g.`.9#t. +}#{#0#a#C+D+h+Y+=@-@^@9@M@b#^#1#-#c#d#e#f# ", -" g#h#i#8#g.`.s.t. +N.{#0#a#C+D+h+*@=@-@^@9@1@b#^#1#j#k#l#m#n#o# ", -" p#q#r#`.s.t.s#N.{#0#t#T@D+u#*@=@v#^@9@1@b#^#1#j#k#l#w#x#y# ", -" z#A#B#t.s#N.{#0#t#T@D+u#*@=@|@^@9@h@b#C#1#j#k#D#E#F#G# ", -" H#I#J#N.O.#+t#T@D+E+*@=@|@^@g@h@b#C#V@K#L#M#N#O#P# ", -" Q#R#S#T#,+T@U@E+*@U#|@^@g@h@b#C#V@K#V#W#X#Y#Z# ", -" `# $.$+$E+*@-@|@^@M@h@N@+#K#@$#$$$%$&$*$ ", -" =$-$;$>$,$;@'$0@)$!$~${$]$^$/$($ ", -" _$:$<$[$}$|$1$2$3$,#4$5$ ", -" ", -" ", -" ", -" ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/exit.xpm --- a/gui/mplayer/pixmaps/exit.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* XPM */ -static const char * const exit_xpm[] = { -"16 16 63 1", -" c None", -". c #000000", -"+ c #E2E2E0", -"@ c #D3D3D0", -"# c #C0C0BD", -"$ c #ADADAB", -"% c #929291", -"& c #B7B7B5", -"* c #9A9A98", -"= c #E46245", -"- c #DEDEDC", -"; c #C1C1BE", -"> c #B9B9B7", -", c #9C9C9B", -"' c #060806", -") c #070907", -"! c #E7755B", -"~ c #B3533E", -"{ c #D0D0CD", -"] c #0E110C", -"^ c #0F120D", -"/ c #DF421E", -"( c #B14D36", -"_ c #BDBDBB", -": c #A4A4A2", -"< c #161C14", -"[ c #191F16", -"} c #B0160A", -"| c #B11B10", -"1 c #993929", -"2 c #797977", -"3 c #5B5B5A", -"4 c #1D251B", -"5 c #20281D", -"6 c #990000", -"7 c #880000", -"8 c #AA3F2C", -"9 c #6C6C6A", -"0 c #273124", -"a c #2A3526", -"b c #C83E2B", -"c c #A1100B", -"d c #A3140E", -"e c #2B3727", -"f c #313D2C", -"g c #D4D4D1", -"h c #354331", -"i c #B4B4B2", -"j c #8D8D8B", -"k c #2D3A29", -"l c #3B4A35", -"m c #E0E0DE", -"n c #C9C9C7", -"o c #939491", -"p c #51544F", -"q c #34412F", -"r c #42543D", -"s c #495D43", -"t c #5C6059", -"u c #495C42", -"v c #4F6448", -"w c #53684B", -"x c #546A4D", -" ", -" .......... ", -" .+@#$%.... ", -" ...+@#&*.... ", -" .=.-@;>,.'). ", -"....!~.{;>,.]^. ", -".====/(._:,.<[. ", -".=}}}}|1.23.45. ", -".=666678.9,.0a. ", -".bcd778.;>,.ef. ", -"....78.g;>,.ah. ", -" .8.+g;ij.kl. ", -" ...mnop.qrs. ", -" .&t.luvwx. ", -" .......... ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/file.xpm --- a/gui/mplayer/pixmaps/file.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* XPM */ -static const char * const file_xpm[] = { -"16 16 7 1", -" c None", -". c #9A9A9A", -"+ c #000000", -"@ c #FFFFFF", -"# c #010101", -"$ c #FEFEFE", -"% c #9B9B9B", -" ", -"................", -"++++++++++++++++", -"@++@++@++@++@++@", -"++++#+++++++++++", -"@@@+@@@$@@@@+@@@", -"@@@+@@@@@@@@+@@@", -"@@@+@@@@@@@@+@@@", -"@@@+@@@@@@@@+@@@", -"@@@+@$@@@@@@+@@@", -"@@@+@@@$@@@@+@@@", -"+++++++++++++++#", -"@++@++@++@#+@++@", -"+++++++##++++++#", -"..........%.....", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/file2.xpm --- a/gui/mplayer/pixmaps/file2.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* XPM */ -static const char * const file2_xpm[] = { -"16 16 8 1", -" c None", -". c #000000", -"+ c #FFFFFF", -"@ c #D5D5D5", -"# c #ABABAB", -"$ c #808080", -"% c #555555", -"& c #2B2B2B", -" ", -" ", -" ... ... ", -" .............. ", -" . .++++++++. . ", -" . .+++++++@. . ", -" ...+++++++@... ", -" . .++++++@#. . ", -" ...+++++@#$... ", -" . .++++@#$%. . ", -" . .++++@#$%. . ", -" ...+++@#$%&... ", -" . .+++@#$%&. . ", -" .............. ", -" ... ... ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/fs.xpm --- a/gui/mplayer/pixmaps/fs.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -/* XPM */ -static const char * const fs_xpm[] = { -"16 16 90 1", -" c None", -". c #000000", -"+ c #3D3B3B", -"@ c #808F9B", -"# c #86949F", -"$ c #8C99A4", -"% c #929EA8", -"& c #98A3AC", -"* c #9EA7B0", -"= c #A4ACB4", -"- c #AAB1B8", -"; c #B0B6BC", -"> c #B6BBC0", -", c #BBC0C5", -"' c #B7C4CD", -") c #A7B7C9", -"! c #ACBCCC", -"~ c #B2C0CF", -"{ c #B6C5D2", -"] c #BCC9D5", -"^ c #C1CDD8", -"/ c #C6D2DA", -"( c #CDD6DD", -"_ c #BCC1C5", -": c #B4C0CB", -"< c #9DB0C4", -"[ c #CED6DE", -"} c #D2DAE1", -"| c #B7BCC2", -"1 c #AFBDC8", -"2 c #99ACC1", -"3 c #B2C1D2", -"4 c #90A6BE", -"5 c #95AAC1", -"6 c #9AAEC3", -"7 c #8493A4", -"8 c #8696A8", -"9 c #C9D3DC", -"0 c #CFD7DF", -"a c #B1B8BD", -"b c #ACB9C5", -"c c #94A9C0", -"d c #BBC8D7", -"e c #8AA1BA", -"f c #8FA5BD", -"g c #C5D0D9", -"h c #CAD4DC", -"i c #ACB3BA", -"j c #90A6BD", -"k c #B7C5D5", -"l c #859DB7", -"m c #8AA0BA", -"n c #98ACC2", -"o c #C0CCD7", -"p c #C6D0DA", -"q c #A6AFB6", -"r c #8CA3BB", -"s c #B2C1D1", -"t c #7F98B4", -"u c #849CB7", -"v c #93A8BF", -"w c #C2CDD8", -"x c #A1ABB2", -"y c #889FB9", -"z c #D9E0E7", -"A c #B1C0D1", -"B c #B4C3D3", -"C c #B7C5D4", -"D c #BCC9D7", -"E c #B3C2D2", -"F c #B8C6D2", -"G c #BDCAD5", -"H c #9BA5AF", -"I c #839BB6", -"J c #B3C2D0", -"K c #B9C6D2", -"L c #96A1AB", -"M c #8AA1B9", -"N c #8FA5BC", -"O c #94AABF", -"P c #9AADC2", -"Q c #9FB1C5", -"R c #A4B5C9", -"S c #A9BACB", -"T c #919DA7", -"U c #AAB8C4", -"V c #AEBCC7", -"W c #B3BFCA", -"X c #B7C2CD", -"Y c #C3CDD6", -" ", -"................", -".+@@#$%&*=-;>,+.", -".'++)!~{]^/(++_.", -".:<<........[}|.", -".122.345678.90a.", -".bcc.defef8.ghi.", -".bjj.klmlmn.opq.", -".3rr.stutuv.]wx.", -".dyy.zABCDE.FGH.", -".kII........JKL.", -".s++uMNOPQRS++T.", -".+AABCDEUUVWXY+.", -"................", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/half.xpm --- a/gui/mplayer/pixmaps/half.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ -/* XPM */ -static const char * const half_xpm[] = { -"16 16 125 2", -" c None", -". c #000000", -"+ c #92A0AC", -"@ c #808F9B", -"# c #86949F", -"$ c #8C99A4", -"% c #929EA8", -"& c #98A3AC", -"* c #9EA7B0", -"= c #A4ACB4", -"- c #AAB1B8", -"; c #B0B6BC", -"> c #B6BBC0", -", c #BBC0C5", -"' c #909192", -") c #B7C4CD", -"! c #91A3B3", -"~ c #98A9B8", -"{ c #9FAFBD", -"] c #A6B5C1", -"^ c #ADBAC6", -"/ c #B4C0CB", -"( c #BAC6D0", -"_ c #C1CCD4", -": c #C8D1D9", -"< c #CFD7DE", -"[ c #D7DEE3", -"} c #BCC1C5", -"| c #8B9EAF", -"1 c #92A4B3", -"2 c #A6B5C2", -"3 c #ADBBC6", -"4 c #BBC6D0", -"5 c #C2CCD5", -"6 c #C9D2D9", -"7 c #D1D8DF", -"8 c #B7BCC2", -"9 c #AFBDC8", -"0 c #8499AA", -"a c #92A4B4", -"b c #99AAB9", -"c c #A0B0BD", -"d c #A7B5C2", -"e c #AEBBC7", -"f c #B5C1CC", -"g c #BBC7D0", -"h c #CAD3DA", -"i c #B1B8BD", -"j c #ACB9C5", -"k c #7E93A6", -"l c #8599AB", -"m c #8C9FAF", -"n c #93A5B4", -"o c #A0B0BE", -"p c #9AAEC3", -"q c #8493A4", -"r c #BCC7D1", -"s c #C4CED6", -"t c #ACB3BA", -"u c #A8B6C3", -"v c #778EA1", -"w c #7E94A6", -"x c #8C9FB0", -"y c #9AABB9", -"z c #78899B", -"A c #8696A8", -"B c #B6C2CC", -"C c #BDC8D2", -"D c #A6AFB6", -"E c #A4B3C0", -"F c #71899D", -"G c #788EA2", -"H c #7F94A7", -"I c #869AAB", -"J c #8DA0B0", -"K c #7A8996", -"L c #7D8EA3", -"M c #98ACC2", -"N c #AFBCC8", -"O c #B7C3CD", -"P c #A1ABB2", -"Q c #5E7990", -"R c #657E95", -"S c #6C8499", -"T c #728A9E", -"U c #627584", -"V c #7A8C9B", -"W c #8EA1B1", -"X c #95A7B6", -"Y c #9CACBB", -"Z c #B1BEC9", -"` c #9BA5AF", -" . c #6A7D8E", -".. c #8196A8", -"+. c #889BAD", -"@. c #8FA1B1", -"#. c #AAB8C4", -"$. c #96A1AB", -"%. c #B2C1D2", -"&. c #90A6BE", -"*. c #95AAC1", -"=. c #738B9F", -"-. c #7A90A3", -";. c #889CAD", -">. c #8FA2B2", -",. c #919DA7", -"'. c #BBC8D7", -"). c #8AA1BA", -"!. c #A6B4C1", -"~. c #AEBCC7", -"{. c #B3BFCA", -"]. c #B7C2CD", -"^. c #C3CDD6", -"/. c #A7AFB7", -"(. c #B7C5D5", -"_. c #859DB7", -":. c #B2C1D1", -"<. c #7F98B4", -"[. c #93A8BF", -"}. c #D9E0E7", -"|. c #B1C0D1", -"1. c #B4C3D3", -"2. c #B7C5D4", -"3. c #BCC9D7", -"4. c #B3C2D2", -" . . . . . . . . . . . . . . . ", -" . + @ # $ % & * = - ; > , ' . ", -" . ) ! ~ { ] ^ / ( _ : < [ } . ", -" . / | 1 ~ { 2 3 / 4 5 6 7 8 . ", -" . 9 0 | a b c d e f g 5 h i . ", -" . j k l m n b o p q . r s t . ", -" . u v w l x n y z . A B C D . ", -" . E F G H I J K . L M N O P . ", -" . ~ Q R S T U . V W X Y Z ` . ", -". . . . . . . . ...+.@.X #.$.. ", -". %.&.*.p q . . =.-...;.>.E ,.. ", -". '.).. z . A . !.#.~.{.].^./.. ", -". (._.. . L M . . . . . . . . . ", -". :.<.. . . [.. ", -". }.|.1.2.3.4.. ", -". . . . . . . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/loadeaf.xpm --- a/gui/mplayer/pixmaps/loadeaf.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ -/* XPM */ -static const char * const loadeaf_xpm[] = { -"16 16 132 2", -" c None", -". c #5C5C5C", -"+ c #656565", -"@ c #6A6A6A", -"# c #6A6A69", -"$ c #6D6D6D", -"% c #848484", -"& c #818181", -"* c #F9F9F9", -"= c #FEFEFE", -"- c #FFFFFF", -"; c #FBFBFB", -"> c #F4F4F4", -", c #D2D2D1", -"' c #E2E2E2", -") c #B3B3B3", -"! c #888888", -"~ c #F8F8F8", -"{ c #DCDCDC", -"] c #F5F5F5", -"^ c #FDFDFD", -"/ c #FCFCFC", -"( c #FBFBFA", -"_ c #F4F4F3", -": c #AFAFAE", -"< c #707070", -"[ c #5E5E5E", -"} c #898989", -"| c #E7E7E7", -"1 c #B1B1B1", -"2 c #ECECEC", -"3 c #F5F5F4", -"4 c #EFEFEE", -"5 c #EEEEED", -"6 c #EBEBEB", -"7 c #CDCCCC", -"8 c #9E9C9B", -"9 c #7D7B7A", -"0 c #484745", -"a c #FCFCFB", -"b c #D3D3D2", -"c c #ECECEB", -"d c #DADAD9", -"e c #BCBCBB", -"f c #BCBBBA", -"g c #BAB9B8", -"h c #C6C5C3", -"i c #B8B6B3", -"j c #504E4A", -"k c #FAFAF9", -"l c #EDEDEC", -"m c #F3F2F1", -"n c #E9E9E8", -"o c #DFDFDE", -"p c #E0DFDE", -"q c #DFDFDD", -"r c #DFDEDD", -"s c #EBEBE9", -"t c #E9E8E6", -"u c #CDCAC6", -"v c #595651", -"w c #F7F7F6", -"x c #F4F4F2", -"y c #F4F3F2", -"z c #F1F1EF", -"A c #F0EFED", -"B c #F0F0EE", -"C c #EAEAE7", -"D c #D4D1CC", -"E c #625F5A", -"F c #F1F0EF", -"G c #E1E1DF", -"H c #EFEEEC", -"I c #EEEDEB", -"J c #EAE9E6", -"K c #BEBDBB", -"L c #B9B9B6", -"M c #CCCAC5", -"N c #625F59", -"O c #B3B2B0", -"P c #E4E3E1", -"Q c #DBDAD8", -"R c #DAD9D7", -"S c #D9D8D6", -"T c #DEDDDA", -"U c #171717", -"V c #A6A49F", -"W c #615F59", -"X c #878787", -"Y c #DDDDDC", -"Z c #9F9E9D", -"` c #000000", -" . c #C5C4C2", -".. c #C4C3C0", -"+. c #D1D0CD", -"@. c #8A8A88", -"#. c #B7B5B0", -"$. c #605D57", -"%. c #E3E3E0", -"&. c #C1BFBC", -"*. c #CDCAC5", -"=. c #615D57", -"-. c #808080", -";. c #E2E1DD", -">. c #DFDEDA", -",. c #DEDDD9", -"'. c #D5D4D1", -"). c #C5C3BF", -"!. c #CBC8C2", -"~. c #5F5C56", -"{. c #CFCCC6", -"]. c #CECCC5", -"^. c #CECCC6", -"/. c #CECBC5", -"(. c #CCC9C3", -"_. c #ADABA6", -":. c #8F8D88", -"<. c #A6A49E", -"[. c #C4C0BA", -"}. c #B9B6AE", -"|. c #55534C", -"1. c #4F4E4D", -"2. c #4D4B47", -"3. c #4E4C47", -"4. c #4E4C46", -"5. c #4D4B46", -"6. c #4D4A46", -"7. c #4D4A45", -"8. c #4C4A45", -"9. c #4B4944", -"0. c #45433E", -"a. c #3C3B38", -" . + @ @ @ @ @ # $ @ % ", -" & * = - = = = ; > , ' ) ", -" ! ~ { ] ^ / / ( _ : < [ ", -" } | 1 2 3 4 4 5 6 7 8 9 0 ", -" } a b c d e e f g e h i j ", -" ! k l m n o p q r s t u v ", -" ! w x y z z z A B z C D E ", -" ! F r G H H H I J K L M N ", -" ! p : O P Q R S T U U V W ", -" X Y Z ` Z . ...+.U @.#.$.", -" X Z ` Z B B %.U U U &.*.=.", -" -.` Z ;.>.,.'.U U U ).!.~.", -"` ` Z {.].^./.(._.:.<.[.}.|.", -"` ` ` 1.2.3.4.4.2.5.6.7.8.9.0.a.", -"` ` ` ", -"` ` ` ` "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/mplayer.xpm --- a/gui/mplayer/pixmaps/mplayer.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ -/* XPM */ -static const char * const mplayer_xpm[] = { -/* columns rows colors chars-per-pixel */ -"48 48 132 2", -" c #000000", -". c #0C0C0C", -"X c #121212", -"o c #1A1A1A", -"O c #242424", -"+ c #2D2D2D", -"@ c #333333", -"# c #3B3B3B", -"$ c #2E2374", -"% c #2E2F7E", -"& c #322374", -"* c #362877", -"= c #372978", -"- c #3A2C79", -"; c #3F317D", -": c #40327D", -"> c #444444", -", c #4A4A4A", -"< c #515151", -"1 c #5C5C5C", -"2 c #626262", -"3 c #6B6B6B", -"4 c #737373", -"5 c #7B7B7B", -"6 c #433580", -"7 c #453881", -"8 c #4A3D85", -"9 c #4D4087", -"0 c #4F4288", -"q c #504489", -"w c #55498C", -"e c #5A4E8F", -"r c #5B4F90", -"t c #5D5291", -"y c #615594", -"u c #655A97", -"i c #665B98", -"p c #6A5F9A", -"a c #6C619B", -"s c #70669E", -"d c #72689F", -"f c #6D72A8", -"g c #7369A0", -"h c #786EA3", -"j c #7B71A5", -"k c #7E75A8", -"l c #08A7E6", -"z c #0AA8E6", -"x c #13ABE7", -"c c #1DAEE8", -"v c #23B1E9", -"b c #2AB3E9", -"n c #31B6EA", -"m c #3EBAEB", -"M c #4BBFED", -"N c #4DC0ED", -"B c #5AC4EE", -"V c #69C9F0", -"C c #75CEF1", -"Z c #79CFF1", -"A c #7ED1F2", -"S c #8076A9", -"D c #847BAB", -"F c #887FAE", -"G c #838383", -"H c #8A8A8A", -"J c #929292", -"K c #9B9B9B", -"L c #8780AF", -"P c #8980AF", -"I c #8C84B1", -"U c #938BB6", -"Y c #968EB8", -"T c #9A93BB", -"R c #9F98BE", -"E c #A09ABF", -"W c #A2A2A2", -"Q c #AAAAAA", -"! c #BBBBBB", -"~ c #A49DC1", -"^ c #A7A0C3", -"/ c #AAA4C5", -"( c #AEA8C8", -") c #B2ACCA", -"_ c #B6B0CD", -"` c #B8B3CF", -"' c #BAB5D0", -"] c #BEB9D3", -"[ c #84D3F3", -"{ c #8AD5F3", -"} c #90D7F4", -"| c #95D9F4", -" . c #9CDCF5", -".. c #A5DEF5", -"X. c #ABE1F6", -"o. c #B2E3F7", -"O. c #B4E4F8", -"+. c #BAE6F8", -"@. c #C1BDD5", -"#. c #C3C3C3", -"$. c #CBCBCB", -"%. c #C4C0D7", -"&. c #C6C2D8", -"*. c #CDCADD", -"=. c #D3D3D3", -"-. c #DBDBDB", -";. c #D1CEE0", -":. c #D4D1E2", -">. c #D9D6E5", -",. c #DCDAE7", -"<. c #DDDBE8", -"1. c #C3EAF9", -"2. c #CAEDFA", -"3. c #D2EFFA", -"4. c #D8E3F0", -"5. c #D6F0FB", -"6. c #DBF2FB", -"7. c #E2E2E2", -"8. c #E4E1EC", -"9. c #E8E6EF", -"0. c #ECECEC", -"q. c #E8E7F0", -"w. c #ECEAF2", -"e. c #E6F6FC", -"r. c #E9F7FD", -"t. c #ECF8FD", -"y. c #F4F3F5", -"u. c #F6F5F9", -"i. c #F3FBFD", -"p. c #F8F7FA", -"a. c #FEFEFE", -"s. c None", -/* pixels */ -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.u U ( ~ ~ ` ( / / ~ R T Y I u * & & s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.I ^ ] ' ` @.` ) ( / ^ R T U F j s u e 0 8 : - - * & & & & s.s.s.", -"s.s.s.s.s.a.;.' ;.*.&.*.@.] ' ( ( ^ R Y P k d i t w 8 7 : - = * & * * * * * * * * & & & & $ s.s.", -"s.s.e.a.a.a.a.a.a.a.a.a.a.a.p.a.a.p.a.p.a.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.8.P * s.s.", -"s.l +.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.` s.s.", -"s.z 3.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.u.5.s.", -"l z e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.6.s.", -"c x e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.6.s.", -"C c e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.1.s.", -"} v r.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.2.s.", -"| n r.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i.+.s.", -" .m r.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i.+.s.", -"..M e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.u.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i.X.s.", -"X.B r.a.a.a.a.a D a.a.:.q *.a./ q w h q.7., > a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i...s.", -"o.V r.a.a.a.u.= - y.a.P & ~ a.T : T 8 j a.3 3 a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i. .X.", -"X.Z r.a.a.a.>.& * ` p.8 * D a.T 8 9.s p a.# K a.7.5 5 4 $.G K a.$.H a.! G K 7.H W J K a.a.i.} O.", -"+.[ t.a.a.a.` = h g *.* j t a.T & * - @.p.X $.0.O #.#. u.Q o p.2 $.K 1 -.X 0.> , G 4 a.a.t.{ X.", -"..{ t.a.a.a.U r ] - h i ) 7 p.T 7 ;.w.a.-.X 0.H # a.Q @ a.0.. =.3 u.o 2 < K a.O Q a.a.a.a.i.Z X.", -"2.| i.a.a.a.a S u.; * / :.* 9.T 8 a.a.a.Q + a.2 < a.5 1 a.a.O , -.0.. =.a.p.0.. 7.a.a.a.a.t.V o.", -"s. .i.a.a.p.9 ~ a.j = w.y.= @.T 8 a.a.a.H O Q K . 4 # # #.a.1 1 a.a.# > 5 K #.. a.a.a.a.a.t.B ..", -"s.X.i.a.a.a.*.w.a.q.;.a.a.;.q.9.;.a.a.a.u.#.0.a.=.7.0.=.y.a.5 -.a.a.p.#.7.a.0.-.a.a.a.a.a.t.M ..", -"s...i.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.@ 1 Q a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.m | ", -"s.o.i.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.=.-.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.n | ", -"s.X.p.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.b { ", -"s.+.p.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.8.*.>.p.a.a.a.t.c A ", -"s.o.i.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.~ 0 * & & : P w.a.t.c M ", -"s.+.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.y.u * D @.,.*.Y 7 7 >.t.x l ", -"s.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a : *.$.a.a.a.a.q.t 8 4.x l ", -"s.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.] * @.a.# # $.a.a.a.w.: f x s.", -"s.s.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.d t a.a.# 2 7.a.a.T & % s.", -"s.s.] :.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.8 U a.a.# . G p.*.& & s.", -"s.s.s.* e s d d g d d g d d g h j D D I T R ^ / ` ] &.*.*.;.,.<.:.* T a.a.@ > ;.& & s.", -"s.s.s.s.& & * : 7 0 w y a h D I Y T ~ ~ / ( ) ] ` ] ' R F s.s.s.& & D a.a.# o J u.] & & s.", -"s.s.s.s.s.& & a T R ^ ^ ( ( ^ ( / I w s.s.s.s.s.s.s.s.s.s.s.s.s.s.& 7 y.a.# . G 0.a.a.d & & s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.& & D a.# 3 7.a.a.a.] & & s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.& & S -.a.a.a.p.~ = & & s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.$ & & ; s P j 9 & & & s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.$ & & & & & & & s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", -"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s." -}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/next.xpm --- a/gui/mplayer/pixmaps/next.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -/* XPM */ -static const char * const next_xpm[] = { -"16 16 60 1", -" c None", -". c #000000", -"+ c #FFFFFF", -"@ c #737372", -"# c #888887", -"$ c #727170", -"% c #7E7E7D", -"& c #A4A4A3", -"* c #7B7B7A", -"= c #6C6B6A", -"- c #8E8E8D", -"; c #B5B4B3", -"> c #7F7E7D", -", c #999996", -"' c #7D7C7B", -") c #949392", -"! c #C0BFBE", -"~ c #828180", -"{ c #9D9C9A", -"] c #B0AFAC", -"^ c #908F8D", -"/ c #A4A3A2", -"( c #CACAC8", -"_ c #868583", -": c #A1A09E", -"< c #B4B3B1", -"[ c #B6B4B2", -"} c #A5A4A1", -"| c #A1A09F", -"1 c #D0CECD", -"2 c #898886", -"3 c #B9B7B4", -"4 c #BAB9B6", -"5 c #BCBAB7", -"6 c #C3C2BF", -"7 c #C2C2C2", -"8 c #8C8B89", -"9 c #A9A8A5", -"0 c #BDBCB9", -"a c #C5C3C0", -"b c #D0CECC", -"c c #8F8E8C", -"d c #B5B3B1", -"e c #C7C6C3", -"f c #D2D1CE", -"g c #AFAEAB", -"h c #D2D1CF", -"i c #B9B6B4", -"j c #D8D7D5", -"k c #B8B8B5", -"l c #D4D3D2", -"m c #A19F9D", -"n c #C7C6C4", -"o c #BBBAB7", -"p c #D7D5D3", -"q c #A7A6A3", -"r c #BBB9B7", -"s c #D9D8D6", -"t c #B9B8B5", -"u c #DEDDDB", -" . ....+ ", -" .. .@#.+ ", -" .$. .%&.+ ", -" .*=. .-;.+ ", -" .>,'. .)!.+ ", -" .~{]^. ./(.+ ", -" ._:<[}. .|1.+ ", -" .2}3456.7./(.+ ", -" .890ab.+ .|1.+ ", -" .cdef.+ .gh.+ ", -" .{ij.+ .kl.+ ", -" .mn.+ .op.+ ", -" .q.+ .rs.+ ", -" ..+ .tu.+ ", -" .+ ....+ ", -" + ++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/normal.xpm --- a/gui/mplayer/pixmaps/normal.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -/* XPM */ -static const char * const normal_xpm[] = { -"16 16 111 2", -" c None", -". c #000000", -"+ c #030304", -"@ c #020303", -"# c #030303", -"$ c #030404", -"% c #040404", -"& c #A1B0BD", -"* c #8898A5", -"= c #909FAB", -"- c #97A4B0", -"; c #9EAAB4", -"> c #A4AFB9", -", c #ABB4BD", -"' c #B2BAC2", -") c #B8BFC6", -"! c #BFC5CA", -"~ c #C8CDD3", -"{ c #A4A6A7", -"] c #020203", -"^ c #BFCDD7", -"/ c #A2B5C8", -"( c #A9B9CC", -"_ c #AFBFCF", -": c #B4C3D2", -"< c #BAC8D5", -"[ c #C0CCD8", -"} c #C5D1DB", -"| c #CCD6DD", -"1 c #D2DAE1", -"2 c #D9E0E6", -"3 c #C8CDD2", -"4 c #B8C6D2", -"5 c #9BAEC3", -"6 c #A2B4C7", -"7 c #ADBCCD", -"8 c #B3C2D0", -"9 c #B9C7D3", -"0 c #BFCAD6", -"a c #C5CFD9", -"b c #CBD4DC", -"c c #BEC4CB", -"d c #B3C2CE", -"e c #96AAC0", -"f c #A9B9CA", -"g c #AEBECD", -"h c #BAC7D3", -"i c #C0CCD7", -"j c #CED7DF", -"k c #B8C0C6", -"l c #B0BECC", -"m c #91A7BE", -"n c #98ACC2", -"o c #A4B5C8", -"p c #AABACA", -"q c #B0BECE", -"r c #B6C3D1", -"s c #BBC8D4", -"t c #C1CDD7", -"u c #C9D3DC", -"v c #B3C3D3", -"w c #8CA3BB", -"x c #94A8BF", -"y c #9FB2C6", -"z c #A5B6C8", -"A c #ABBBCB", -"B c #B1BFCE", -"C c #B6C4D1", -"D c #BCC9D5", -"E c #C5CFDA", -"F c #ACB6BE", -"G c #BDCBDD", -"H c #879EB8", -"I c #8FA5BC", -"J c #A1B3C6", -"K c #ACBCCC", -"L c #B2C0CF", -"M c #B8C5D2", -"N c #A6B0BA", -"O c #BCCBDC", -"P c #819AB5", -"Q c #8BA2BA", -"R c #9BAFC3", -"S c #A8B8CA", -"T c #ADBDCD", -"U c #A0ABB6", -"V c #B4C4D6", -"W c #7993B0", -"X c #839BB6", -"Y c #89A0B8", -"Z c #8EA5BB", -"` c #95AAC0", -" . c #9CAFC4", -".. c #A2B3C7", -"+. c #A7B8CA", -"@. c #ADBDCC", -"#. c #B5C4D2", -"$. c #98A5B0", -"%. c #E6EFF8", -"&. c #B3C4D7", -"*. c #B9C9DB", -"=. c #BDCCDC", -"-. c #BECDDE", -";. c #B4C4D4", -">. c #B0BFCC", -",. c #B3C2CF", -"'. c #B9C6D2", -"). c #BDC9D5", -"!. c #CBD6E0", -"~. c #B6BFC8", -"{. c #050505", -" ", -" ", -" . + @ # # # # + + $ % % # # . ", -" # & * = - ; > , ' ) ! ~ ~ { ] ", -" + ^ / ( _ : < [ } | 1 2 2 3 # ", -" # 4 5 6 + 7 8 9 0 a b + 1 c # ", -" # d e + + f g + h i + + j k # ", -" # l m n + o p q r s t + u ' # ", -" # v w x + y z A B C D + E F # ", -" + G H I + 5 J + K L M + [ N # ", -" + O P Q + e R 6 S T 8 + s U @ ", -" + V W X Y Z ` ...+.@.#.#.$.@ ", -" % %.&.*.=.-.;.>.,.'.).!.!.~.# ", -" . {.% % % % % $ $ % % % % % . ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/open.xpm --- a/gui/mplayer/pixmaps/open.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/* XPM */ -static const char * const open_xpm[] = { -"16 16 64 1", -" c None", -". c #000000", -"+ c #E4E5DF", -"@ c #D5D6CB", -"# c #D6D7CA", -"$ c #A3A39D", -"% c #F5F6F0", -"& c #8D907B", -"* c #92957E", -"= c #90937D", -"- c #979B84", -"; c #6D705F", -"> c #EAECDB", -", c #8A8C7D", -"' c #8E917B", -") c #91947F", -"! c #8B8E7A", -"~ c #999B87", -"{ c #919480", -"] c #989B86", -"^ c #B1B4A2", -"/ c #A2A394", -"( c #F7F7F7", -"_ c #878A75", -": c #666858", -"< c #4B4D3F", -"[ c #4D4F40", -"} c #404135", -"| c #424337", -"1 c #434437", -"2 c #404236", -"3 c #3C3D32", -"4 c #48493C", -"5 c #1A1A16", -"6 c #C6C6BE", -"7 c #848672", -"8 c #25261F", -"9 c #F1F2E9", -"0 c #DDE0C7", -"a c #D6DABB", -"b c #CDD2AC", -"c c #C7CCA7", -"d c #989C80", -"e c #C6C7BE", -"f c #5F6152", -"g c #888980", -"h c #A7AB8C", -"i c #878A70", -"j c #9FA19A", -"k c #EFF0E5", -"l c #9EA284", -"m c #80817B", -"n c #96968D", -"o c #E3E5D1", -"p c #83866D", -"q c #97998D", -"r c #EDEFE2", -"s c #A2A688", -"t c #767671", -"u c #E7E9DA", -"v c #D1D3BD", -"w c #BBBF9D", -"x c #989B80", -"y c #6E715C", -" ", -" ", -" .... ", -" .+@#$. ", -" .%&*=-;..... ", -" .>,')!~{]{^/. ", -" .(_:<[}||12345 ", -" .67890abbbbbcd.", -" .efg0bbbbbbbhi.", -" .j8kabbbbbbbl. ", -" .mnobbbbbbbbp. ", -" .qrbbbbbbbbs. ", -" .tuvwwwwwwxy. ", -" ........... ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/pause.xpm --- a/gui/mplayer/pixmaps/pause.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* XPM */ -static const char * const pause_xpm[] = { -"16 16 29 1", -" c None", -". c #000000", -"+ c #FFFFFF", -"@ c #737372", -"# c #848483", -"$ c #888887", -"% c #7E7E7D", -"& c #A8A7A6", -"* c #A4A4A3", -"= c #A6A5A4", -"- c #B5B4B3", -"; c #858483", -"> c #AAA9A7", -", c #C0BFBE", -"' c #91908E", -") c #AFAEAC", -"! c #CACAC8", -"~ c #A6A5A2", -"{ c #BBBAB7", -"] c #D4D3D2", -"^ c #AEADA9", -"/ c #BFBDBA", -"( c #D7D5D3", -"_ c #B2B0AD", -": c #C3C1BE", -"< c #D9D8D6", -"[ c #B5B3B0", -"} c #D1CFCC", -"| c #DEDDDB", -" ", -" .....+.....+ ", -" .@#$.+.@#$.+ ", -" .%&*.+.%&*.+ ", -" .%=-.+.%=-.+ ", -" .;>,.+.;>,.+ ", -" .')!.+.')!.+ ", -" .')!.+.')!.+ ", -" .')!.+.')!.+ ", -" .~{].+.~{].+ ", -" .~{].+.~{].+ ", -" .^/(.+.^/(.+ ", -" ._:<.+._:<.+ ", -" .[}|.+.[}|.+ ", -" .....+.....+ ", -" +++++ +++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/pl.xpm --- a/gui/mplayer/pixmaps/pl.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* XPM */ -static const char * const pl_xpm[] = { -"16 16 7 1", -" c None", -". c #000000", -"+ c #FEFEFE", -"@ c #C1C1C1", -"# c #C2C2C2", -"$ c #A0A0A0", -"% c #BBBBBB", -" .. ", -" .+@. .. ... .. ", -" .#$. ", -" .. ", -" ", -" ", -" .. ", -" .+@. ", -" .#$. ..... ... ", -" .. ", -" ", -" ", -" .. ", -" .+%. ..... ... ", -" .#$. ", -" .. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/play.xpm --- a/gui/mplayer/pixmaps/play.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* XPM */ -static const char * const play_xpm[] = { -"16 16 37 1", -" c None", -". c #000000", -"+ c #727170", -"@ c #7B7B7A", -"# c #6C6B6A", -"$ c #7F7E7D", -"% c #999996", -"& c #7D7C7B", -"* c #828180", -"= c #9D9C9A", -"- c #B0AFAC", -"; c #908F8D", -"> c #868583", -", c #A1A09E", -"' c #B4B3B1", -") c #B6B4B2", -"! c #A5A4A1", -"~ c #898886", -"{ c #B9B7B4", -"] c #BAB9B6", -"^ c #BCBAB7", -"/ c #C3C2BF", -"( c #FFFFFF", -"_ c #8C8B89", -": c #A9A8A5", -"< c #BDBCB9", -"[ c #C5C3C0", -"} c #D0CECC", -"| c #8F8E8C", -"1 c #B5B3B1", -"2 c #C7C6C3", -"3 c #D2D1CE", -"4 c #B9B6B4", -"5 c #D8D7D5", -"6 c #A19F9D", -"7 c #C7C6C4", -"8 c #A7A6A3", -" . ", -" .. ", -" .+. ", -" .@#. ", -" .$%&. ", -" .*=-;. ", -" .>,')!. ", -" .~!{]^/.( ", -" ._:<[}.( ", -" .|123.( ", -" .=45.( ", -" .67.( ", -" .8.( ", -" ..( ", -" .( ", -" ( "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/playdvd.xpm --- a/gui/mplayer/pixmaps/playdvd.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ -/* XPM */ -static const char * const playdvd_xpm[] = { -"16 16 118 2", -" c None", -". c #CACCD2", -"+ c #D3D4D6", -"@ c #D2D2D3", -"# c #D1D1D2", -"$ c #D1D1D3", -"% c #B5B8BD", -"& c #EDEDEC", -"* c #FAFAFA", -"= c #FBFBFB", -"- c #FCFCFC", -"; c #FFFFFF", -"> c #D9D9D9", -", c #AFB1B5", -"' c #C6C6C7", -") c #FDFDFD", -"! c #F7F7F7", -"~ c #F9F9F9", -"{ c #F6F6F6", -"] c #F8F8F8", -"^ c #B8B9BD", -"/ c #B2B4BA", -"( c #EAE9E9", -"_ c #DCDCDC", -": c #F3F3F3", -"< c #F4F4F4", -"[ c #A8AAAF", -"} c #CBCBCA", -"| c #CCCCCC", -"1 c #D7D7D7", -"2 c #E1E1E1", -"3 c #F5F5F5", -"4 c #EFEFEF", -"5 c #CCCDCE", -"6 c #D2D2D2", -"7 c #CDCDCD", -"8 c #D6D6D6", -"9 c #E0E0E0", -"0 c #E7E7E7", -"a c #E6E6E6", -"b c #E5E5E5", -"c c #EBEBEB", -"d c #E3E3E3", -"e c #ECECEC", -"f c #9C9DA5", -"g c #C4C5C9", -"h c #C1C1C1", -"i c #CECECE", -"j c #E2E2E2", -"k c #E8E8E8", -"l c #D8D8D8", -"m c #E4E4E3", -"n c #DBDBDB", -"o c #F2F2F2", -"p c #404040", -"q c #DDDDDD", -"r c #D4D4D4", -"s c #A2A4AA", -"t c #C9CACC", -"u c #C4C4C4", -"v c #CFCFCF", -"w c #E4E4E4", -"x c #DBDAD9", -"y c #727789", -"z c #DFDEDD", -"A c #292828", -"B c #373737", -"C c #BCBCBC", -"D c #BFBFBF", -"E c #9E9FA4", -"F c #C6C7C9", -"G c #E2E2E1", -"H c #999CA6", -"I c #C5C5C4", -"J c #D3D3D3", -"K c #313131", -"L c #747472", -"M c #5C5C5C", -"N c #C4C4C3", -"O c #95969A", -"P c #C4C5C6", -"Q c #D8D8D7", -"R c #CACACA", -"S c #C6C6C6", -"T c #343333", -"U c #A1A09E", -"V c #939290", -"W c #939395", -"X c #A0A2A7", -"Y c #E5E5E4", -"Z c #FEFEFE", -"` c #C5C5C5", -" . c #363635", -".. c #A7A6A3", -"+. c #B8B7B4", -"@. c #91908E", -"#. c #9B9C9F", -"$. c #F0F0F0", -"%. c #383737", -"&. c #B0AFAC", -"*. c #C8C7C4", -"=. c #5A5A59", -"-. c #EAEAEA", -";. c #3E3D3D", -">. c #BEBCB9", -",. c #151414", -"'. c #989BA2", -"). c #E9E9E9", -"!. c #41403F", -"~. c #696867", -"{. c #A6A8AD", -"]. c #B7B7B5", -"^. c #B4B4B3", -"/. c #0A0A0A", -"(. c #9B9DA0", -"_. c #B6B6B7", -":. c #B0B0B1", -"<. c #929396", -" . + @ # $ ", -" % & * = = = - ; > , ", -" ' ) ! ~ ~ ~ { ] * = ) ^ ", -" / ( _ : ! ] ! < ! ] ) ) = [ ", -" } | 1 2 { ] ! : 3 - - 3 4 5 ", -" 6 7 8 9 0 ] a b ) = : c d e f ", -"g h i 1 j k 6 l m n o p q r 2 s ", -"t u v n w _ x y z q A B C D E ", -"F 8 l 2 k d G H ^ I J K L M N O ", -"P w j k e = _ Q 6 R S T U V M W ", -"X Y k c ; Z 3 > ! 6 ` ...+.@.M ", -" #.$.; : : > : : : ` %.&.*.=. ", -" 1 = : > : : : : -.;.>.,. ", -" '.S a > : : $.w ).!.~.Z ", -" {.].R j k q ^./.; ", -" (._.:.<. D "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/playvcd.xpm --- a/gui/mplayer/pixmaps/playvcd.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -/* XPM */ -static const char * const playvcd_xpm[] = { -"16 16 182 2", -" c None", -". c #CC9665", -"+ c #E1C0A3", -"@ c #EAD1BD", -"# c #E9D2BB", -"$ c #D7B597", -"% c #9D7C5C", -"& c #CE9E71", -"* c #F6E9DE", -"= c #FEF5EE", -"- c #FFFAF6", -"; c #FFFBF7", -"> c #FDF9F5", -", c #F2EBDD", -"' c #FBF5E4", -") c #F3E6D5", -"! c #B19D8A", -"~ c #D9AE89", -"{ c #FFEFE3", -"] c #FFF7F0", -"^ c #FFF6EE", -"/ c #FFF7EF", -"( c #FFF6EB", -"_ c #FFF1DD", -": c #FFF6E3", -"< c #FFFCE9", -"[ c #FFFFF9", -"} c #FFFFFA", -"| c #BEA98F", -"1 c #C08F68", -"2 c #FFD5B2", -"3 c #FFCAA8", -"4 c #FFE2CC", -"5 c #FFF3E9", -"6 c #FFF4E9", -"7 c #FFF3E1", -"8 c #FFF0D0", -"9 c #FFF9D9", -"0 c #FFFEE7", -"a c #FFFFF8", -"b c #FFF8DA", -"c c #B8A685", -"d c #F2B788", -"e c #FFB886", -"f c #FFBD8B", -"g c #FFCA9B", -"h c #FFE7CF", -"i c #FFF6EA", -"j c #FFF4DB", -"k c #FFF7CA", -"l c #FFFFE1", -"m c #FFFFF6", -"n c #FFFBEE", -"o c #FFF3D4", -"p c #FFF3BB", -"q c #DDC18E", -"r c #805A34", -"s c #FDB070", -"t c #FFAD6E", -"u c #FFBA7D", -"v c #FFC78B", -"w c #FFDAA3", -"x c #FFEAC8", -"y c #FFF6C9", -"z c #FFF8C4", -"A c #FFF8E8", -"B c #FFFAEB", -"C c #FFF0C7", -"D c #FFE8A8", -"E c #FFE188", -"F c #FFDC86", -"G c #B57841", -"H c #FFA656", -"I c #FFAC5F", -"J c #FFBC73", -"K c #FFCE89", -"L c #FFDA91", -"M c #FFE194", -"N c #B2A177", -"O c #C0B095", -"P c #FFE6BB", -"Q c #FFE9B3", -"R c #473E28", -"S c #FFD76C", -"T c #FFCC3D", -"U c #ECBB2F", -"V c #966F30", -"W c #BC7D42", -"X c #FFAA52", -"Y c #FFAF57", -"Z c #FFC673", -"` c #FFDE8E", -" . c #FFE58D", -".. c #FCE5A0", -"+. c #FFDA8B", -"@. c #FFD673", -"#. c #292828", -"$. c #5C5C5C", -"%. c #FFBA00", -"&. c #FEC417", -"*. c #A77D2E", -"=. c #A7713B", -"-. c #FFBF69", -";. c #FFC570", -">. c #FFDB87", -",. c #FFF3A1", -"'. c #FFF9BF", -"). c #FFE4BA", -"!. c #DFC19C", -"~. c #ECC48A", -"{. c #FFCA5D", -"]. c #FFCC45", -"^. c #313131", -"/. c #747472", -"(. c #FEC21C", -"_. c #A57927", -":. c #FFCF7C", -"<. c #FFDE8B", -"[. c #FFFFCB", -"}. c #FFFFF4", -"|. c #FFECC6", -"1. c #FFE4AA", -"2. c #FFE8BA", -"3. c #FFC21D", -"4. c #343333", -"5. c #A1A09E", -"6. c #939290", -"7. c #E5BC73", -"8. c #FFFAA9", -"9. c #FFFFCD", -"0. c #FFFEF1", -"a. c #FFF3D3", -"b. c #FFE69F", -"c. c #FFE9AB", -"d. c #FFF0C5", -"e. c #FFEBB4", -"f. c #FFD465", -"g. c #363635", -"h. c #A7A6A3", -"i. c #B8B7B4", -"j. c #91908E", -"k. c #A98E59", -"l. c #FFF1B6", -"m. c #FFE59F", -"n. c #FFD86C", -"o. c #FFE08B", -"p. c #FFEAB1", -"q. c #FFE5A3", -"r. c #FFE7AB", -"s. c #383737", -"t. c #B0AFAC", -"u. c #C8C7C4", -"v. c #5A5A59", -"w. c #CCB396", -"x. c #FFE5B4", -"y. c #FFECA5", -"z. c #FFDB70", -"A. c #FFCB3B", -"B. c #FFD871", -"C. c #FFE8AB", -"D. c #FFE6A4", -"E. c #FFE9AA", -"F. c #3E3D3D", -"G. c #BEBCB9", -"H. c #C1A46F", -"I. c #EABC6D", -"J. c #FFC924", -"K. c #FFDC6A", -"L. c #FFEFAD", -"M. c #FFEAA1", -"N. c #FFDA8E", -"O. c #41403F", -"P. c #696867", -"Q. c #FEFEFE", -"R. c #A97B28", -"S. c #C08D27", -"T. c #C99C47", -"U. c #CEA762", -"V. c #C09A5A", -"W. c #855F2F", -"X. c #FFFFFF", -"Y. c #BFBFBF", -" . + @ # $ % ", -" & * = - ; > , ' ) ! ", -" ~ { ] ^ / ( _ : < [ } | ", -" 1 2 3 4 5 6 7 8 9 0 a } b c ", -" d e f g h i j k l m n o p q ", -"r s t u v w x y z A B C D E F ", -"G H I J K L M N O P Q R S T U V ", -"W X Y Z ` ... +.@.#.$.%.&.*.", -"=.-.;.>.,.'.).!.~.{.].^./.$.(._.", -" :.<.,.[.}.|.1.2.<.3.4.5.6.$. ", -" 7.8.9.0.a.b.c.d.e.f.g.h.i.j.$.", -" k.l.[ a.m.n.o.p.q.r.s.t.u.v. ", -" w.x.y.z.A.B.C.D.E.F.G.v. ", -" H.I.].J.K.L.M.N.O.P.Q. ", -" R.S.T.U.V.W.O.X. ", -" Y. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/prefs.xpm --- a/gui/mplayer/pixmaps/prefs.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* XPM */ -static const char * const prefs_xpm[] = { -"16 16 50 1", -" c None", -". c #000000", -"+ c #CAC8C1", -"@ c #B7B7B7", -"# c #EBEBE8", -"$ c #D8D8D8", -"% c #F9F8F8", -"& c #D3D1CD", -"* c #F7F7F7", -"= c #DEDBD6", -"- c #D4D3D0", -"; c #E3E2E1", -"> c #DFDEDC", -", c #DBDAD7", -"' c #A4A19C", -") c #686868", -"! c #292929", -"~ c #1F1F1F", -"{ c #D2D1D0", -"] c #50504F", -"^ c #121212", -"/ c #414141", -"( c #494746", -"_ c #363636", -": c #C8C7C6", -"< c #6C6967", -"[ c #708295", -"} c #CFD6DD", -"| c #7C91A7", -"1 c #D6D5D5", -"2 c #8A8784", -"3 c #7D8C9C", -"4 c #788DA4", -"5 c #7F99B3", -"6 c #1F272F", -"7 c #ECEBEA", -"8 c #72706D", -"9 c #8D99A5", -"0 c #748AA2", -"a c #849EB9", -"b c #4D5F73", -"c c #D5D4D3", -"d c #6B6A69", -"e c #7D91A7", -"f c #849EBA", -"g c #525252", -"h c #7E7E7E", -"i c #515151", -"j c #66798F", -"k c #7C7C7C", -" ", -" . . ", -" .+. .@.", -" .#. .$. ", -" . .%. .. ", -" .&..*=. . ", -" .-;>,'.)! ", -" .~..{].) ", -" ^/(. ", -" ..._.:<. ", -" .[}|. .12. ", -" .3}456 .78. ", -" .9}0ab. .cd. ", -" .}efb. .{gh", -" iejb. ..k", -" i.. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/prev.xpm --- a/gui/mplayer/pixmaps/prev.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -/* XPM */ -static const char * const prev_xpm[] = { -"16 16 58 1", -" c None", -". c #000000", -"+ c #FFFFFF", -"@ c #D9D9D9", -"# c #737372", -"$ c #888887", -"% c #7E7E7D", -"& c #A4A4A3", -"* c #696867", -"= c #8E8E8D", -"- c #B5B4B3", -"; c #5B5A59", -"> c #9C9C9A", -", c #949392", -"' c #C0BFBE", -") c #636261", -"! c #908F8D", -"~ c #C5C4C3", -"{ c #A4A3A2", -"] c #CACAC8", -"^ c #6F6E6C", -"/ c #959491", -"( c #C0BFBD", -"_ c #D3D3D1", -": c #A1A09F", -"< c #D0CECD", -"[ c #636260", -"} c #8D8C8B", -"| c #B4B3B1", -"1 c #757574", -"2 c #868481", -"3 c #BAB9B6", -"4 c #B9B7B4", -"5 c #C5C4C2", -"6 c #D4D3D1", -"7 c #A2A09F", -"8 c #A6A4A2", -"9 c #BDBCB9", -"0 c #C6C5C3", -"a c #D4D3D2", -"b c #AFAEAB", -"c c #D2D1CF", -"d c #A3A2A0", -"e c #B7B6B3", -"f c #D0CFCD", -"g c #D4D4D3", -"h c #B8B8B5", -"i c #A8A7A5", -"j c #D5D5D3", -"k c #DFDFDD", -"l c #BBBAB7", -"m c #D7D5D3", -"n c #C4C4C2", -"o c #DFDFDE", -"p c #BBB9B7", -"q c #D9D8D6", -"r c #B9B8B5", -"s c #DEDDDB", -" ....+ .@", -" .#$.+ ..+", -" .%&.+ .*.+", -" .=-.+ .;>.+", -" .,'.+ .)!~.+", -" .{].+ .^/(_.+", -" .:<.+ .[}|(_.+", -" .{].+.123456.+", -" .:<.+ .7890a.+", -" .bc.+ .defg.+", -" .ha.+ .ijk.+", -" .lm.+ .no.+", -" .pq.+ .6.+", -" .rs.+ ..+", -" ....+ .+", -" ++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/skin.xpm --- a/gui/mplayer/pixmaps/skin.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,181 +0,0 @@ -/* XPM */ -static const char * const skin_xpm[] = { -"16 16 162 2", -" c None", -". c #DBA97F", -"+ c #C7A89B", -"@ c #E1DFDD", -"# c #BE9D76", -"$ c #A35019", -"% c #A8978C", -"& c #D3D2D0", -"* c #DAD8D7", -"= c #D9D6D4", -"- c #BEBCB9", -"; c #BCAA95", -"> c #D78236", -", c #844A36", -"' c #DADFE4", -") c #E0E8E8", -"! c #C8D2D3", -"~ c #B5B7B7", -"{ c #DCDAD7", -"] c #BBB7B0", -"^ c #CCCACB", -"/ c #D2D0D3", -"( c #EDAF6C", -"_ c #953600", -": c #28257E", -"< c #A1B4F3", -"[ c #F5B7AC", -"} c #F4A296", -"| c #E5E7EB", -"1 c #ABB1B6", -"2 c #C8C4C0", -"3 c #CECBC5", -"4 c #F7F7F9", -"5 c #53548A", -"6 c #967265", -"7 c #DE741B", -"8 c #6F3937", -"9 c #4155C2", -"0 c #A8BAEB", -"a c #E65138", -"b c #DD0C00", -"c c #F1D2D5", -"d c #BECFD8", -"e c #B5BABE", -"f c #C2BEB9", -"g c #E9E7E5", -"h c #FFFFFF", -"i c #F9FBFF", -"j c #71667C", -"k c #E49146", -"l c #9D3501", -"m c #BFB7BD", -"n c #E5F6FE", -"o c #DCF0FF", -"p c #D7B2BD", -"q c #D18F98", -"r c #D0DCF6", -"s c #D8E5F1", -"t c #9DA4A7", -"u c #CECBC6", -"v c #EAE8E6", -"w c #9F9EA3", -"x c #444349", -"y c #C3C4C7", -"z c #E7BD90", -"A c #CD5A0B", -"B c #946454", -"C c #E7F9FF", -"D c #DFF1FF", -"E c #D8EAFF", -"F c #AFE5E5", -"G c #3ACB52", -"H c #6BCE85", -"I c #DBE7FB", -"J c #9DA2A9", -"K c #B9B4AF", -"L c #636167", -"M c #000004", -"N c #8B7E74", -"O c #EF9853", -"P c #913710", -"Q c #CDD6DF", -"R c #E1F5FF", -"S c #D2E9FF", -"T c #CFE6FF", -"U c #97D6CA", -"V c #03B200", -"W c #44C54A", -"X c #CCDAEF", -"Y c #9DA5AF", -"Z c #BBB6B1", -"` c #E7E7E8", -" . c #BBC1CC", -".. c #D3B59C", -"+. c #AF4E1E", -"@. c #B1A3A5", -"#. c #E4FBFF", -"$. c #D4ECFF", -"%. c #CAE5FF", -"&. c #C5E1F2", -"*. c #B7DAE7", -"=. c #86CCC7", -"-. c #B3E3E5", -";. c #A7B6C5", -">. c #BAC1C8", -",. c #BFBBB6", -"'. c #E6E5E3", -"). c #F5E9CC", -"!. c #BC9877", -"~. c #987977", -"{. c #B3BDC4", -"]. c #A8AEB3", -"^. c #B0C0D0", -"/. c #BCDAF3", -"(. c #DCD443", -"_. c #E5D620", -":. c #BFDCF1", -"<. c #C1D6F7", -"[. c #A7B0B9", -"}. c #C7C6C3", -"|. c #ABA194", -"1. c #CDA447", -"2. c #8E4B00", -"3. c #958685", -"4. c #D9DADA", -"5. c #E1E0E0", -"6. c #A4A5A7", -"7. c #8FA6BC", -"8. c #D1CD44", -"9. c #F3E538", -"0. c #C6D9DB", -"a. c #9DABBC", -"b. c #B0A08A", -"c. c #9C7A32", -"d. c #6A380E", -"e. c #989DA6", -"f. c #8E9296", -"g. c #8D9196", -"h. c #92A7B9", -"i. c #AFD5FC", -"j. c #BFDFF2", -"k. c #B0C3CA", -"l. c #A1ADB7", -"m. c #C9C1B8", -"n. c #8D6841", -"o. c #6C4C2C", -"p. c #7E7267", -"q. c #A1ACB7", -"r. c #BFD5EA", -"s. c #BEDBF5", -"t. c #BEDDFA", -"u. c #AFC6DA", -"v. c #97A5B3", -"w. c #BDC4C9", -"x. c #D8D5D0", -"y. c #BDB7AF", -"z. c #DDDBD8", -"A. c #BDC2C7", -"B. c #A0A7AD", -"C. c #9DA6AD", -"D. c #A0A9B1", -"E. c #C2C6CB", -" ", -" . + ", -" @ # $ % & * ", -" = - ; > , ' ) ! ~ ", -" { ] ^ / ( _ : < [ } | 1 ", -" 2 3 4 5 6 7 8 9 0 a b c d e ", -" f g h i j k l m n o p q r s t ", -"u v w x y z A B C D E F G H I J ", -"K h L M N O P Q R S T U V W X Y ", -"Z h ` ...+.@.#.$.%.&.*.=.-.;.>.", -",.'.h ).!.~.{.].^./.(._.:.<.[. ", -" }.|.1.2.3.4.5.6.7.8.9.0.a. ", -" b.c.d.e.f.g.h.i.j.k.l. ", -" m.n.o.p.q.r.s.t.u.v.w. ", -" x.y.z. A.B.C.D.E. ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/sound.xpm --- a/gui/mplayer/pixmaps/sound.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -/* XPM */ -static const char * const sound_xpm[] = { -"16 16 121 2", -" c None", -". c #939CA9", -"+ c #89919F", -"@ c #A6AEBA", -"# c #99A0AC", -"$ c #5B6576", -"% c #1A202C", -"& c #1E283A", -"* c #141F32", -"= c #9CA3AF", -"- c #626C7C", -"; c #505866", -"> c #1A2029", -", c #1D232B", -"' c #1F2838", -") c #263248", -"! c #182233", -"~ c #B9BFC8", -"{ c #6D7585", -"] c #181E26", -"^ c #1D222B", -"/ c #1D232C", -"( c #26334B", -"_ c #253149", -": c #A0AAB8", -"< c #888F9B", -"[ c #131823", -"} c #1C212A", -"| c #1F242B", -"1 c #1F242A", -"2 c #233047", -"3 c #293854", -"4 c #4F5E77", -"5 c #525C6A", -"6 c #282F3B", -"7 c #1A212A", -"8 c #1E232B", -"9 c #1F232A", -"0 c #273040", -"a c #4A5B77", -"b c #293650", -"c c #2F3F5E", -"d c #53637E", -"e c #151C28", -"f c #1C2129", -"g c #20242C", -"h c #232830", -"i c #7485A0", -"j c #697C9B", -"k c #43536E", -"l c #314260", -"m c #6F84A1", -"n c #676E79", -"o c #222B3B", -"p c #222935", -"q c #20252D", -"r c #4B5B74", -"s c #879AB3", -"t c #596E92", -"u c #354259", -"v c #394A69", -"w c #687EA2", -"x c #4A5872", -"y c #364153", -"z c #303B51", -"A c #344054", -"B c #7F8DA4", -"C c #5C7296", -"D c #3E506F", -"E c #4D5A6E", -"F c #63799A", -"G c #323A46", -"H c #445573", -"I c #36445C", -"J c #36445B", -"K c #37455D", -"L c #425169", -"M c #45526A", -"N c #27354D", -"O c #1D2433", -"P c #A6B6CA", -"Q c #5C6F8F", -"R c #242B38", -"S c #323F56", -"T c #3F4F68", -"U c #44536C", -"V c #53617A", -"W c #6C7A92", -"X c #B0BBCC", -"Y c #9EA7B8", -"Z c #C5CDDA", -"` c #6E809B", -" . c #212935", -".. c #151A23", -"+. c #293344", -"@. c #44526A", -"#. c #617087", -"$. c #8C98A9", -"%. c #B0B8C4", -"&. c #C9CED7", -"*. c #C5CCD8", -"=. c #79879E", -"-. c #2B3648", -";. c #121824", -">. c #1F232C", -",. c #626F87", -"'. c #4D5B74", -"). c #C0C6D1", -"!. c #C7CBD0", -"~. c #BAC3D0", -"{. c #8592A6", -"]. c #222830", -"^. c #7B8495", -"/. c #778195", -"(. c #B2B8C2", -"_. c #B3B8BF", -":. c #49535F", -"<. c #1D2229", -"[. c #252B30", -"}. c #1F252C", -"|. c #1A1C20", -" ", -" . + @ # ", -" $ % & * = - ", -" ; > , ' ) ! ~ ", -" { ] ^ , / ( _ : ", -" < [ } | 1 ' 2 3 4 5 ", -" 6 7 8 9 0 a b c d ", -" 6 e f g h i j k l m ", -" n o p q r s t u v w x ", -" y z A A B C D E F G H ", -" I J K L M N O P Q R S ", -" T U V W X Y Z ` ...+. ", -" @.#.$.%.&.*.=.-.;.>. ", -" ,.'.).!.~.{.]. ", -" ^./.(._.:.<. ", -" [.}.|. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/stop2.xpm --- a/gui/mplayer/pixmaps/stop2.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* XPM */ -static const char * const stop2_xpm[] = { -"16 16 29 1", -" c None", -". c #000000", -"+ c #FFFFFF", -"@ c #737372", -"# c #848483", -"$ c #888887", -"% c #7E7E7D", -"& c #A8A7A6", -"* c #A4A4A3", -"= c #A6A5A4", -"- c #B5B4B3", -"; c #858483", -"> c #AAA9A7", -", c #C0BFBE", -"' c #91908E", -") c #AFAEAC", -"! c #CACAC8", -"~ c #A6A5A2", -"{ c #BBBAB7", -"] c #D4D3D2", -"^ c #AEADA9", -"/ c #BFBDBA", -"( c #D7D5D3", -"_ c #B2B0AD", -": c #C3C1BE", -"< c #D9D8D6", -"[ c #B5B3B0", -"} c #D1CFCC", -"| c #DEDDDB", -" ", -" ", -" .............+ ", -" .@#$$$$$$$$$.+ ", -" .%&*********.+ ", -" .%=---------.+ ", -" .;>,,,,,,,,,.+ ", -" .')!!!!!!!!!.+ ", -" .')!!!!!!!!!.+ ", -" .~{]]]]]]]]].+ ", -" .~{]]]]]]]]].+ ", -" .^/(((((((((.+ ", -" ._:<<<<<<<<<.+ ", -" .[}|||||||||.+ ", -" .............+ ", -" +++++++++++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/sub.xpm --- a/gui/mplayer/pixmaps/sub.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -/* XPM */ -static const char * const sub_xpm[] = { -"16 16 2 1", -" c None", -". c #000000", -" ", -" ", -" ", -" ", -" ... . . ... ", -". . . . . ", -". . . . . ", -" .. . . ... ", -" . . . . . ", -" . . . . . ", -"... ... ... ", -" ", -" ", -" ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/title.xpm --- a/gui/mplayer/pixmaps/title.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -/* XPM */ -static const char * const title_xpm[] = { -"16 16 4 1", -" c None", -". c #000000", -"+ c #CD0909", -"@ c #FFFFFF", -" .. ", -" .++. ", -".++++. ", -".++++. . . ", -" .++. .@. .@. ", -" .. .@@@..@@@.", -" .@. .@. ", -" . . ", -" .. ", -" .++. ", -".++++. ", -".++++. . . ", -" .++. .@. .@. ", -" .. .@@@..@@@.", -" .@. .@. ", -" . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/tongue.xpm --- a/gui/mplayer/pixmaps/tongue.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,169 +0,0 @@ -/* XPM */ -static const char * const tongue_xpm[] = { -"16 16 150 2", -" c None", -". c #FC151B", -"+ c #F31C35", -"@ c #FD4344", -"# c #FA8C99", -"$ c #E9080F", -"% c #DDAFA4", -"& c #FDD8E0", -"* c #F33A41", -"= c #F00807", -"- c #E6DFE0", -"; c #ECF6F4", -"> c #E0081D", -", c #F10705", -"' c #E4080E", -") c #EE0512", -"! c #F80C0B", -"~ c #F70D0A", -"{ c #EF1510", -"] c #E60F0D", -"^ c #DC4248", -"/ c #E9383B", -"( c #E91E18", -"_ c #F48D94", -": c #F3E2DA", -"< c #E92B32", -"[ c #EE0B15", -"} c #F1726F", -"| c #FC7680", -"1 c #EE0409", -"2 c #F10306", -"3 c #DE5154", -"4 c #7F0401", -"5 c #170009", -"6 c #535455", -"7 c #DCD4D3", -"8 c #F4F9F7", -"9 c #EBEBEA", -"0 c #EFFEFF", -"a c #FEF1FA", -"b c #F5CBCB", -"c c #F4090A", -"d c #E91F21", -"e c #FEA7AB", -"f c #EA0314", -"g c #0A0203", -"h c #430002", -"i c #CC090F", -"j c #F30407", -"k c #390414", -"l c #110501", -"m c #4D3F3F", -"n c #D60D16", -"o c #E74746", -"p c #850702", -"q c #E60304", -"r c #DC090B", -"s c #E91B29", -"t c #BD070E", -"u c #FA0202", -"v c #F76364", -"w c #B90601", -"x c #DA0307", -"y c #FE060E", -"z c #F30F09", -"A c #F12F34", -"B c #F80409", -"C c #A90405", -"D c #FD020B", -"E c #FABDB8", -"F c #E90700", -"G c #F6A9A6", -"H c #C71C09", -"I c #CA0819", -"J c #F80C06", -"K c #EF0A13", -"L c #FA8786", -"M c #E62B35", -"N c #C20502", -"O c #FA0C12", -"P c #E50100", -"Q c #E8323C", -"R c #F4B3A8", -"S c #7F0C03", -"T c #EF0908", -"U c #F50111", -"V c #F7192A", -"W c #F8AAA5", -"X c #DB0F11", -"Y c #F71514", -"Z c #DA6D61", -"` c #EF887F", -" . c #EE0704", -".. c #EDFCF3", -"+. c #F60212", -"@. c #EB0307", -"#. c #E9070B", -"$. c #E70E0B", -"%. c #F9DDD9", -"&. c #F6060E", -"*. c #B10A0E", -"=. c #F00A09", -"-. c #DE0600", -";. c #F31113", -">. c #FDDFE2", -",. c #DC0909", -"'. c #F10B12", -"). c #F90306", -"!. c #F9181F", -"~. c #FCD0D1", -"{. c #A9040F", -"]. c #EA4754", -"^. c #FA0908", -"/. c #F41821", -"(. c #FA757B", -"_. c #F10905", -":. c #EE090F", -"<. c #ED0D06", -"[. c #F7B7B3", -"}. c #F76869", -"|. c #850405", -"1. c #F80A07", -"2. c #EC0000", -"3. c #F6090B", -"4. c #F10208", -"5. c #EE080A", -"6. c #E90A0B", -"7. c #E82322", -"8. c #FBFAF8", -"9. c #E10B0B", -"0. c #D80507", -"a. c #E58874", -"b. c #E94149", -"c. c #ED0A04", -"d. c #EC0609", -"e. c #F8070B", -"f. c #F50A0E", -"g. c #DD423D", -"h. c #F47671", -"i. c #7C302B", -"j. c #E41D24", -"k. c #F80C08", -"l. c #EE0A0E", -"m. c #ED070A", -"n. c #FA050E", -"o. c #A52B2E", -"p. c #E96D74", -"q. c #FB0015", -"r. c #F40517", -"s. c #B6787D", -" . + @ # ", -" $ % & * = - ; ", -" > , ' ) ! ~ { ] ^ ", -" / ( _ : < [ } | 1 2 ", -" 3 4 5 6 7 8 9 0 a b c d ", -" e f g h i j k l m n o p q r ", -" s t u v w x y z A B C D ", -" E F G H I J K L M N O ", -" P Q R S T U V W X Y Z ", -" ` ...+.@.#.$.%.&.*.=. ", -" -.;.>.,.'.).!.~.{.&.]. ", -" ^./.(._.:.<.[.}.|.1. ", -" 2.3.4.5.6.7.8.9.0.a. ", -" b.c.d.e.f.g.h.i. ", -" j.k.l.m.n.o. ", -" p.q.r.s. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/tonguebla.xpm --- a/gui/mplayer/pixmaps/tonguebla.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,156 +0,0 @@ -/* XPM */ -static const char * const tonguebla_xpm[] = { -"16 16 137 2", -" c None", -". c #FC151B", -"+ c #F31C35", -"@ c #FD4344", -"# c #FA8C99", -"$ c #E9080F", -"% c #DDAFA4", -"& c #FDD8E0", -"* c #F33A41", -"= c #F00807", -"- c #E6DFE0", -"; c #ECF6F4", -"> c #E0081D", -", c #F10705", -"' c #E4080E", -") c #EE0512", -"! c #F80C0B", -"~ c #F70D0A", -"{ c #EF1510", -"] c #E60F0D", -"^ c #DC4248", -"/ c #E9383B", -"( c #E91E18", -"_ c #F48D94", -": c #F3E2DA", -"< c #E92B32", -"[ c #EE0B15", -"} c #F1726F", -"| c #FC7680", -"1 c #EE0409", -"2 c #F10306", -"3 c #DE5154", -"4 c #7F0401", -"5 c #170009", -"6 c #535455", -"7 c #DCD4D3", -"8 c #F4F9F7", -"9 c #EBEBEA", -"0 c #EFFEFF", -"a c #FEF1FA", -"b c #F5CBCB", -"c c #F4090A", -"d c #E91F21", -"e c #FEA7AB", -"f c #EA0314", -"g c #0A0203", -"h c #430002", -"i c #CC090F", -"j c #F30407", -"k c #390414", -"l c #110501", -"m c #4D3F3F", -"n c #D60D16", -"o c #E74746", -"p c #850702", -"q c #E60304", -"r c #DC090B", -"s c #E91B29", -"t c #BD070E", -"u c #FA0202", -"v c #F76364", -"w c #B90601", -"x c #DA0307", -"y c #FE060E", -"z c #F30F09", -"A c #F12F34", -"B c #F80409", -"C c #A90405", -"D c #FD020B", -"E c #FABDB8", -"F c #E90700", -"G c #F6A9A6", -"H c #C71C09", -"I c #CA0819", -"J c #F80C06", -"K c #EF0A13", -"L c #FA8786", -"M c #E62B35", -"N c #C20502", -"O c #FA0C12", -"P c #E50100", -"Q c #E8323C", -"R c #F4B3A8", -"S c #7F0C03", -"T c #EF0908", -"U c #F50111", -"V c #F7192A", -"W c #F8AAA5", -"X c #DB0F11", -"Y c #F71514", -"Z c #DA6D61", -"` c #EF887F", -" . c #EE0704", -".. c #EDFCF3", -"+. c #F60212", -"@. c #EB0307", -"#. c #E9070B", -"$. c #E70E0B", -"%. c #F9DDD9", -"&. c #F6060E", -"*. c #B10A0E", -"=. c #F00A09", -"-. c #DE0600", -";. c #F31113", -">. c #FDDFE2", -",. c #DC0909", -"'. c #F10B12", -"). c #F90306", -"!. c #F9181F", -"~. c #FCD0D1", -"{. c #A9040F", -"]. c #EA4754", -"^. c #FA0908", -"/. c #F41821", -"(. c #000000", -"_. c #EE090F", -":. c #ED0D06", -"<. c #F76869", -"[. c #850405", -"}. c #F80A07", -"|. c #EC0000", -"1. c #F6090B", -"2. c #EE080A", -"3. c #E82322", -"4. c #E10B0B", -"5. c #D80507", -"6. c #E58874", -"7. c #E94149", -"8. c #ED0A04", -"9. c #F50A0E", -"0. c #DD423D", -"a. c #7C302B", -"b. c #E41D24", -"c. c #EE0A0E", -"d. c #FA050E", -"e. c #F40517", -"f. c #B6787D", -" . + @ # ", -" $ % & * = - ; ", -" > , ' ) ! ~ { ] ^ ", -" / ( _ : < [ } | 1 2 ", -" 3 4 5 6 7 8 9 0 a b c d ", -" e f g h i j k l m n o p q r ", -" s t u v w x y z A B C D ", -" E F G H I J K L M N O ", -" P Q R S T U V W X Y Z ", -" ` ...+.@.#.$.%.&.*.=. ", -" -.;.>.,.'.).!.~.{.&.]. ", -" ^./.(.(._.:.(.<.[.}. (. ", -" |.1.(.2.(.3.(.4.5.6.(. (. ", -" 7.8.(.(.9.0.(.a. (. (. ", -" b.(.c.(.d.(. (.(.(. ", -" (.(.e.f.(.(.(. (. (. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/up.xpm --- a/gui/mplayer/pixmaps/up.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -/* XPM */ -static const char * const up_xpm[] = { -"16 16 93 2", -" c None", -". c #000000", -"+ c #BDCCCD", -"@ c #B6C6C8", -"# c #8F9DA8", -"$ c #9FB6C5", -"% c #90AEB9", -"& c #83A0A9", -"* c #6E8E9D", -"= c #83ABC2", -"- c #99BBD4", -"; c #8EB5D3", -"> c #75A6CC", -", c #6FA5C9", -"' c #86A9BE", -") c #87ACBB", -"! c #82A4B0", -"~ c #89A6B2", -"{ c #BFD7E5", -"] c #DDEDFB", -"^ c #DEEEFC", -"/ c #CCE5F5", -"( c #B4D9ED", -"_ c #84BEE6", -": c #9DBBCD", -"< c #E6F0F3", -"[ c #EEF5F9", -"} c #F1F7F8", -"| c #F8FAF9", -"1 c #FBFBFB", -"2 c #FAFBFC", -"3 c #DDEDF7", -"4 c #B8DAEF", -"5 c #7DB8E2", -"6 c #9AB9CB", -"7 c #EEF6F5", -"8 c #FAFCFD", -"9 c #F8FBFB", -"0 c #F5F9F7", -"a c #F4F7F7", -"b c #F3F7F8", -"c c #D0E6F3", -"d c #A7D1EC", -"e c #6BACDE", -"f c #9CB8CC", -"g c #EBF2F2", -"h c #F3F7F7", -"i c #EFF5F6", -"j c #ECF3F2", -"k c #E9F1F2", -"l c #E7F1F4", -"m c #BFDCEC", -"n c #94C4E5", -"o c #599ED6", -"p c #98B4CA", -"q c #D9E6E9", -"r c #DEEBEB", -"s c #DCEAEB", -"t c #DAE8E9", -"u c #D8E8E8", -"v c #D7E6EA", -"w c #A9CDE2", -"x c #7AB2D9", -"y c #448ECC", -"z c #8EB0C6", -"A c #BCD7DA", -"B c #C4DDDC", -"C c #C5DDDE", -"D c #C5DDDD", -"E c #C7DEDF", -"F c #C6DCE0", -"G c #94BFD7", -"H c #62A3CB", -"I c #3381C0", -"J c #8AABC4", -"K c #99BFC6", -"L c #A0C4CA", -"M c #A2C5CB", -"N c #A4C7CC", -"O c #A9CAD0", -"P c #A9C8D1", -"Q c #7AACC7", -"R c #4D91BC", -"S c #2573B1", -"T c #2B688D", -"U c #29648E", -"V c #2A6590", -"W c #2B6592", -"X c #2C6893", -"Y c #2D6594", -"Z c #205A91", -"` c #145190", -" . c #084A8D", -" . ", -" . . ", -" . . . . . . ", -" . . . ", -" . . ", -" + @ # # ", -" $ % & * = - ; > , ", -" ' ) ! ~ { ] ^ / ( _ ", -" : < [ } | 1 2 3 4 5 ", -" 6 7 8 9 0 a b c d e ", -" f g h i j k l m n o ", -" p q r s t u v w x y ", -" z A B C D E F G H I ", -" J K L M N O P Q R S ", -" T U V W X Y Z ` . ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/url.xpm --- a/gui/mplayer/pixmaps/url.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -/* XPM */ -static const char * const url_xpm[] = { -"16 16 2 1", -" c None", -". c #000000", -" ", -" ", -" ", -" ", -" .. .. .. ", -" .. .. .. ", -" .. .. ", -" .. .. ", -" .. .. ", -" .. .. ", -" .. .. .. ", -" .. .. .. ", -" ", -" ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/vcd.xpm --- a/gui/mplayer/pixmaps/vcd.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* XPM */ -static const char * const vcd_xpm[] = { -"16 16 160 2", -" c None", -". c #CC9665", -"+ c #E1C0A3", -"@ c #EAD1BD", -"# c #E9D2BB", -"$ c #D7B597", -"% c #9D7C5C", -"& c #CE9E71", -"* c #F6E9DE", -"= c #FEF5EE", -"- c #FFFAF6", -"; c #FFFBF7", -"> c #FDF9F5", -", c #F2EBDD", -"' c #FBF5E4", -") c #F3E6D5", -"! c #B19D8A", -"~ c #D9AE89", -"{ c #FFEFE3", -"] c #FFF7F0", -"^ c #FFF6EE", -"/ c #FFF7EF", -"( c #FFF6EB", -"_ c #FFF1DD", -": c #FFF6E3", -"< c #FFFCE9", -"[ c #FFFFF9", -"} c #FFFFFA", -"| c #BEA98F", -"1 c #C08F68", -"2 c #FFD5B2", -"3 c #FFCAA8", -"4 c #FFE2CC", -"5 c #FFF3E9", -"6 c #FFF4E9", -"7 c #FFF3E1", -"8 c #FFF0D0", -"9 c #FFF9D9", -"0 c #FFFEE7", -"a c #FFFFF8", -"b c #FFF8DA", -"c c #B8A685", -"d c #F2B788", -"e c #FFB886", -"f c #FFBD8B", -"g c #FFCA9B", -"h c #FFE7CF", -"i c #FFF6EA", -"j c #FFF4DB", -"k c #FFF7CA", -"l c #FFFFE1", -"m c #FFFFF6", -"n c #FFFBEE", -"o c #FFF3D4", -"p c #FFF3BB", -"q c #DDC18E", -"r c #805A34", -"s c #FDB070", -"t c #FFAD6E", -"u c #FFBA7D", -"v c #FFC78B", -"w c #FFDAA3", -"x c #FFEAC8", -"y c #FFF6C9", -"z c #FFF8C4", -"A c #FFF8E8", -"B c #FFFAEB", -"C c #FFF0C7", -"D c #FFE8A8", -"E c #FFE188", -"F c #FFDC86", -"G c #B57841", -"H c #FFA656", -"I c #FFAC5F", -"J c #FFBC73", -"K c #FFCE89", -"L c #FFDA91", -"M c #FFE194", -"N c #B2A177", -"O c #C0B095", -"P c #FFE6BB", -"Q c #FFE9B3", -"R c #FFD76C", -"S c #FFCC3D", -"T c #ECBB2F", -"U c #966F30", -"V c #BC7D42", -"W c #FFAA52", -"X c #FFAF57", -"Y c #FFC673", -"Z c #FFDE8E", -"` c #FFE58D", -" . c #FCE5A0", -".. c #FFDA8B", -"+. c #FFD673", -"@. c #FFBA00", -"#. c #FEC417", -"$. c #A77D2E", -"%. c #A7713B", -"&. c #FFBF69", -"*. c #FFC570", -"=. c #FFDB87", -"-. c #FFF3A1", -";. c #FFF9BF", -">. c #FFE4BA", -",. c #DFC19C", -"'. c #ECC48A", -"). c #FFCA5D", -"!. c #FFCC45", -"~. c #FEC21C", -"{. c #A57927", -"]. c #FFCF7C", -"^. c #FFDE8B", -"/. c #FFFFCB", -"(. c #FFFFF4", -"_. c #FFECC6", -":. c #FFE4AA", -"<. c #FFE8BA", -"[. c #FFC21D", -"}. c #B58726", -"|. c #E5BC73", -"1. c #FFFAA9", -"2. c #FFFFCD", -"3. c #FFFEF1", -"4. c #FFF3D3", -"5. c #FFE69F", -"6. c #FFE9AB", -"7. c #FFF0C5", -"8. c #FFEBB4", -"9. c #FFD465", -"0. c #A98E59", -"a. c #FFF1B6", -"b. c #FFE59F", -"c. c #FFD86C", -"d. c #FFE08B", -"e. c #FFEAB1", -"f. c #FFE5A3", -"g. c #FFE7AB", -"h. c #CCB396", -"i. c #FFE5B4", -"j. c #FFECA5", -"k. c #FFDB70", -"l. c #FFCB3B", -"m. c #FFD871", -"n. c #FFE8AB", -"o. c #FFE6A4", -"p. c #FFE9AA", -"q. c #C1A46F", -"r. c #EABC6D", -"s. c #FFC924", -"t. c #FFDC6A", -"u. c #FFEFAD", -"v. c #FFEAA1", -"w. c #FFDA8E", -"x. c #A97B28", -"y. c #C08D27", -"z. c #C99C47", -"A. c #CEA762", -"B. c #C09A5A", -"C. c #855F2F", -" . + @ # $ % ", -" & * = - ; > , ' ) ! ", -" ~ { ] ^ / ( _ : < [ } | ", -" 1 2 3 4 5 6 7 8 9 0 a } b c ", -" d e f g h i j k l m n o p q ", -"r s t u v w x y z A B C D E F ", -"G H I J K L M N O P Q D R S T U ", -"V W X Y Z ` . ..+.R @.@.#.$.", -"%.&.*.=.-.;.>.,.'.).!.!.R ~.~.{.", -" ].^.-./.(._.:.<.^.[.!.!.R }. ", -" |.1.2.3.4.5.6.7.8.9.).!.!.R ", -" 0.a.[ 4.b.c.d.e.f.g.9.).!. ", -" h.i.j.k.l.m.n.o.p.p.9. ", -" q.r.!.s.t.u.v.w.p.p. ", -" x.y.z.A.B.C. ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/pixmaps/warning.xpm --- a/gui/mplayer/pixmaps/warning.xpm Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,314 +0,0 @@ -/* XPM */ -static const char * const warning_xpm[] = { -"48 48 263 2", -" c None", -". c #6D0000", -"+ c #700000", -"@ c #6F0000", -"# c #6C0000", -"$ c #610000", -"% c #4F0000", -"& c #660000", -"* c #5C0000", -"= c #6E0000", -"- c #6B0000", -"; c #650000", -"> c #6A0000", -", c #5D0000", -"' c #680000", -") c #5E0000", -"! c #681414", -"~ c #834F4F", -"{ c #987979", -"] c #A28181", -"^ c #934949", -"/ c #710202", -"( c #690000", -"_ c #600000", -": c #640000", -"< c #611212", -"[ c #8D6464", -"} c #C1C1C1", -"| c #D3D3D3", -"1 c #DFDFDF", -"2 c #E0E0E0", -"3 c #D3C6C6", -"4 c #A76E6E", -"5 c #811F1F", -"6 c #750909", -"7 c #7B4B4B", -"8 c #D9D9D9", -"9 c #E1E1E1", -"0 c #D7CBCB", -"a c #994F4F", -"b c #7E1919", -"c c #5F0000", -"d c #9C8888", -"e c #CDCDCD", -"f c #E2E2E2", -"g c #A26060", -"h c #812020", -"i c #720505", -"j c #530000", -"k c #641313", -"l c #ACA3A3", -"m c #DBDBDB", -"n c #E3E3E3", -"o c #C3A2A2", -"p c #7F1B1B", -"q c #661414", -"r c #ABA1A1", -"s c #D4D4D4", -"t c #E4E4E4", -"u c #AE7878", -"v c #791111", -"w c #620000", -"x c #927575", -"y c #E5E5E5", -"z c #A76868", -"A c #740808", -"B c #8C6565", -"C c #CCCCCC", -"D c #E6E6E6", -"E c #7E7E7E", -"F c #4C4C4C", -"G c #464646", -"H c #797979", -"I c #E7E7E7", -"J c #DBD0D0", -"K c #903B3B", -"L c #510000", -"M c #670000", -"N c #722929", -"O c #C0C0C0", -"P c #757575", -"Q c #686868", -"R c #505050", -"S c #282828", -"T c #090909", -"U c #676767", -"V c #E8E8E8", -"W c #D1BBBB", -"X c #801E1E", -"Y c #700101", -"Z c #B3A8A8", -"` c #D5D5D5", -" . c #4D4D4D", -".. c #545454", -"+. c #101010", -"@. c #000000", -"#. c #E9E9E9", -"$. c #B07A7A", -"%. c #7A1313", -"&. c #875454", -"*. c #5E5E5E", -"=. c #323232", -"-. c #EAEAEA", -";. c #EBEBEB", -">. c #8F3939", -",. c #720404", -"'. c #691515", -"). c #C8C8C8", -"!. c #5F5F5F", -"~. c #2A2A2A", -"{. c #D1D1D1", -"]. c #D3BDBD", -"^. c #5B0000", -"/. c #976C6C", -"(. c #D2D2D2", -"_. c #EDEDED", -":. c #565656", -"<. c #202020", -"[. c #ECECEC", -"}. c #994C4C", -"|. c #7B1414", -"1. c #C7C7C7", -"2. c #5C5C5C", -"3. c #D3BBBB", -"4. c #5A0000", -"5. c #926969", -"6. c #EEEEEE", -"7. c #858585", -"8. c #2C2C2C", -"9. c #353535", -"0. c #9C5252", -"a. c #730707", -"b. c #681515", -"c. c #C4C4C4", -"d. c #EFEFEF", -"e. c #989898", -"f. c #4E4E4E", -"g. c #010101", -"h. c #6A6A6A", -"i. c #D6BFBF", -"j. c #540000", -"k. c #630000", -"l. c #895656", -"m. c #F0F0F0", -"n. c #C5C5C5", -"o. c #585858", -"p. c #191919", -"q. c #BBBBBB", -"r. c #9D5353", -"s. c #B8ADAD", -"t. c #F1F1F1", -"u. c #F2F2F2", -"v. c #1B1B1B", -"w. c #CAA8A8", -"x. c #801D1D", -"y. c #3D0000", -"z. c #7A2D2D", -"A. c #CECECE", -"B. c #292929", -"C. c #060606", -"D. c #868686", -"E. c #842525", -"F. c #760B0B", -"G. c #996F6F", -"H. c #D6D6D6", -"I. c #F3F3F3", -"J. c #575757", -"K. c #535353", -"L. c #A45F5F", -"M. c #C3B8B8", -"N. c #F4F4F4", -"O. c #F5F5F5", -"P. c #C8A3A3", -"Q. c #3C0000", -"R. c #6A1515", -"S. c #F6F6F6", -"T. c #410000", -"U. c #7F4242", -"V. c #CFCFCF", -"W. c #707070", -"X. c #434343", -"Y. c #515151", -"Z. c #F7F7F7", -"`. c #A56161", -" + c #7C1717", -".+ c #4E0000", -"++ c #946C6C", -"@+ c #1A1A1A", -"#+ c #0C0C0C", -"$+ c #3B3B3B", -"%+ c #F8F8F8", -"&+ c #B17676", -"*+ c #4C0000", -"=+ c #A58787", -"-+ c #2D2D2D", -";+ c #F9F9F9", -">+ c #CCA9A9", -",+ c #580000", -"'+ c #8A5858", -")+ c #494949", -"!+ c #131313", -"~+ c #FAFAFA", -"{+ c #CDA9A9", -"]+ c #832222", -"^+ c #6C2929", -"/+ c #3C3C3C", -"(+ c #FBFBFB", -"_+ c #822121", -":+ c #560000", -"<+ c #B5A0A0", -"[+ c #FCFCFC", -"}+ c #903A3A", -"|+ c #4A0000", -"1+ c #AA7D7D", -"2+ c #FDFDFD", -"3+ c #DEC7C7", -"4+ c #9F5555", -"5+ c #7D1818", -"6+ c #3E0000", -"7+ c #AE7070", -"8+ c #ECE0E0", -"9+ c #FEFEFE", -"0+ c #CEA9A9", -"a+ c #994949", -"b+ c #862828", -"c+ c #770D0D", -"d+ c #170000", -"e+ c #8F3737", -"f+ c #BE8D8D", -"g+ c #DFC8C8", -"h+ c #FFFFFF", -"i+ c #EEE2E2", -"j+ c #D1AEAE", -"k+ c #A66363", -"l+ c #852626", -"m+ c #310000", -"n+ c #710303", -"o+ c #7C1616", -"p+ c #832323", -"q+ c #9E5353", -"r+ c #AC6D6D", -"s+ c #C59999", -"t+ c #D3B2B2", -"u+ c #D2B1B1", -"v+ c #EFE4E4", -"w+ c #A76464", -"x+ c #A86666", -"y+ c #320000", -"z+ c #520000", -"A+ c #730606", -"B+ c #780F0F", -"C+ c #7B1515", -"D+ c #7A1212", -"E+ c #250000", -"F+ c #450000", -"G+ c #260000", -"H+ c #290000", -"I+ c #340000", -"J+ c #280000", -"K+ c #370000", -"L+ c #590000", -"M+ c #4D0000", -"N+ c #360000", -" ", -" ", -" ", -" . + + + @ # ", -" # + + + + + + + + + $ % ", -" + + + + + + + + + + + @ & * ", -" = + + + + - ; & # + + + + + + > , ", -" @ + + + + ' ) ! ~ { ] ^ + / + + + ( ) _ ", -" @ + + + @ : < [ } | 1 2 2 3 4 5 6 + + ' ) _ ", -" @ + + + > * 7 } 8 9 9 9 9 9 9 9 0 a b / + ' ) c ", -" @ + + + > < d e 2 f f f f f f f f f f g h i + ' c j ", -" # + + + > k l m n n n n n n n n n n n n n o p + + ' _ ", -" - + + + # q r s t t t t t t t t t t t t t t t u v + + w c ", -" + + + @ _ x | y y y y y y y y y y y y y y y y y z A + . c w ", -" @ + + + w B C D D D D D D D E F G H D D D D D D I J K i + > ) L ", -" + + + M N O 2 I I I I I I P Q R S T U I I I V V V V W X Y + & w ", -" + + + . , Z ` V V V V V V V ...+.@.@.@.V #.#.#.#.#.#.#.$.%.+ + _ c ", -" ( + + + _ &.e #.#.#.#.#.#.#.#.*.=.@.@.@.@.-.-.-.-.-.-.-.-.;.>.,.+ M $ ", -" + + + ( '.).n -.-.-.-.-.-.-.s !.~.@.@.@.@.{.;.;.;.;.;.;.;.;.].h Y @ _ ^. ", -" ( + + + $ /.(.;.;.;.;.;.;.;.;._.:.<.@.@.@.@.[.[.[.[.[.[.[.[.[.[.}.|.+ > c ", -" + + + # ! 1.y [.[.[.[.[.[.[.[._.2.<.@.@.@.@._._._._._._._._._._.3.5 + + w 4. ", -" + + + ; 5.` _._._._._._._._.6.6.7.8.@.@.@.9.6.6.6.6.6.6.6.6.6.6.6.0.a.+ - ) ", -" = + + # b.c.#.6.6.6.6.6.6.d.d.d.d.e.f.g.@.@.h.d.d.d.d.d.d.d.d.d.d.d.i.p + + $ j. ", -" + + + k.l.{.d.d.d.d.d.m.m.m.m.m.m.n.o.p.@.@.q.m.m.m.m.m.m.m.m.m.m.m.m.r.a.+ - c ", -" ' + + . ) s.t m.m.m.t.t.t.t.t.t.t.t.u. .<.@.v.t.t.t.t.t.t.t.t.t.t.t.t.t.w.x.+ + $ y. ", -" = + + ' z.A.t.t.t.u.u.u.u.u.u.u.u.u.u.e.B.C.D.u.u.u.u.u.u.u.u.u.u.u.u.u.u.E.F.+ ; j ", -" + + + $ G.H.u.I.I.I.I.I.I.I.I.I.I.I.I.I.J.K.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.L.5 + - _ ", -" + + . c M.#.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.O.O.P.E./ + _ Q. ", -" & + + ( R.(.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.S.S.S.S.S.x.%.+ & T. ", -" ( + + ; U.1 S.S.S.S.S.S.S.S.S.S.S.S.S.V.W.X.Y.C S.S.S.S.S.S.S.S.Z.Z.Z.Z.Z.Z.Z.`. ++ > .+ ", -" ' + + ; ++6.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.U .@+#+$+Z.Z.Z.Z.Z.Z.%+%+%+%+%+%+%+%+%+&+b + # *+ ", -" M + + $ =+Z.%+%+%+%+%+%+%+%+%+%+%+%+%+-+p.@.@.@.%+%+%+%+%+;+;+;+;+;+;+;+;+;+;+>+5 + @ ,+ ", -" & + + $ '+;+;+;+;+;+;+;+;+;+;+;+;+;+;+)+!+@.@.$+;+;+;+~+~+~+~+~+~+~+~+~+~+~+~+{+]++ + $ ", -" & + + ; ^+O.~+~+~+~+~+~+~+~+~+~+~+~+~+V./+@.$+V.~+(+(+(+(+(+(+(+(+(+(+(+(+(+(+&+_++ + j ", -" * + + = :+<+~+(+(+(+(+(+(+(+(+(+(+(+(+(+(+(+(+[+[+[+[+[+[+[+[+[+[+[+[+[+[+[+[+}+%.+ > |+ ", -" + + + ' j 1+[+[+[+[+[+[+[+[+[+[+[+[+[+[+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+3+4+5++ + w 6+ ", -" M + + + = = p 7+8+2+2+2+2+2+2+2+2+2+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+0+a+b+c++ + # ) d+ ", -" > + + + + + + + e+f+g+9+9+9+9+h+h+h+h+h+h+h+h+h+h+h+h+h+h+i+j+k+X l+X 6 + + ' , m+ ", -" > + + + + + + + n+o+p+q+r+s+t+u+v+h+h+h+h+h+u+u+u+w+x+]+p+_+ +|./ + @ # _ c y+ ", -" z++ + + + + + + + + + A+B+5+C+C+C+C+C+C+C+C+C+C+ +D+A Y + + + # ; c $ j.E+ ", -" F+( + + + + + + + + + + + + + + + + + + + + + + @ # ' ; _ $ k.z+G+@. ", -" H+% _ + + + + + + + + + + + + + = # > & ; ; c _ k.c z+I+@. ", -" J+K+.+% |+L+$ $ $ $ $ $ c $ $ M+M+% y+N+@.@. ", -" @.@.@.@.@.@.@.@.@. ", -" ", -" ", -" ", -" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/play.c --- a/gui/mplayer/play.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,468 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include - -#include "play.h" -#include "gmplayer.h" -#include "gui/app.h" -#include "gui/interface.h" -#include "gui/skin/font.h" -#include "gui/skin/skin.h" -#include "gui/wm/wsxdnd.h" -#include "widgets.h" - -#include "config.h" -#include "help_mp.h" -#include "input/input.h" -#include "libmpcodecs/vd.h" -#include "libvo/video_out.h" -#include "mp_core.h" -#include "stream/stream.h" - -int uiGotoTheNext = 1; - -void uiFullScreen(void) -{ - if (guiInfo.NoWindow && guiInfo.Playing) - return; - - if (guiInfo.Playing && guiApp.subWindow.isFullScreen) { - guiApp.subWindow.OldWidth = guiInfo.MovieWidth; - guiApp.subWindow.OldHeight = guiInfo.MovieHeight; - - switch (guiApp.sub.x) { - case -1: - guiApp.subWindow.OldX = wsMaxX / 2 - guiApp.subWindow.OldWidth / 2 + wsOrgX; - break; - - case -2: - guiApp.subWindow.OldX = wsMaxX - guiApp.subWindow.OldWidth + wsOrgX; - break; - - default: - guiApp.subWindow.OldX = guiApp.sub.x; - break; - } - - switch (guiApp.sub.y) { - case -1: - guiApp.subWindow.OldY = wsMaxY / 2 - guiApp.subWindow.OldHeight / 2 + wsOrgY; - break; - - case -2: - guiApp.subWindow.OldY = wsMaxY - guiApp.subWindow.OldHeight + wsOrgY; - break; - - default: - guiApp.subWindow.OldY = guiApp.sub.y; - break; - } - } - - if (guiInfo.Playing || gtkShowVideoWindow) - wsFullScreen(&guiApp.subWindow); - - fullscreen = vo_fs = guiApp.subWindow.isFullScreen; - wsSetLayer(wsDisplay, guiApp.mainWindow.WindowID, guiApp.subWindow.isFullScreen); - - if (guiApp.menuIsPresent) - wsSetLayer(wsDisplay, guiApp.menuWindow.WindowID, guiApp.subWindow.isFullScreen); - - if (guiInfo.Playing) - wsSetBackgroundRGB(&guiApp.subWindow, 0, 0, 0); - else - wsSetBackgroundRGB(&guiApp.subWindow, guiApp.sub.R, guiApp.sub.G, guiApp.sub.B); -} - -void uiEnd(void) -{ - plItem *next; - - if (!uiGotoTheNext && guiInfo.Playing) { - uiGotoTheNext = 1; - return; - } - - if (guiInfo.Playing && (next = gtkSet(gtkGetNextPlItem, 0, NULL)) && (plLastPlayed != next)) { - plLastPlayed = next; - guiSetDF(guiInfo.Filename, next->path, next->name); - guiInfo.StreamType = STREAMTYPE_FILE; - guiInfo.FilenameChanged = guiInfo.NewPlay = 1; - gfree((void **)&guiInfo.AudioFile); - gfree((void **)&guiInfo.Subtitlename); - } else { - if (guiInfo.FilenameChanged || guiInfo.NewPlay) - return; - - guiInfo.TimeSec = 0; - guiInfo.Position = 0; - guiInfo.AudioType = 0; - guiInfo.NoWindow = False; - -#ifdef CONFIG_DVDREAD - guiInfo.DVD.current_title = 1; - guiInfo.DVD.current_chapter = 1; - guiInfo.DVD.current_angle = 1; -#endif - - if (!guiApp.subWindow.isFullScreen && gtkShowVideoWindow) { - wsResizeWindow(&guiApp.subWindow, guiApp.sub.width, guiApp.sub.height); - wsMoveWindow(&guiApp.subWindow, True, guiApp.sub.x, guiApp.sub.y); - } else - wsVisibleWindow(&guiApp.subWindow, wsHideWindow); - - guiGetEvent(guiCEvent, guiSetStop); - uiSubRender = 1; - wsSetBackgroundRGB(&guiApp.subWindow, guiApp.sub.R, guiApp.sub.G, guiApp.sub.B); - wsClearWindow(guiApp.subWindow); - wsPostRedisplay(&guiApp.subWindow); - } -} - -void uiPlay(void) -{ - if (!guiInfo.Filename || - (guiInfo.Filename[0] == 0) || - (guiInfo.Playing == 1)) - return; - - if (guiInfo.Playing == 2) { - uiPause(); - return; - } - - guiGetEvent(guiCEvent, (void *)guiSetPlay); - uiSubRender = 0; - wsSetBackgroundRGB(&guiApp.subWindow, 0, 0, 0); - wsClearWindow(guiApp.subWindow); -} - -void uiPause(void) -{ - if (!guiInfo.Playing) - return; - - if (guiInfo.Playing == 1) { - mp_cmd_t *cmd = calloc(1, sizeof(*cmd)); - cmd->id = MP_CMD_PAUSE; - cmd->name = strdup("pause"); - mp_input_queue_cmd(cmd); - } else - guiInfo.Playing = 1; -} - -void uiState(void) -{ - if (guiInfo.Playing == 0 || guiInfo.Playing == 2) { - btnModify(evPlaySwitchToPause, btnReleased); - btnModify(evPauseSwitchToPlay, btnDisabled); - } else { - btnModify(evPlaySwitchToPause, btnDisabled); - btnModify(evPauseSwitchToPlay, btnReleased); - } -} - -void uiRelSeek(float sec) -{ - rel_seek_secs = sec; - abs_seek_pos = 0; -} - -void uiAbsSeek(float percent) -{ - if (guiInfo.StreamType == STREAMTYPE_STREAM) - return; - - rel_seek_secs = percent / 100.0; - abs_seek_pos = 3; -} - -void uiChangeSkin(char *name) -{ - int prev, bprev; - - prev = guiApp.menuIsPresent; - bprev = guiApp.playbarIsPresent; - - mainVisible = 0; - - if (skinRead(name) != 0) { - if (skinRead(skinName) != 0) { - mainVisible = 1; - return; - } - } - - // reload menu window - - if (prev && guiApp.menuIsPresent) { - free(menuDrawBuffer); - menuDrawBuffer = calloc(1, guiApp.menu.Bitmap.ImageSize); - - if (!menuDrawBuffer) { - gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_NEMDB); - guiExit(EXIT_ERROR); - } - - wsResizeWindow(&guiApp.menuWindow, guiApp.menu.width, guiApp.menu.height); - wsResizeImage(&guiApp.menuWindow, guiApp.menu.width, guiApp.menu.height); - wsSetShape(&guiApp.menuWindow, guiApp.menu.Mask.Image); - wsVisibleWindow(&guiApp.menuWindow, wsHideWindow); - } else - uiMenuInit(); - - // reload sub window - - if (guiApp.sub.Bitmap.Image) - wsResizeImage(&guiApp.subWindow, guiApp.sub.Bitmap.Width, guiApp.sub.Bitmap.Height); - - if (!guiApp.subWindow.isFullScreen && !guiInfo.Playing) { - wsResizeWindow(&guiApp.subWindow, guiApp.sub.width, guiApp.sub.height); - wsMoveWindow(&guiApp.subWindow, True, guiApp.sub.x, guiApp.sub.y); - } - - if (guiApp.sub.Bitmap.Image) - wsConvert(&guiApp.subWindow, guiApp.sub.Bitmap.Image); - - if (!guiInfo.Playing) { - uiSubRender = 1; - wsSetBackgroundRGB(&guiApp.subWindow, guiApp.sub.R, guiApp.sub.G, guiApp.sub.B); - wsClearWindow(guiApp.subWindow); - wsPostRedisplay(&guiApp.subWindow); - } - - // reload playbar - - if (bprev) - wsDestroyWindow(&guiApp.playbarWindow); - - uiPlaybarInit(); - - // reload main window - - free(mainDrawBuffer); - mainDrawBuffer = calloc(1, guiApp.main.Bitmap.ImageSize); - - if (!mainDrawBuffer) { - gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_NEMDB); - guiExit(EXIT_ERROR); - } - - wsDestroyWindow(&guiApp.mainWindow); - - wsCreateWindow(&guiApp.mainWindow, guiApp.main.x, guiApp.main.y, guiApp.main.width, guiApp.main.height, wsNoBorder, wsShowMouseCursor | wsHandleMouseButton | wsHandleMouseMove, wsShowFrame | wsMaxSize | wsHideWindow, "MPlayer"); - wsCreateImage(&guiApp.mainWindow, guiApp.main.Bitmap.Width, guiApp.main.Bitmap.Height); - wsSetShape(&guiApp.mainWindow, guiApp.main.Mask.Image); - wsSetIcon(wsDisplay, guiApp.mainWindow.WindowID, &guiIcon); - - guiApp.mainWindow.ReDraw = (void *)uiMainDraw; - guiApp.mainWindow.MouseHandler = uiMainMouseHandle; - guiApp.mainWindow.KeyHandler = uiMainKeyHandle; - guiApp.mainWindow.DandDHandler = uiDandDHandler; - - wsXDNDMakeAwareness(&guiApp.mainWindow); - - if (!guiApp.mainDecoration) - wsWindowDecoration(&guiApp.mainWindow, 0); - - wsVisibleWindow(&guiApp.mainWindow, wsShowWindow); - mainVisible = 1; - - btnModify(evSetVolume, guiInfo.Volume); - btnModify(evSetBalance, guiInfo.Balance); - btnModify(evSetMoviePosition, guiInfo.Position); - btnModify(evFullScreen, !guiApp.subWindow.isFullScreen); - - wsSetLayer(wsDisplay, guiApp.mainWindow.WindowID, guiApp.subWindow.isFullScreen); - wsSetLayer(wsDisplay, guiApp.menuWindow.WindowID, guiApp.subWindow.isFullScreen); -} - -void uiSetFileName(char *dir, char *name, int type) -{ - if (!name) - return; - - if (!dir) - guiSetFilename(guiInfo.Filename, name) - else - guiSetDF(guiInfo.Filename, dir, name) - - guiInfo.StreamType = type; - gfree((void **)&guiInfo.AudioFile); - gfree((void **)&guiInfo.Subtitlename); -} - -void uiCurr(void) -{ - plItem *curr; - int stop = 0; - - if (guiInfo.Playing == 2) - return; - - switch (guiInfo.StreamType) { -#ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - break; -#endif - -#ifdef CONFIG_VCD - case STREAMTYPE_VCD: - break; -#endif - - default: - - curr = gtkSet(gtkGetCurrPlItem, 0, NULL); - - if (curr) { - uiSetFileName(curr->path, curr->name, STREAMTYPE_FILE); - uiGotoTheNext = 0; - break; - } - - return; - } - - if (stop) - uiEventHandling(evStop, 0); - - if (guiInfo.Playing == 1) - uiEventHandling(evPlay, 0); -} - -void uiPrev(void) -{ - plItem *prev; - int stop = 0; - - if (guiInfo.Playing == 2) - return; - - switch (guiInfo.StreamType) { -#ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - - if (--guiInfo.DVD.current_chapter == 0) { - guiInfo.DVD.current_chapter = 1; - - if (--guiInfo.DVD.current_title <= 0) { - guiInfo.DVD.current_title = 1; - stop = 1; - } - } - - guiInfo.Track = guiInfo.DVD.current_title; - break; -#endif - -#ifdef CONFIG_VCD - case STREAMTYPE_VCD: - if (--guiInfo.Track == 0) { - guiInfo.Track = 1; - stop = 1; - } - break; -#endif - - default: - - prev = gtkSet(gtkGetPrevPlItem, 0, NULL); - - if (prev) { - uiSetFileName(prev->path, prev->name, STREAMTYPE_FILE); - uiGotoTheNext = 0; - break; - } - - return; - } - - if (stop) - uiEventHandling(evStop, 0); - - if (guiInfo.Playing == 1) - uiEventHandling(evPlay, 0); -} - -void uiNext(void) -{ - int stop = 0; - plItem *next; - - if (guiInfo.Playing == 2) - return; - - switch (guiInfo.StreamType) { -#ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - - if (guiInfo.DVD.current_chapter++ == guiInfo.DVD.chapters) { - guiInfo.DVD.current_chapter = 1; - - if (++guiInfo.DVD.current_title > guiInfo.DVD.titles) { - guiInfo.DVD.current_title = guiInfo.DVD.titles; - stop = 1; - } - } - - guiInfo.Track = guiInfo.DVD.current_title; - break; -#endif - -#ifdef CONFIG_VCD - case STREAMTYPE_VCD: - - if (++guiInfo.Track >= guiInfo.VCDTracks) { - guiInfo.Track = guiInfo.VCDTracks; - - if (guiInfo.VCDTracks > 1) - guiInfo.Track--; - - stop = 1; - } - - break; -#endif - - default: - - next = gtkSet(gtkGetNextPlItem, 0, NULL); - - if (next) { - uiSetFileName(next->path, next->name, STREAMTYPE_FILE); - uiGotoTheNext = 0; - break; - } - - return; - } - - if (stop) - uiEventHandling(evStop, 0); - - if (guiInfo.Playing == 1) - uiEventHandling(evPlay, 0); -} - -void uiStop(void) -{ - uiEventHandling(evStop, 0); -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/play.h --- a/gui/mplayer/play.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_PLAY_H -#define MPLAYER_GUI_PLAY_H - -extern int uiGotoTheNext; - -void uiAbsSeek(float sec); -void uiChangeSkin(char *name); -void uiCurr(void); -void uiEnd(void); -void uiFullScreen(void); -void uiNext(void); -void uiPause(void); -void uiPlay(void); -void uiPrev(void); -void uiRelSeek(float percent); -void uiSetFileName(char *dir, char *name, int type); -void uiState(void); -void uiStop(void); - -#endif /* MPLAYER_GUI_PLAY_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/sw.c --- a/gui/mplayer/sw.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* - * sub window - * - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include - -#include "config.h" -#include "libvo/x11_common.h" -#include "help_mp.h" -#include "mp_core.h" - -#include "gmplayer.h" -#include "gui/app.h" -#include "gui/interface.h" -#include "widgets.h" - -int uiSubRender = 0; -int subVisible = 0; - -void uiSubDraw( void ) -{ - if ( guiApp.subWindow.State == wsWindowClosed ) guiExit( EXIT_QUIT ); - - if ( guiApp.subWindow.State == wsWindowFocusIn ) subVisible++; - if ( guiApp.subWindow.State == wsWindowFocusOut && metacity_hack != 3 ) subVisible--; - - if ( !guiApp.subWindow.Mapped || - guiApp.subWindow.Visible == wsWindowNotVisible ) return; - - if ( guiInfo.Playing ) uiSubRender=0; - - if ( uiSubRender && guiApp.subWindow.State == wsWindowExpose ) - { - if ( guiApp.sub.Bitmap.Image ) wsPutImage( &guiApp.subWindow ); - } - guiApp.subWindow.State=0; -} - -void uiSubMouseHandle( int Button,int X,int Y,int RX,int RY ) -{ - static int mplSubMoved = 0; - static int msButton = 0; - - uiPlaybarShow( X,Y ); - - switch( Button ) - { - case wsRRMouseButton: - gtkShow( evShowPopUpMenu,NULL ); - break; - case wsPMMouseButton: - gtkShow( evHidePopUpMenu,NULL ); - uiShowMenu( RX,RY ); - msButton=wsPMMouseButton; - break; - case wsRMMouseButton: - uiHideMenu( RX,RY,1 ); - msButton=0; - break; -// --- - case wsPLMouseButton: - gtkShow( evHidePopUpMenu,NULL ); - sx=X; sy=Y; - msButton=wsPLMouseButton; - mplSubMoved=0; - break; - case wsMoveMouse: - switch ( msButton ) - { - case wsPLMouseButton: - mplSubMoved=1; - if ( !guiApp.subWindow.isFullScreen ) wsMoveWindow( &guiApp.subWindow,False,RX - sx,RY - sy ); - break; - case wsPMMouseButton: - uiMenuMouseHandle( X,Y,RX,RY ); - break; - default: uiPlaybarShow( X,Y ); break; - } - break; - case wsRLMouseButton: - if ( ( !mplSubMoved )&&( guiApp.subWindow.isFullScreen ) ) - { - if( subVisible++%2 ) wsMoveTopWindow( wsDisplay,guiApp.mainWindow.WindowID ); - else wsMoveTopWindow( wsDisplay,guiApp.subWindow.WindowID ); - } - msButton=0; - mplSubMoved=0; - break; - } -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/widgets.c --- a/gui/mplayer/widgets.c Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,317 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "config.h" -#include "help_mp.h" -#include "mp_msg.h" -#include "libavutil/intreadwrite.h" -#include "libvo/x11_common.h" - -#include "widgets.h" -#include "gui/app.h" -#include "gui/interface.h" -#include "gui/wm/ws.h" - -#include "play.h" -#include "gtk/fs.h" - -GtkWidget *PopUpMenu = NULL; - -GtkWidget *WarningPixmap; -GtkWidget *ErrorPixmap; - -int gtkPopupMenu = 0; -int gtkPopupMenuParam = 0; -int gtkInitialized = 0; - -#include "gtk/sb.h" -#include "gtk/pl.h" -#include "gtk/fs.h" -#include "gtk/mb.h" -#include "gtk/about.h" -#include "gtk/opts.h" -#include "gtk/gtk_menu.h" -#include "gtk/gtk_url.h" -#include "gtk/eq.h" - -#include "pixmaps/mplayer.xpm" - -#define THRESHOLD 128 // transparency values equal to or above this will become - // opaque, all values below this will become transparent - -// --- init & close gtk - -guiIcon_t guiIcon; - -void gtkInit(void) -{ - int argc = 0, i; - char *arg[3], **argv = arg; - GdkPixbuf *pixbuf; - GdkPixmap *gdkIcon; - GdkBitmap *gdkIconMask; - guchar *data; - - mp_msg(MSGT_GPLAYER, MSGL_V, "GTK init.\n"); - - arg[argc++] = GMPlayer; - - if (mDisplayName) { // MPlayer option '-display' was given - arg[argc++] = "--display"; // Pass corresponding command line arguments to GTK, - arg[argc++] = mDisplayName; // to open the requested display for the GUI, too. - } - -#ifdef CONFIG_GTK2 - gtk_disable_setlocale(); -#endif - - gtk_init(&argc, &argv); - - pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)mplayer_xpm); - - gdk_pixbuf_render_pixmap_and_mask_for_colormap(pixbuf, gdk_colormap_get_system(), &gdkIcon, &gdkIconMask, THRESHOLD); - - if (gdk_pixbuf_get_colorspace(pixbuf) == GDK_COLORSPACE_RGB && - gdk_pixbuf_get_n_channels(pixbuf) == 4 && - gdk_pixbuf_get_bits_per_sample(pixbuf) == 8) { - guiIcon.collection_size = 2 + gdk_pixbuf_get_width(pixbuf) * gdk_pixbuf_get_height(pixbuf); - - guiIcon.collection = malloc(guiIcon.collection_size * sizeof(*guiIcon.collection)); - - if (guiIcon.collection) { - guiIcon.collection[0] = gdk_pixbuf_get_width(pixbuf); - guiIcon.collection[1] = gdk_pixbuf_get_height(pixbuf); - - data = gdk_pixbuf_get_pixels(pixbuf); - - for (i = 2; i < guiIcon.collection_size; data += 4, i++) - guiIcon.collection[i] = (data[3] << 24) | AV_RB24(data); // RGBA -> ARGB - } - } else - mp_msg(MSGT_GPLAYER, MSGL_WARN, MSGTR_ICONERROR, "mplayer"); - - // start up GTK which realizes the pixmaps - gtk_main_iteration_do(FALSE); - - guiIcon.normal = GDK_PIXMAP_XID(gdkIcon); - guiIcon.normal_mask = GDK_PIXMAP_XID(gdkIconMask); - - gtkInitialized = 1; -} - -void gtkAddIcon(GtkWidget *window) -{ - wsSetIcon(gdk_display, GDK_WINDOW_XWINDOW(window->window), &guiIcon); -} - -void gtkClearList(GtkWidget *list) -{ - gtk_clist_clear(GTK_CLIST(list)); -} - -int gtkFindCList(GtkWidget *list, char *item) -{ - gint j; - gchar *tmpstr; - - for (j = 0; j < GTK_CLIST(list)->rows; j++) { - gtk_clist_get_text(GTK_CLIST(list), j, 0, &tmpstr); - - if (!strcmp(tmpstr, item)) - return j; - } - - return -1; -} - -void gtkSetDefaultToCList(GtkWidget *list, char *item) -{ - gint i; - - if ((i = gtkFindCList(list, item)) > -1) - gtk_clist_select_row(GTK_CLIST(list), i, 0); -} - -void gtkEventHandling(void) -{ - int i; - - for (i = 0; i < 25; i++) - gtk_main_iteration_do(0); -} - -// --- funcs - -void gtkMessageBox(int type, const gchar *str) -{ - if (!gtkInitialized) - return; - - ShowMessageBox(str); - gtk_label_set_text(GTK_LABEL(gtkMessageBoxText), str); - - /* enable linewrapping by alex */ -// GTK_LABEL(gtkMessageBoxText)->max_width = 80; - if (strlen(str) > 80) - gtk_label_set_line_wrap(GTK_LABEL(gtkMessageBoxText), TRUE); - else - gtk_label_set_line_wrap(GTK_LABEL(gtkMessageBoxText), FALSE); - - switch (type) { - case GTK_MB_FATAL: - gtk_window_set_title(GTK_WINDOW(MessageBox), MSGTR_MSGBOX_LABEL_FatalError); - gtk_widget_hide(WarningPixmap); - gtk_widget_show(ErrorPixmap); - break; - - case GTK_MB_ERROR: - gtk_window_set_title(GTK_WINDOW(MessageBox), MSGTR_MSGBOX_LABEL_Error); - gtk_widget_hide(WarningPixmap); - gtk_widget_show(ErrorPixmap); - break; - - case GTK_MB_WARNING: - gtk_window_set_title(GTK_WINDOW(MessageBox), MSGTR_MSGBOX_LABEL_Warning); - gtk_widget_show(WarningPixmap); - gtk_widget_hide(ErrorPixmap); - break; - } - - gtk_widget_show(MessageBox); - gtkSetLayer(MessageBox); - - if (type == GTK_MB_FATAL) - while (MessageBox) - gtk_main_iteration_do(0); -} - -void gtkSetLayer(GtkWidget *wdg) -{ - wsSetLayer(gdk_display, GDK_WINDOW_XWINDOW(wdg->window), guiApp.subWindow.isFullScreen); - gtkActive(wdg); -} - -void gtkActive(GtkWidget *wdg) -{ - wsMoveTopWindow(gdk_display, GDK_WINDOW_XWINDOW(wdg->window)); -} - -void gtkShow(int type, char *param) -{ - switch (type) { - case evEqualizer: - ShowEqualizer(); - gtkSetLayer(Equalizer); - break; - - case evSkinBrowser: - ShowSkinBrowser(); - -// gtkClearList( SkinList ); - if (gtkFillSkinList(sbMPlayerPrefixDir) && - gtkFillSkinList(sbMPlayerDirInHome)) { - gtkSetDefaultToCList(SkinList, param); - gtk_clist_sort(GTK_CLIST(SkinList)); - gtk_widget_show(SkinBrowser); - gtkSetLayer(SkinBrowser); - } else { - gtk_widget_destroy(SkinBrowser); - gtkMessageBox(GTK_MB_ERROR, "Skin dirs not found ... Please install skins."); - } - - break; - - case evPreferences: - ShowPreferences(); - break; - - case evPlayList: - ShowPlayList(); - gtkSetLayer(PlayList); - break; - - case evLoad: - ShowFileSelect(fsVideoSelector, 0); - gtkSetLayer(fsFileSelect); - break; - - case evFirstLoad: - ShowFileSelect(fsVideoSelector, 0); - gtkSetLayer(fsFileSelect); - break; - - case evLoadSubtitle: - ShowFileSelect(fsSubtitleSelector, 0); - gtkSetLayer(fsFileSelect); - break; - - case evLoadAudioFile: - ShowFileSelect(fsAudioSelector, 0); - gtkSetLayer(fsFileSelect); - break; - - case evAbout: - ShowAboutBox(); - gtkSetLayer(About); - break; - - case evShowPopUpMenu: - gtkPopupMenu = evNone; - gtkPopupMenuParam = 0; - - if (PopUpMenu) { - gtk_widget_hide(PopUpMenu); - gtk_widget_destroy(PopUpMenu); - } - - PopUpMenu = create_PopUpMenu(); - gtk_menu_popup(GTK_MENU(PopUpMenu), NULL, NULL, NULL, NULL, 0, 0); - break; - - case evHidePopUpMenu: - - if (PopUpMenu) { - gtk_widget_hide(PopUpMenu); - gtk_widget_destroy(PopUpMenu); - PopUpMenu = NULL; - } - - break; - - case evPlayNetwork: - ShowURLDialogBox(); - gtkSetLayer(URL); - break; - } -} diff -r c5a19bbeac2b -r 520fb0f7544c gui/mplayer/widgets.h --- a/gui/mplayer/widgets.h Sat Jun 18 14:33:41 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_GUI_WIDGETS_H -#define MPLAYER_GUI_WIDGETS_H - -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "osdep/shmem.h" -#include "play.h" -#include "mplayer.h" -#include "gui/interface.h" - -#define GTK_MB_SIMPLE 0 -#define GTK_MB_MODAL 1 -#define GTK_MB_FATAL 2 -#define GTK_MB_ERROR 4 -#define GTK_MB_WARNING 8 - -extern GtkWidget *PlayList; -extern GtkWidget *Options; -extern GtkWidget *PopUpMenu; - -extern GtkWidget *WarningPixmap; -extern GtkWidget *ErrorPixmap; - -extern GtkWidget *SkinList; -extern GtkWidget *gtkMessageBoxText; - -extern int gtkPopupMenu; -extern int gtkPopupMenuParam; - -extern char *sbMPlayerDirInHome; -extern char *sbMPlayerPrefixDir; - -typedef struct { - Pixmap small; - Pixmap small_mask; - Pixmap normal; - Pixmap normal_mask; - int collection_size; - CARD32 *collection; -} guiIcon_t; - -extern guiIcon_t guiIcon; - -void widgetsCreate(void); - -void gtkInit(void); -void gtkAddIcon(GtkWidget *window); - -int gtkFillSkinList(gchar *dir); -void gtkClearList(GtkWidget *list); -void gtkSetDefaultToCList(GtkWidget *list, char *item); -int gtkFindCList(GtkWidget *list, char *item); - -void gtkEventHandling(void); - -void gtkShow(int type, char *param); -void gtkMessageBox(int type, const gchar *str); -void gtkSetLayer(GtkWidget *wdg); -void gtkActive(GtkWidget *wdg); - -#endif /* MPLAYER_GUI_WIDGETS_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/skin/skin.c --- a/gui/skin/skin.c Sat Jun 18 14:33:41 2011 +0000 +++ b/gui/skin/skin.c Sat Jun 18 16:03:31 2011 +0000 @@ -23,7 +23,7 @@ #include "font.h" #include "gui/app.h" #include "gui/interface.h" -#include "gui/mplayer/widgets.h" +#include "gui/ui/widgets.h" #include "gui/util/cut.h" #include "gui/util/string.h" diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/actions.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/actions.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,468 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include + +#include "actions.h" +#include "gmplayer.h" +#include "gui/app.h" +#include "gui/interface.h" +#include "gui/skin/font.h" +#include "gui/skin/skin.h" +#include "gui/wm/wsxdnd.h" +#include "widgets.h" + +#include "config.h" +#include "help_mp.h" +#include "input/input.h" +#include "libmpcodecs/vd.h" +#include "libvo/video_out.h" +#include "mp_core.h" +#include "stream/stream.h" + +int uiGotoTheNext = 1; + +void uiFullScreen(void) +{ + if (guiInfo.NoWindow && guiInfo.Playing) + return; + + if (guiInfo.Playing && guiApp.subWindow.isFullScreen) { + guiApp.subWindow.OldWidth = guiInfo.MovieWidth; + guiApp.subWindow.OldHeight = guiInfo.MovieHeight; + + switch (guiApp.sub.x) { + case -1: + guiApp.subWindow.OldX = wsMaxX / 2 - guiApp.subWindow.OldWidth / 2 + wsOrgX; + break; + + case -2: + guiApp.subWindow.OldX = wsMaxX - guiApp.subWindow.OldWidth + wsOrgX; + break; + + default: + guiApp.subWindow.OldX = guiApp.sub.x; + break; + } + + switch (guiApp.sub.y) { + case -1: + guiApp.subWindow.OldY = wsMaxY / 2 - guiApp.subWindow.OldHeight / 2 + wsOrgY; + break; + + case -2: + guiApp.subWindow.OldY = wsMaxY - guiApp.subWindow.OldHeight + wsOrgY; + break; + + default: + guiApp.subWindow.OldY = guiApp.sub.y; + break; + } + } + + if (guiInfo.Playing || gtkShowVideoWindow) + wsFullScreen(&guiApp.subWindow); + + fullscreen = vo_fs = guiApp.subWindow.isFullScreen; + wsSetLayer(wsDisplay, guiApp.mainWindow.WindowID, guiApp.subWindow.isFullScreen); + + if (guiApp.menuIsPresent) + wsSetLayer(wsDisplay, guiApp.menuWindow.WindowID, guiApp.subWindow.isFullScreen); + + if (guiInfo.Playing) + wsSetBackgroundRGB(&guiApp.subWindow, 0, 0, 0); + else + wsSetBackgroundRGB(&guiApp.subWindow, guiApp.sub.R, guiApp.sub.G, guiApp.sub.B); +} + +void uiEnd(void) +{ + plItem *next; + + if (!uiGotoTheNext && guiInfo.Playing) { + uiGotoTheNext = 1; + return; + } + + if (guiInfo.Playing && (next = gtkSet(gtkGetNextPlItem, 0, NULL)) && (plLastPlayed != next)) { + plLastPlayed = next; + guiSetDF(guiInfo.Filename, next->path, next->name); + guiInfo.StreamType = STREAMTYPE_FILE; + guiInfo.FilenameChanged = guiInfo.NewPlay = 1; + gfree((void **)&guiInfo.AudioFile); + gfree((void **)&guiInfo.Subtitlename); + } else { + if (guiInfo.FilenameChanged || guiInfo.NewPlay) + return; + + guiInfo.TimeSec = 0; + guiInfo.Position = 0; + guiInfo.AudioType = 0; + guiInfo.NoWindow = False; + +#ifdef CONFIG_DVDREAD + guiInfo.DVD.current_title = 1; + guiInfo.DVD.current_chapter = 1; + guiInfo.DVD.current_angle = 1; +#endif + + if (!guiApp.subWindow.isFullScreen && gtkShowVideoWindow) { + wsResizeWindow(&guiApp.subWindow, guiApp.sub.width, guiApp.sub.height); + wsMoveWindow(&guiApp.subWindow, True, guiApp.sub.x, guiApp.sub.y); + } else + wsVisibleWindow(&guiApp.subWindow, wsHideWindow); + + guiGetEvent(guiCEvent, guiSetStop); + uiSubRender = 1; + wsSetBackgroundRGB(&guiApp.subWindow, guiApp.sub.R, guiApp.sub.G, guiApp.sub.B); + wsClearWindow(guiApp.subWindow); + wsPostRedisplay(&guiApp.subWindow); + } +} + +void uiPlay(void) +{ + if (!guiInfo.Filename || + (guiInfo.Filename[0] == 0) || + (guiInfo.Playing == 1)) + return; + + if (guiInfo.Playing == 2) { + uiPause(); + return; + } + + guiGetEvent(guiCEvent, (void *)guiSetPlay); + uiSubRender = 0; + wsSetBackgroundRGB(&guiApp.subWindow, 0, 0, 0); + wsClearWindow(guiApp.subWindow); +} + +void uiPause(void) +{ + if (!guiInfo.Playing) + return; + + if (guiInfo.Playing == 1) { + mp_cmd_t *cmd = calloc(1, sizeof(*cmd)); + cmd->id = MP_CMD_PAUSE; + cmd->name = strdup("pause"); + mp_input_queue_cmd(cmd); + } else + guiInfo.Playing = 1; +} + +void uiState(void) +{ + if (guiInfo.Playing == 0 || guiInfo.Playing == 2) { + btnModify(evPlaySwitchToPause, btnReleased); + btnModify(evPauseSwitchToPlay, btnDisabled); + } else { + btnModify(evPlaySwitchToPause, btnDisabled); + btnModify(evPauseSwitchToPlay, btnReleased); + } +} + +void uiRelSeek(float sec) +{ + rel_seek_secs = sec; + abs_seek_pos = 0; +} + +void uiAbsSeek(float percent) +{ + if (guiInfo.StreamType == STREAMTYPE_STREAM) + return; + + rel_seek_secs = percent / 100.0; + abs_seek_pos = 3; +} + +void uiChangeSkin(char *name) +{ + int prev, bprev; + + prev = guiApp.menuIsPresent; + bprev = guiApp.playbarIsPresent; + + mainVisible = 0; + + if (skinRead(name) != 0) { + if (skinRead(skinName) != 0) { + mainVisible = 1; + return; + } + } + + // reload menu window + + if (prev && guiApp.menuIsPresent) { + free(menuDrawBuffer); + menuDrawBuffer = calloc(1, guiApp.menu.Bitmap.ImageSize); + + if (!menuDrawBuffer) { + gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_NEMDB); + guiExit(EXIT_ERROR); + } + + wsResizeWindow(&guiApp.menuWindow, guiApp.menu.width, guiApp.menu.height); + wsResizeImage(&guiApp.menuWindow, guiApp.menu.width, guiApp.menu.height); + wsSetShape(&guiApp.menuWindow, guiApp.menu.Mask.Image); + wsVisibleWindow(&guiApp.menuWindow, wsHideWindow); + } else + uiMenuInit(); + + // reload sub window + + if (guiApp.sub.Bitmap.Image) + wsResizeImage(&guiApp.subWindow, guiApp.sub.Bitmap.Width, guiApp.sub.Bitmap.Height); + + if (!guiApp.subWindow.isFullScreen && !guiInfo.Playing) { + wsResizeWindow(&guiApp.subWindow, guiApp.sub.width, guiApp.sub.height); + wsMoveWindow(&guiApp.subWindow, True, guiApp.sub.x, guiApp.sub.y); + } + + if (guiApp.sub.Bitmap.Image) + wsConvert(&guiApp.subWindow, guiApp.sub.Bitmap.Image); + + if (!guiInfo.Playing) { + uiSubRender = 1; + wsSetBackgroundRGB(&guiApp.subWindow, guiApp.sub.R, guiApp.sub.G, guiApp.sub.B); + wsClearWindow(guiApp.subWindow); + wsPostRedisplay(&guiApp.subWindow); + } + + // reload playbar + + if (bprev) + wsDestroyWindow(&guiApp.playbarWindow); + + uiPlaybarInit(); + + // reload main window + + free(mainDrawBuffer); + mainDrawBuffer = calloc(1, guiApp.main.Bitmap.ImageSize); + + if (!mainDrawBuffer) { + gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_NEMDB); + guiExit(EXIT_ERROR); + } + + wsDestroyWindow(&guiApp.mainWindow); + + wsCreateWindow(&guiApp.mainWindow, guiApp.main.x, guiApp.main.y, guiApp.main.width, guiApp.main.height, wsNoBorder, wsShowMouseCursor | wsHandleMouseButton | wsHandleMouseMove, wsShowFrame | wsMaxSize | wsHideWindow, "MPlayer"); + wsCreateImage(&guiApp.mainWindow, guiApp.main.Bitmap.Width, guiApp.main.Bitmap.Height); + wsSetShape(&guiApp.mainWindow, guiApp.main.Mask.Image); + wsSetIcon(wsDisplay, guiApp.mainWindow.WindowID, &guiIcon); + + guiApp.mainWindow.ReDraw = (void *)uiMainDraw; + guiApp.mainWindow.MouseHandler = uiMainMouseHandle; + guiApp.mainWindow.KeyHandler = uiMainKeyHandle; + guiApp.mainWindow.DandDHandler = uiDandDHandler; + + wsXDNDMakeAwareness(&guiApp.mainWindow); + + if (!guiApp.mainDecoration) + wsWindowDecoration(&guiApp.mainWindow, 0); + + wsVisibleWindow(&guiApp.mainWindow, wsShowWindow); + mainVisible = 1; + + btnModify(evSetVolume, guiInfo.Volume); + btnModify(evSetBalance, guiInfo.Balance); + btnModify(evSetMoviePosition, guiInfo.Position); + btnModify(evFullScreen, !guiApp.subWindow.isFullScreen); + + wsSetLayer(wsDisplay, guiApp.mainWindow.WindowID, guiApp.subWindow.isFullScreen); + wsSetLayer(wsDisplay, guiApp.menuWindow.WindowID, guiApp.subWindow.isFullScreen); +} + +void uiSetFileName(char *dir, char *name, int type) +{ + if (!name) + return; + + if (!dir) + guiSetFilename(guiInfo.Filename, name) + else + guiSetDF(guiInfo.Filename, dir, name) + + guiInfo.StreamType = type; + gfree((void **)&guiInfo.AudioFile); + gfree((void **)&guiInfo.Subtitlename); +} + +void uiCurr(void) +{ + plItem *curr; + int stop = 0; + + if (guiInfo.Playing == 2) + return; + + switch (guiInfo.StreamType) { +#ifdef CONFIG_DVDREAD + case STREAMTYPE_DVD: + break; +#endif + +#ifdef CONFIG_VCD + case STREAMTYPE_VCD: + break; +#endif + + default: + + curr = gtkSet(gtkGetCurrPlItem, 0, NULL); + + if (curr) { + uiSetFileName(curr->path, curr->name, STREAMTYPE_FILE); + uiGotoTheNext = 0; + break; + } + + return; + } + + if (stop) + uiEventHandling(evStop, 0); + + if (guiInfo.Playing == 1) + uiEventHandling(evPlay, 0); +} + +void uiPrev(void) +{ + plItem *prev; + int stop = 0; + + if (guiInfo.Playing == 2) + return; + + switch (guiInfo.StreamType) { +#ifdef CONFIG_DVDREAD + case STREAMTYPE_DVD: + + if (--guiInfo.DVD.current_chapter == 0) { + guiInfo.DVD.current_chapter = 1; + + if (--guiInfo.DVD.current_title <= 0) { + guiInfo.DVD.current_title = 1; + stop = 1; + } + } + + guiInfo.Track = guiInfo.DVD.current_title; + break; +#endif + +#ifdef CONFIG_VCD + case STREAMTYPE_VCD: + if (--guiInfo.Track == 0) { + guiInfo.Track = 1; + stop = 1; + } + break; +#endif + + default: + + prev = gtkSet(gtkGetPrevPlItem, 0, NULL); + + if (prev) { + uiSetFileName(prev->path, prev->name, STREAMTYPE_FILE); + uiGotoTheNext = 0; + break; + } + + return; + } + + if (stop) + uiEventHandling(evStop, 0); + + if (guiInfo.Playing == 1) + uiEventHandling(evPlay, 0); +} + +void uiNext(void) +{ + int stop = 0; + plItem *next; + + if (guiInfo.Playing == 2) + return; + + switch (guiInfo.StreamType) { +#ifdef CONFIG_DVDREAD + case STREAMTYPE_DVD: + + if (guiInfo.DVD.current_chapter++ == guiInfo.DVD.chapters) { + guiInfo.DVD.current_chapter = 1; + + if (++guiInfo.DVD.current_title > guiInfo.DVD.titles) { + guiInfo.DVD.current_title = guiInfo.DVD.titles; + stop = 1; + } + } + + guiInfo.Track = guiInfo.DVD.current_title; + break; +#endif + +#ifdef CONFIG_VCD + case STREAMTYPE_VCD: + + if (++guiInfo.Track >= guiInfo.VCDTracks) { + guiInfo.Track = guiInfo.VCDTracks; + + if (guiInfo.VCDTracks > 1) + guiInfo.Track--; + + stop = 1; + } + + break; +#endif + + default: + + next = gtkSet(gtkGetNextPlItem, 0, NULL); + + if (next) { + uiSetFileName(next->path, next->name, STREAMTYPE_FILE); + uiGotoTheNext = 0; + break; + } + + return; + } + + if (stop) + uiEventHandling(evStop, 0); + + if (guiInfo.Playing == 1) + uiEventHandling(evPlay, 0); +} + +void uiStop(void) +{ + uiEventHandling(evStop, 0); +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/actions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/actions.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,38 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_PLAY_H +#define MPLAYER_GUI_PLAY_H + +extern int uiGotoTheNext; + +void uiAbsSeek(float sec); +void uiChangeSkin(char *name); +void uiCurr(void); +void uiEnd(void); +void uiFullScreen(void); +void uiNext(void); +void uiPause(void); +void uiPlay(void); +void uiPrev(void); +void uiRelSeek(float percent); +void uiSetFileName(char *dir, char *name, int type); +void uiState(void); +void uiStop(void); + +#endif /* MPLAYER_GUI_PLAY_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gmplayer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gmplayer.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,54 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_GMPLAYER_H +#define MPLAYER_GUI_GMPLAYER_H + +extern int uiSubRender; +extern int uiMainRender; + +extern unsigned char * mainDrawBuffer; +extern unsigned char * menuDrawBuffer; +extern int mainVisible; + +extern int uiMainAutoPlay; +extern int uiMiddleMenu; +extern int uiPlaybarFade; + +extern int sx, sy; + +void uiInit( void * disp ); + +void uiMainDraw( void ); +void uiEventHandling( int msg, float param ); +void uiMainMouseHandle( int Button, int X, int Y, int RX, int RY ); +void uiMainKeyHandle( int KeyCode, int Type, int Key ); +void uiDandDHandler(int num, char** files); + +void uiSubDraw( void ); +void uiSubMouseHandle( int Button, int X, int Y, int RX, int RY ); + +void uiMenuInit( void ); +void uiHideMenu( int mx, int my, int w ); +void uiShowMenu( int mx, int my ); +void uiMenuMouseHandle( int X, int Y, int RX, int RY ); + +void uiPlaybarInit( void ); +void uiPlaybarShow( int x, int y ); + +#endif /* MPLAYER_GUI_GMPLAYER_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/about.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/about.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,346 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "gui/app.h" +#include "help_mp.h" + +#include "gui/mplayer/pixmaps/about.xpm" +#include "gui/mplayer/widgets.h" +#include "about.h" +#include "gtk_common.h" + +GtkWidget * About = NULL; + +void ShowAboutBox( void ) +{ + if ( About ) gtkActive( About ); + else About=create_About(); + gtk_widget_show( About ); +} + +static void abWidgetDestroy( GtkWidget * widget, GtkWidget ** widget_pointer ) +{ WidgetDestroy( NULL,&About ); } + +GtkWidget * create_About( void ) +{ + GtkWidget * vbox; + GtkWidget * pixmap1; + GtkWidget * scrolledwindow1; + GtkWidget * AboutText; + GtkWidget * Ok; + +#ifdef CONFIG_GTK2 + GtkTextBuffer * AboutTextBuffer; + GtkTextIter iter; +#endif /* CONFIG_GTK2 */ + + GtkStyle * pixmapstyle; + GdkPixmap * pixmapwid; + GdkBitmap * mask; + + GtkAccelGroup * accel_group; + + accel_group=gtk_accel_group_new(); + + About=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( About,MSGTR_About ); + gtk_object_set_data( GTK_OBJECT( About ),MSGTR_About,About ); + gtk_widget_set_usize( About,340,415 ); + gtk_window_set_title( GTK_WINDOW( About ),MSGTR_About ); + gtk_window_set_position( GTK_WINDOW( About ),GTK_WIN_POS_CENTER ); + gtk_window_set_policy( GTK_WINDOW( About ),TRUE,FALSE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( About ),"About","MPlayer" ); + + gtk_widget_realize( About ); + gtkAddIcon( About ); + + vbox=AddVBox( AddDialogFrame( About ),0 ); + + pixmapstyle=gtk_widget_get_style( About ); + pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( About->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar **) about_xpm ); + pixmap1=gtk_pixmap_new( pixmapwid,mask ); + + gtk_widget_set_name( pixmap1,"pixmap1" ); + gtk_widget_show( pixmap1 ); + gtk_box_pack_start( GTK_BOX( vbox ),pixmap1,FALSE,FALSE,0 ); + gtk_widget_set_usize( pixmap1,-2,174 ); + + AddHSeparator( vbox ); + + scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); + gtk_widget_show( scrolledwindow1 ); + gtk_box_pack_start( GTK_BOX( vbox ),scrolledwindow1,TRUE,TRUE,0 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); + +#ifdef CONFIG_GTK2 + AboutText = gtk_text_view_new(); + gtk_text_view_set_editable(GTK_TEXT_VIEW(AboutText), FALSE); + gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(AboutText), FALSE); + AboutTextBuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (AboutText)); + gtk_text_buffer_get_iter_at_offset (AboutTextBuffer, &iter, 0); +#else + AboutText=gtk_text_new( NULL,NULL ); + gtk_text_set_editable(GTK_TEXT(AboutText), FALSE); +#endif + gtk_widget_set_name( AboutText,"AboutText" ); + gtk_widget_show( AboutText ); + gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),AboutText ); +#ifdef CONFIG_GTK2 + gtk_text_buffer_insert (AboutTextBuffer, &iter, +#else + gtk_text_insert( GTK_TEXT( AboutText ),NULL,NULL,NULL, +#endif + "\n" + MSGTR_ABOUT_UHU + " (http://www.uhulinux.hu/)\n" + "\n" + MSGTR_ABOUT_Contributors + "\n" + " * Ackermann, Andreas\n" + " * adland\n" + " * Anholt, Eric\n" + " * Ashberg, Folke\n" + " * Balatoni, Dénes\n" + " * Barat, Zsolt\n" + " * Barbato, Luca\n" + " * Baryshkov, Dmitry\n" + " * Baudet, Bertrand\n" + " * Bedel, Alban\n" + " * Behrisch, Michael\n" + " * Belev, Luchezar\n" + " * Bérczi, Gábor\n" + " * Berecz, Szabolcs\n" + " * Beregszászi, Alex\n" + " * Bitterberg, Tilmann\n" + " * Biurrun, Diego\n" + " * Blomenkamp, Marcsu\n" + " * Buehler, Andrew\n" + " * Bulgroz, Eviv\n" + " * Bünemann, Felix\n" + " * Bunkus, Moritz\n" + " * Christiansen, Dan Villiom Podlaski\n" + " * Clagg, Jeff\n" + " * Compn\n" + " * Comstedt, Marcus\n" + " * Cook, Kees\n" + " * Davies, Stephen\n" + " * Di Vita, Piero\n" + " * Diedrich, Tobias\n" + " * Dietrich, Florian\n" + " * Dobbelaere, Jeroen\n" + " * Döffinger, Reimar\n" + " * Dolbeau, Romain\n" + " * Dönmez, Ismail\n" + " * Edele, Robert\n" + " * Egger, Christoph\n" + " * Elsinghorst, Paul Wilhelm\n" + " * Ernesti, Bernd\n" + " * Falco, Salvatore\n" + " * Feigl, Johannes\n" + " * Felker, D Richard III\n" + " * Ferguson, Tim\n" + " * Finlayson, Ross\n" + " * Forghieri, Daniele\n" + " * Foth, Kilian A.\n" + " * Franz, Fabian\n" + " * Gansser, Martin\n" + " * Gereöffy, Árpád\n" + " * Giani, Matteo\n" + " * Goethel, Sven\n" + " * Gomez Garcia, German\n" + " * Gottwald, Alexander\n" + " * Graffam, Michael\n" + " * Gritsenko, Andriy N.\n" + " * Guyomarch, Rémi\n" + " * Hammelmann, Jürgen\n" + " * Hertel, Christopher R.\n" + " * Hess, Andreas\n" + " * Hickey, Corey\n" + " * Hidvégi, Zoltán\n" + " * Hoffmann, Jens\n" + " * Holm, David\n" + " * Horst, Bohdan\n" + " * Hug, Hampa\n" + " * Hurka, Tomas\n" + " * Isani, Sidik\n" + " * Issaris, Panagiotis\n" + " * Jacobs, Aurelien\n" + " * Jelveh, Reza\n" + " * Jermann, Jonas\n" + " * Johansson, Anders\n" + " * Kain, Nicholas\n" + " * Kalinski, Filip\n" + " * Kalvachev, Ivan\n" + " * Kaniewski, Wojtek\n" + " * Kaplan, Kim Minh\n" + " * Kärkkäinen, Samuli\n" + " * Keil, Jürgen\n" + " * Kesterson, Robert\n" + " * Kinali, Attila\n" + " * Kovriga, Gregory\n" + " * Kühling, David\n" + " * Kuivinen, Fredrik\n" + " * Kurshev, Nick\n" + " * Kuschak, Brian\n" + " * Kushnir, Vladimir\n" + " * Lambley, Dave\n" + " * László, Gyula\n" + " * Le Gaillart, Nicolas\n" + " * Lénárt, Gábor\n" + " * Leroy, Colin\n" + " * Liljeblad, Oskar\n" + " * Lin, Sam\n" + " * Lombard, Pierre\n" + " * Madick, Puk\n" + " * Makovicka, Jindrich\n" + " * Marek, Rudolf\n" + " * Megyer, László\n" + " * Melanson, Mike\n" + " * von Merkatz, Arwed\n" + " * Merritt, Loren\n" + " * Mierzejewski, Dominik\n" + " * Milushev, Mihail\n" + " * Mistry, Nehal\n" + " * Mohari, András\n" + " * Mueller, Steven\n" + " * Neundorf, Alexander\n" + " * Niedermayer, Michael\n" + " * Noring, Fredrik\n" + " * Ohm, Christian\n" + " * Parrish, Joey\n" + " * Pietrzak, Dariusz\n" + " * Plourde, Nicolas\n" + " * Poettering, Lennart\n" + " * Poirier, Guillaume\n" + " * Ponekker, Zoltán\n" + " * van Poorten, Ivo\n" + " * Ran, Lu\n" + " * Reder, Uwe\n" + " * rgselk\n" + " * Rune Petersen\n" + " * Saari, Ville\n" + " * Sabbi, Nico\n" + " * Sandell, Björn\n" + " * Sauerbeck, Tilman\n" + " * Scherthan, Frank\n" + " * Schneider, Florian\n" + " * Schoenbrunner, Oliver\n" + " * Shimon, Oded\n" + " * Simon, Peter\n" + " * Snel, Rik\n" + " * Sommer, Sascha\n" + " * Strasser, Alexander\n" + " * Strzelecki, Kamil\n" + " * Svoboda, Jiri\n" + " * Swain, Robert\n" + " * Syrjälä, Ville\n" + " * Szecsi, Gabor\n" + " * Tackaberry, Jason\n" + " * Tam, Howell\n" + " * Tlalka, Adam\n" + " * Tiesi, Gianluigi\n" + " * Togni, Roberto\n" + " * Tropea, Salvador Eduardo\n" + " * Vajna, Miklós\n" + " * Verdejo Pinochet, Reynaldo H.\n" + " * Wigren, Per\n" + " * Witt, Derek J\n" + " * Young, Alan\n" + " * Zaprzala, Artur\n" + " * Zealey, Mark\n" + " * Ziv-Av, Matan\n" + " * Zoltán, Márk Vicián\n" + "\n" + MSGTR_ABOUT_Codecs_libs_contributions + "\n" + " * Bellard, Fabrice\n" + " * Chappelier, Vivien and Vincent, Damien\n" + " * Hipp, Michael\n" + " * Holtzman, Aaron\n" + " * Janovetz, Jake\n" + " * Kabelac, Zdenek\n" + " * Kuznetsov, Eugene\n" + " * Lespinasse, Michel\n" + " * Podlipec, Mark\n" + "\n" + MSGTR_ABOUT_Translations + "\n" + " * Biernat, Marcin\n" + " * Fargas, Marc\n" + " * Heryan, Jiri\n" + " * Jarycki, Marek\n" + " * Kaplita, Leszek\n" + " * Krämer, Sebastian\n" + " * López, Juan Martin\n" + " * Michniewski, Piotr\n" + " * Misiorny, Jakub\n" + " * Mizda, Gábor\n" + " * Paszta, Maciej\n" + " * Proszek, Łukasz\n" + " * Schiller, Wacław\n" + " * Zubimendi, Andoni\n" + "\n" + MSGTR_ABOUT_Skins + "\n" + " * Azrael\n" + " * Bekesi, Viktor\n" + " * Burt.S.\n" + " * Carpenter, Andrew\n" + " * Foucault, Charles\n" + " * Gyimesi, Attila\n" + " * Hertroys, Alban\n" + " * Juan Pablo\n" + " * Kiss, Balint\n" + " * Kuehne, Andre\n" + " * Kuhlmann, Rüdiger\n" + " * Naumov, Dan\n" + " * Northam, Ryan\n" + " * Oyarzun Arroyo\n" + " * Park, DongCheon\n" + " * Pehrson, Jurgen\n" + " * Pizurica, Nikola\n" + " * Ptak, Oliwier\n" + " * Riccio, Pasquale\n" + " * Schultz, Jesper\n" + " * Szumiela, Marcin\n" + " * Tisi, Massimo\n" + " * Tyr, Jiri jun.\n" + " * Vasilev, Ognian\n" + " * Veres, Imre\n" + " * Vesko, Radic\n" + " * Vigvary, Balasz\n" + " * Weber, Andrew\n" + " * Whitmore, Gary Jr.\n" + " * Wilamowski, Franciszek\n" + " * Zeising, Michael\n" + "\n",-1 ); + + AddHSeparator( vbox ); + Ok=AddButton( MSGTR_Ok,AddHButtonBox( vbox ) ); + + gtk_signal_connect( GTK_OBJECT( About ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&About ); + gtk_signal_connect_object( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( abWidgetDestroy ),NULL ); + + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_window_add_accel_group( GTK_WINDOW( About ),accel_group ); + + return About; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/about.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/about.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,29 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_ABOUT_H +#define MPLAYER_GUI_ABOUT_H + +#include + +extern GtkWidget * About; + +GtkWidget * create_About( void ); +void ShowAboutBox( void ); + +#endif /* MPLAYER_GUI_ABOUT_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/eq.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/eq.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,691 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "config.h" +#include "gui/app.h" +#include "gui/cfg.h" +#include "help_mp.h" +#include "libaf/equalizer.h" +#include "libvo/video_out.h" +#include "stream/stream.h" +#include "libmpdemux/demuxer.h" +#include "libmpdemux/stheader.h" +#include "libmpcodecs/dec_video.h" +#include "gui/mplayer/widgets.h" + +#include "eq.h" +#include "gtk_common.h" + +#define eqRange 15 + +GtkWidget * Equalizer = NULL; +static GtkWidget * EquConfig; + +static GtkWidget * Notebook; +static GtkWidget * ChannelsList; +static GtkWidget * VContrast, * VBrightness, * VHue, * VSaturation; +static GtkAdjustment * VContrastadj, * VBrightnessadj, * VHueadj, * VSaturationadj; +static GtkWidget * Ok, * Clear, * Config; +static GtkWidget * A3125, * A125, * A6250, * A250, * A500, * A1000, * A2000, * A4000, * A8000, * A16000; +static GtkAdjustment * A3125adj, * A125adj, * A6250adj, * A250adj, * A500adj, * A1000adj, * A2000adj, * A4000adj, * A8000adj, * A16000adj; + +static int Channel = -1; + +// --- + +char * gtkEquChannel1 = NULL; +char * gtkEquChannel2 = NULL; +char * gtkEquChannel3 = NULL; +char * gtkEquChannel4 = NULL; +char * gtkEquChannel5 = NULL; +char * gtkEquChannel6 = NULL; + +// --- + +void ShowEquConfig( void ); +void HideEquConfig( void ); + +static void eqSetBands( int channel ) +{ + if ( channel < 0 ) channel=0; + gtk_adjustment_set_value( A3125adj,0.0f - gtkEquChannels[channel][0] ); + gtk_adjustment_set_value( A6250adj,0.0f - gtkEquChannels[channel][1] ); + gtk_adjustment_set_value( A125adj,0.0f - gtkEquChannels[channel][2] ); + gtk_adjustment_set_value( A250adj,0.0f - gtkEquChannels[channel][3] ); + gtk_adjustment_set_value( A500adj,0.0f - gtkEquChannels[channel][4] ); + gtk_adjustment_set_value( A1000adj,0.0f - gtkEquChannels[channel][5] ); + gtk_adjustment_set_value( A2000adj,0.0f - gtkEquChannels[channel][6] ); + gtk_adjustment_set_value( A4000adj,0.0f - gtkEquChannels[channel][7] ); + gtk_adjustment_set_value( A8000adj,0.0f - gtkEquChannels[channel][8] ); + gtk_adjustment_set_value( A16000adj,0.0f - gtkEquChannels[channel][9] ); + + if ( guiInfo.sh_video ) + { + get_video_colors( guiInfo.sh_video,"brightness",&vo_gamma_brightness ); + get_video_colors( guiInfo.sh_video,"contrast",&vo_gamma_contrast ); + get_video_colors( guiInfo.sh_video,"hue",&vo_gamma_hue ); + get_video_colors( guiInfo.sh_video,"saturation",&vo_gamma_saturation ); + } + + gtk_adjustment_set_value( VContrastadj,(float)vo_gamma_contrast ); + gtk_adjustment_set_value( VBrightnessadj,(float)vo_gamma_brightness ); + gtk_adjustment_set_value( VHueadj,(float)vo_gamma_hue ); + gtk_adjustment_set_value( VSaturationadj,(float)vo_gamma_saturation ); +} + +static void eqSetChannelNames( void ) +{ + gchar * str[2]; + gtk_clist_clear( GTK_CLIST( ChannelsList ) ); + str[1]=""; + str[0]=MSGTR_EQU_All; + gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + if ( guiInfo.AudioType > 1 ) + { + str[0]=gtkEquChannel1; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + str[0]=gtkEquChannel2; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + } + if ( guiInfo.AudioType > 2 ) + { + str[0]=gtkEquChannel3; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + str[0]=gtkEquChannel4; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + } + if ( guiInfo.AudioType > 4 ) + { + str[0]=gtkEquChannel5; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + str[0]=gtkEquChannel6; gtk_clist_append( GTK_CLIST( ChannelsList ) ,str); + } + gtk_clist_select_row( GTK_CLIST( ChannelsList ),0,0 ); +} + +void ShowEqualizer( void ) +{ + if ( Equalizer ) gtkActive( Equalizer ); + else Equalizer=create_Equalizer(); + + if ( !gtkEquChannel1 ) gtkEquChannel1=strdup( MSGTR_EQU_Front_Right ); + if ( !gtkEquChannel2 ) gtkEquChannel2=strdup( MSGTR_EQU_Front_Left ); + if ( !gtkEquChannel3 ) gtkEquChannel3=strdup( MSGTR_EQU_Back_Right ); + if ( !gtkEquChannel4 ) gtkEquChannel4=strdup( MSGTR_EQU_Back_Left ); + if ( !gtkEquChannel5 ) gtkEquChannel5=strdup( MSGTR_EQU_Center ); + if ( !gtkEquChannel6 ) gtkEquChannel6=strdup( MSGTR_EQU_Bass ); + + eqSetChannelNames(); + + if ( !guiInfo.Playing || !guiInfo.sh_video ) + { + gtk_widget_set_sensitive( VContrast,FALSE ); + gtk_widget_set_sensitive( VBrightness,FALSE ); + gtk_widget_set_sensitive( VHue,FALSE ); + gtk_widget_set_sensitive( VSaturation,FALSE ); + } + Channel=-1; + eqSetBands( 0 ); + if ( !guiInfo.Playing || !gtkEnableAudioEqualizer ) + { + gtk_widget_set_sensitive( ChannelsList,FALSE ); + gtk_widget_set_sensitive( A3125,FALSE ); + gtk_widget_set_sensitive( A125,FALSE ); + gtk_widget_set_sensitive( A6250,FALSE ); + gtk_widget_set_sensitive( A250,FALSE ); + gtk_widget_set_sensitive( A500,FALSE ); + gtk_widget_set_sensitive( A1000,FALSE ); + gtk_widget_set_sensitive( A2000,FALSE ); + gtk_widget_set_sensitive( A4000,FALSE ); + gtk_widget_set_sensitive( A8000,FALSE ); + gtk_widget_set_sensitive( A16000,FALSE ); + } + + if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( Notebook ) ) == 0 ) gtk_widget_show( Config ); + gtk_widget_show( Equalizer ); +} + +static void HideEqualizer( void ) +{ + if ( !Equalizer ) return; + gtk_widget_hide( Equalizer ); + gtk_widget_destroy( Equalizer ); + Equalizer=NULL; + if ( EquConfig ) HideEquConfig(); +} + +static gboolean eqHScaleMotion( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) +{ + equalizer_t eq; + switch ( (int)user_data ) + { + case 0: eq.gain=A3125adj->value; break; + case 1: eq.gain=A6250adj->value; break; + case 2: eq.gain=A125adj->value; break; + case 3: eq.gain=A250adj->value; break; + case 4: eq.gain=A500adj->value; break; + case 5: eq.gain=A1000adj->value; break; + case 6: eq.gain=A2000adj->value; break; + case 7: eq.gain=A4000adj->value; break; + case 8: eq.gain=A8000adj->value; break; + case 9: eq.gain=A16000adj->value; break; + default: return FALSE; + } + eq.gain=0.0f - eq.gain; + eq.band=(int)user_data; + if ( Channel == -1 ) + { + int i; + for ( i=0;i<6;i++ ) + { eq.channel=i; gtkSet( gtkSetEqualizer,0,&eq ); } + } else { eq.channel=Channel; gtkSet( gtkSetEqualizer,0,&eq ); } + + return FALSE; +} + +static gboolean eqVScaleMotion( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) +{ + + switch( (int)user_data ) + { + case 1: gtkSet( gtkSetContrast,VContrastadj->value,NULL ); break; + case 2: gtkSet( gtkSetBrightness,VBrightnessadj->value,NULL ); break; + case 3: gtkSet( gtkSetHue,VHueadj->value,NULL ); break; + case 4: gtkSet( gtkSetSaturation,VSaturationadj->value,NULL ); break; + } + + return FALSE; +} + +static void eqButtonReleased( GtkButton * button,gpointer user_data ) +{ + switch( (int)user_data ) + { + case 0: HideEqualizer(); break; + case 1: + if ( gtk_notebook_get_current_page( GTK_NOTEBOOK( Notebook ) ) == 0 ) + { + if ( !guiInfo.Playing || !gtkEnableAudioEqualizer ) break; + gtkSet( gtkSetEqualizer,0,NULL ); + eqSetBands( Channel ); + } + else + { + if ( !guiInfo.Playing ) break; + gtkSet( gtkSetContrast,0.0f,NULL ); + gtkSet( gtkSetBrightness,0.0f,NULL ); + gtkSet( gtkSetHue,0.0f,NULL ); + gtkSet( gtkSetSaturation,0.0f,NULL ); + eqSetBands( Channel ); + } + break; + case 2: + ShowEquConfig(); + break; + } +} + +static void eqFocus( GtkWindow * window,GtkWidget * widget,gpointer user_data ) +{ eqSetBands( Channel ); } + +static void eqSelectChannelsListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) +{ + Channel=row - 1; + eqSetBands( Channel ); + if ( Channel == -1 ) + { + int i,j; equalizer_t eq; + for ( i=1;i<6;i++ ) + for ( j=0;j<10;j++ ) + { eq.band=j; eq.channel=i; eq.gain=gtkEquChannels[0][j]; gtkSet( gtkSetEqualizer,0,&eq ); } + } +} + +static void eqNotebook( GtkNotebook * notebook, GtkNotebookPage * page, + gint page_num, gpointer user_data ) +{ + if ( page_num ) gtk_widget_hide( Config ); + else gtk_widget_show( Config ); +} + +GtkWidget * create_Equalizer( void ) +{ + GtkWidget * vbox1; + GtkWidget * hbox1; + GtkWidget * scrolledwindow1; + GtkWidget * table1; + GtkWidget * hbuttonbox1; + GtkAccelGroup * accel_group; + + accel_group=gtk_accel_group_new(); + + Equalizer=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( Equalizer,MSGTR_Equalizer ); + gtk_object_set_data( GTK_OBJECT( Equalizer ),MSGTR_Equalizer,Equalizer ); + gtk_widget_set_usize( Equalizer,-1,256 ); + gtk_window_set_title( GTK_WINDOW( Equalizer ),MSGTR_Equalizer ); + gtk_window_set_position( GTK_WINDOW( Equalizer ),GTK_WIN_POS_CENTER ); + gtk_window_set_policy( GTK_WINDOW( Equalizer ),FALSE,FALSE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( Equalizer ),"Equalizer","MPlayer" ); + + gtk_widget_realize( Equalizer ); + gtkAddIcon( Equalizer ); + + vbox1=AddVBox( AddDialogFrame( Equalizer ),0 ); + + Notebook=gtk_notebook_new(); + gtk_widget_set_name( Notebook,"Notebook" ); + gtk_widget_show( Notebook ); + gtk_box_pack_start( GTK_BOX( vbox1 ),Notebook,TRUE,TRUE,0 ); + gtk_container_set_border_width( GTK_CONTAINER( Notebook ),1 ); + + hbox1=AddHBox( Notebook,0 ); + + scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); + gtk_widget_show( scrolledwindow1 ); + gtk_box_pack_start( GTK_BOX( hbox1 ),scrolledwindow1,FALSE,FALSE,0 ); + gtk_widget_set_usize( scrolledwindow1,106,-2 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); + + ChannelsList=gtk_clist_new( 1 ); + gtk_widget_set_name( ChannelsList,"ChannelsList" ); + gtk_widget_show( ChannelsList ); + gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),ChannelsList ); + gtk_clist_set_column_width( GTK_CLIST( ChannelsList ),0,80 ); + gtk_clist_column_titles_hide( GTK_CLIST( ChannelsList ) ); + + table1=gtk_table_new( 2,10,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_box_pack_start( GTK_BOX( hbox1 ),table1,FALSE,FALSE,0 ); + gtk_table_set_row_spacings( GTK_TABLE( table1 ),4 ); + gtk_table_set_col_spacings( GTK_TABLE( table1 ),9 ); + + A3125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A3125=AddVScaler( A3125adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A3125,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A6250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A6250=AddVScaler( A6250adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A6250,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A125adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A125=AddVScaler( A125adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A125,2,3,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A250adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A250=AddVScaler( A250adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A250,3,4,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A500adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A500=AddVScaler( A500adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A500,4,5,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A1000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A1000=AddVScaler( A1000adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A1000,5,6,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A2000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A2000=AddVScaler( A2000adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A2000,6,7,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A4000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A4000=AddVScaler( A4000adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A4000,7,8,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A8000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A8000=AddVScaler( A8000adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A8000,8,9,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + A16000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); + A16000=AddVScaler( A16000adj,NULL,-1 ); + gtk_table_attach( GTK_TABLE( table1 ),A16000,9,10,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "31.25",NULL ), + 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "62.50",NULL ), + 1,2,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "125",NULL ), + 2,3,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "250",NULL ), + 3,4,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "500",NULL ), + 4,5,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "1000",NULL ), + 5,6,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "2000",NULL ), + 6,7,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "4000",NULL ), + 7,8,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "8000",NULL ), + 8,9,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( "16000",NULL ), + 9,10,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),0 ), + AddLabel( MSGTR_EQU_Audio,NULL ) ); + + table1=gtk_table_new( 4,2,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_container_add( GTK_CONTAINER( Notebook ),table1 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Contrast,NULL ), + 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Brightness,NULL ), + 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Hue,NULL ), + 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Saturation,NULL ), + 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + VContrastadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); + VContrast=AddHScaler( VContrastadj,NULL,1 ); + gtk_table_attach( GTK_TABLE( table1 ),VContrast,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + gtk_widget_set_usize( VContrast,-1,45 ); + + VBrightnessadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); + VBrightness=AddHScaler( VBrightnessadj,NULL,1 ); + gtk_table_attach( GTK_TABLE( table1 ),VBrightness,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + gtk_widget_set_usize( VBrightness,-1,45 ); + + VHueadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); + VHue=AddHScaler( VHueadj,NULL,1 ); + gtk_table_attach( GTK_TABLE( table1 ),VHue,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + gtk_widget_set_usize( VHue,-1,45 ); + + VSaturationadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); + VSaturation=AddHScaler( VSaturationadj,NULL,1 ); + gtk_table_attach( GTK_TABLE( table1 ),VSaturation,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + gtk_widget_set_usize( VSaturation,-1,45 ); + + gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),1 ), + AddLabel( MSGTR_EQU_Video,NULL ) ); + + AddHSeparator( vbox1 ); + + hbuttonbox1=AddHButtonBox( vbox1 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); + + Config=AddButton( MSGTR_Config,hbuttonbox1 ); + Clear=AddButton( MSGTR_Clear,hbuttonbox1 ); + Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); + + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( Equalizer ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Equalizer ); + gtk_signal_connect( GTK_OBJECT( Equalizer ),"focus_in_event",GTK_SIGNAL_FUNC( eqFocus ),(void *)2 ); + + gtk_signal_connect( GTK_OBJECT( ChannelsList ),"select_row",GTK_SIGNAL_FUNC( eqSelectChannelsListRow ),NULL ); + + gtk_signal_connect( GTK_OBJECT( A3125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)0 ); + gtk_signal_connect( GTK_OBJECT( A6250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( A125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)2 ); + gtk_signal_connect( GTK_OBJECT( A250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)3 ); + gtk_signal_connect( GTK_OBJECT( A500 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)4 ); + gtk_signal_connect( GTK_OBJECT( A1000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)5 ); + gtk_signal_connect( GTK_OBJECT( A2000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)6 ); + gtk_signal_connect( GTK_OBJECT( A4000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)7 ); + gtk_signal_connect( GTK_OBJECT( A8000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)8 ); + gtk_signal_connect( GTK_OBJECT( A16000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)9 ); + + gtk_signal_connect( GTK_OBJECT( VContrast ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( VBrightness ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)2 ); + gtk_signal_connect( GTK_OBJECT( VHue ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)3 ); + gtk_signal_connect( GTK_OBJECT( VSaturation ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void *)4 ); + + gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)0 ); + gtk_signal_connect( GTK_OBJECT( Clear ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)1 ); + gtk_signal_connect( GTK_OBJECT( Config ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)2 ); + + gtk_signal_connect( GTK_OBJECT( Notebook ),"switch_page",GTK_SIGNAL_FUNC( eqNotebook ),NULL ); + + gtk_window_add_accel_group( GTK_WINDOW( Equalizer ),accel_group ); + + return Equalizer; +} + +// --- equalizer config dialog box + +static GtkWidget * CBChannel1; +static GtkWidget * CEChannel1; +static GtkWidget * CBChannel2; +static GtkWidget * CEChannel2; +static GtkWidget * CBChannel3; +static GtkWidget * CEChannel3; +static GtkWidget * CBChannel4; +static GtkWidget * CEChannel4; +static GtkWidget * CBChannel5; +static GtkWidget * CEChannel5; +static GtkWidget * CBChannel6; +static GtkWidget * CEChannel6; +static GtkWidget * ecOk; +static GtkWidget * ecCancel; + +GtkWidget * create_EquConfig( void ); + +void ShowEquConfig( void ) +{ + GList * Items = NULL; + + if ( EquConfig ) gtkActive( EquConfig ); + else EquConfig=create_EquConfig(); + + Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Right ); + Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Left ); + Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Right ); + Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Left ); + Items=g_list_append( Items,(gpointer)MSGTR_EQU_Center ); + Items=g_list_append( Items,(gpointer)MSGTR_EQU_Bass ); + + gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel1 ),Items ); + gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel2 ),Items ); + gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel3 ),Items ); + gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel4 ),Items ); + gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel5 ),Items ); + gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel6 ),Items ); + + g_list_free( Items ); + + gtk_entry_set_text( GTK_ENTRY( CEChannel1 ),gtkEquChannel1 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel1 ),FALSE ); + gtk_entry_set_text( GTK_ENTRY( CEChannel2 ),gtkEquChannel2 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel2 ),FALSE ); + gtk_entry_set_text( GTK_ENTRY( CEChannel3 ),gtkEquChannel3 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel3 ),FALSE ); + gtk_entry_set_text( GTK_ENTRY( CEChannel4 ),gtkEquChannel4 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel4 ),FALSE ); + gtk_entry_set_text( GTK_ENTRY( CEChannel5 ),gtkEquChannel5 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel5 ),FALSE ); + gtk_entry_set_text( GTK_ENTRY( CEChannel6 ),gtkEquChannel6 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel6 ),FALSE ); + + gtk_widget_show( EquConfig ); + gtkSetLayer( EquConfig ); +} + +void HideEquConfig( void ) +{ + if ( !EquConfig ) return; + gtk_widget_hide( EquConfig ); + gtk_widget_destroy( EquConfig ); + EquConfig=NULL; +} + +static void ecButtonReleased( GtkButton * button,gpointer user_data ) +{ + if ( (int)user_data ) + { // if you pressed Ok + gfree( (void **)>kEquChannel1 ); gtkEquChannel1=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel1 ) ) ); + gfree( (void **)>kEquChannel2 ); gtkEquChannel2=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel2 ) ) ); + gfree( (void **)>kEquChannel3 ); gtkEquChannel3=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel3 ) ) ); + gfree( (void **)>kEquChannel4 ); gtkEquChannel4=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel4 ) ) ); + gfree( (void **)>kEquChannel5 ); gtkEquChannel5=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel5 ) ) ); + gfree( (void **)>kEquChannel6 ); gtkEquChannel6=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel6 ) ) ); + eqSetChannelNames(); + } + HideEquConfig(); +} + +GtkWidget * create_EquConfig( void ) +{ + GtkWidget * vbox1; + GtkWidget * table1; + GtkWidget * hbuttonbox1; + GtkAccelGroup * accel_group; + + accel_group=gtk_accel_group_new(); + + EquConfig=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( EquConfig,"EquConfig" ); + gtk_object_set_data( GTK_OBJECT( EquConfig ),"EquConfig",EquConfig ); + gtk_widget_set_usize( EquConfig,350,260 ); + GTK_WIDGET_SET_FLAGS( EquConfig,GTK_CAN_DEFAULT ); + gtk_window_set_title( GTK_WINDOW( EquConfig ),MSGTR_ConfigureEqualizer ); + gtk_window_set_position( GTK_WINDOW( EquConfig ),GTK_WIN_POS_CENTER ); +// gtk_window_set_modal( GTK_WINDOW( EquConfig ),TRUE ); + gtk_window_set_policy( GTK_WINDOW( EquConfig ),FALSE,FALSE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( EquConfig ),"EquConfig","MPlayer" ); + + gtk_widget_realize( EquConfig ); + gtkAddIcon( EquConfig ); + + vbox1=AddVBox( AddDialogFrame( EquConfig ),0 ); + + table1=gtk_table_new( 6,2,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_box_pack_start( GTK_BOX( vbox1 ),table1,TRUE,TRUE,0 ); + gtk_table_set_row_spacings( GTK_TABLE( table1 ),4 ); + gtk_table_set_col_spacings( GTK_TABLE( table1 ),4 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Channel1,NULL ), + 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Channel2,NULL ), + 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Channel3,NULL ), + 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Channel4,NULL ), + 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Channel5,NULL ), + 0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + gtk_table_attach( GTK_TABLE( table1 ), + AddLabel( MSGTR_EQU_Channel6,NULL ), + 0,1,5,6,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CBChannel1=AddComboBox( NULL ); + gtk_table_attach( GTK_TABLE( table1 ),CBChannel1,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CEChannel1=GTK_COMBO( CBChannel1 )->entry; + gtk_widget_set_name( CEChannel1,"CEChannel1" ); + gtk_widget_show( CEChannel1 ); + + CBChannel2=AddComboBox( NULL ); + gtk_table_attach( GTK_TABLE( table1 ),CBChannel2,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CEChannel2=GTK_COMBO( CBChannel2 )->entry; + gtk_widget_set_name( CEChannel2,"CEChannel2" ); + gtk_widget_show( CEChannel2 ); + + CBChannel3=AddComboBox( NULL ); + gtk_table_attach( GTK_TABLE( table1 ),CBChannel3,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CEChannel3=GTK_COMBO( CBChannel3 )->entry; + gtk_widget_set_name( CEChannel3,"CEChannel3" ); + gtk_widget_show( CEChannel3 ); + + CBChannel4=AddComboBox( NULL ); + gtk_table_attach( GTK_TABLE( table1 ),CBChannel4,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CEChannel4=GTK_COMBO( CBChannel4 )->entry; + gtk_widget_set_name( CEChannel4,"CEChannel4" ); + gtk_widget_show( CEChannel4 ); + + CBChannel5=AddComboBox( NULL ); + gtk_table_attach( GTK_TABLE( table1 ),CBChannel5,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CEChannel5=GTK_COMBO( CBChannel5 )->entry; + gtk_widget_set_name( CEChannel5,"CEChannel5" ); + gtk_widget_show( CEChannel5 ); + + CBChannel6=AddComboBox( NULL ); + gtk_table_attach( GTK_TABLE( table1 ),CBChannel6,1,2,5,6,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CEChannel6=GTK_COMBO( CBChannel6 )->entry; + gtk_widget_set_name( CEChannel6,"CEChannel6" ); + gtk_widget_show( CEChannel6 ); + + AddHSeparator( vbox1 ); + + hbuttonbox1=AddHButtonBox( vbox1 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); + + ecOk=AddButton( MSGTR_Ok,hbuttonbox1 ); + ecCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); + + gtk_widget_add_accelerator( ecOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( ecCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( EquConfig ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&EquConfig ); + + gtk_signal_connect( GTK_OBJECT( ecOk ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)1 ); + gtk_signal_connect( GTK_OBJECT( ecCancel ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)0 ); + + gtk_window_add_accel_group( GTK_WINDOW( EquConfig ),accel_group ); + + return EquConfig; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/eq.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/eq.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,29 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_EQ_H +#define MPLAYER_GUI_EQ_H + +#include + +extern GtkWidget * Equalizer; + +GtkWidget * create_Equalizer( void ); +void ShowEqualizer( void ); + +#endif /* MPLAYER_GUI_EQ_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/fs.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/fs.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,710 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "gui/mplayer/gmplayer.h" + +#include "gui/mplayer/pixmaps/up.xpm" +#include "gui/mplayer/pixmaps/dir.xpm" +#include "gui/mplayer/pixmaps/file.xpm" + +#include "gui/app.h" +#include "gui/interface.h" +#include "help_mp.h" +#include "mpcommon.h" +#include "stream/stream.h" + +#include "gui/mplayer/widgets.h" +#include "fs.h" +#include "opts.h" +#include "gtk_common.h" + +#ifndef __linux__ +#define get_current_dir_name() getcwd(NULL, PATH_MAX) +#else +char * get_current_dir_name( void ); +#endif + +gchar * fsSelectedFile = NULL; +gchar * fsSelectedFileUtf8 = NULL; +gchar * fsSelectedDirectory = NULL; +unsigned char * fsThatDir = "."; +const gchar * fsFilter = "*"; + +int fsType = 0; + +char * fsVideoFilterNames[][2] = + { + { "ASF files (*.asf)", "*.asf" }, + { "AVI files (*.avi)", "*.avi" }, + { "Autodesk animations (*.fli,*.flc)", "*.fli,*.flc" }, + { "DGStation Cuberevo recordings (*.trp)", "*.trp" }, + { "DiVX files (*.divx)", "*.divx" }, + { "MP3 files (*.mp3,*.mp2)", "*.mp3,*.mp2" }, + { "MPEG files (*.mpg,*.mpeg,*.m1v)", "*.mpg,*.mpeg,*.m1v" }, + { "Macromedia Flash Video (*.flv)", "*.flv" }, + { "Matroska Audio files (*.mka)", "*.mka" }, + { "Matroska Media files (*.mkv)", "*.mkv" }, + { "NuppelVideo files (*.nuv)", "*.nuv" }, + { "OGG Vorbis files (*.ogg)", "*.ogg" }, + { "OGG Media files (*.ogm)", "*.ogm" }, + { "QuickTime files (*.mov,*.qt,*.mp4)", "*.mov,*.qt,*.mp4" }, + { "RealVideo files (*.rm,*.rmvb)", "*.rm,*.rmvb" }, + { "Tivo files (*.ty)", "*.ty" }, + { "VCD/SVCD Images (*.bin)", "*.bin" }, + { "VIVO files (*.viv)", "*.viv" }, + { "VOB files (*.vob)", "*.vob" }, + { "Wave files (*.wav)", "*.wav" }, + { "Windows Media Audio (*.wma)", "*.wma" }, + { "Windows Media Video (*.wmv)", "*.wmv" }, + { "Audio files", "*.mp2,*.mp3,*.mka,*.ogg,*.wav,*.wma" }, + { "Video files", "*.asf,*.avi,*.fli,*.flc,*.trp,*.divx,*.mpg,*.mpeg,*.m1v,*.flv,*.mkv,*.nuv,*.ogm,*.mov,*.qt,*.mp4,*.rm,*.rmvb,*.ty,*.bin,*.viv,*.vob,*.wmv" }, + { "All files", "*" }, + { NULL,NULL } + }; +int fsLastVideoFilterSelected = -1; + +char * fsSubtitleFilterNames[][2] = + { + { "AQT (*.aqt)", "*.aqt" }, + { "ASS (*.ass)", "*.ass" }, + { "RT (*.rt) ", "*.rt" }, + { "SMI (*.smi)", "*.smi" }, + { "SRT (*.srt)", "*.srt" }, + { "SSA (*.ssa)", "*.ssa" }, + { "SUB (*.sub)", "*.sub" }, + { "TXT (*.txt)", "*.txt" }, + { "UTF (*.utf)", "*.utf" }, + { "Subtitles", "*.aqt,*.ass,*.rt,*.smi,*.srt,*.ssa,*.sub,*.txt,*.utf" }, + { "All files", "*" }, + { NULL,NULL } + }; +int fsLastSubtitleFilterSelected = -1; + +char * fsOtherFilterNames[][2] = + { + { "All files", "*" }, + { NULL,NULL } + }; + +char * fsAudioFileNames[][2] = + { + { "MP3 files (*.mp2, *.mp3)", "*.mp2,*.mp3" }, + { "Matroska Audio files (*.mka)", "*.mka" }, + { "OGG Vorbis files (*.ogg)", "*.ogg" }, + { "WAV files (*.wav)", "*.wav" }, + { "WMA files (*.wma)", "*.wma" }, + { "Audio files", "*.mp2,*.mp3,*.mka,*.ogg,*.wav,*.wma" }, + { "All files", "*" }, + { NULL, NULL } + }; +int fsLastAudioFilterSelected = -1; + +char * fsFontFileNames[][2] = + { +#ifdef CONFIG_FREETYPE + { "True Type fonts (*.ttf)", "*.ttf" }, + { "Type1 fonts (*.pfb)", "*.pfb" }, + { "All fonts", "*.ttf,*.pfb" }, +#else + { "Font files (*.desc)", "*.desc" }, +#endif + { "All files", "*" }, + { NULL,NULL } + }; +int fsLastFontFilterSelected = -1; + +GtkWidget * fsFileNamesList; +GtkWidget * fsFNameList; +GtkWidget * fsFileSelect = NULL; +GdkColormap * fsColorMap; +GtkWidget * fsOk; +GtkWidget * fsUp; +GtkWidget * fsCancel; +GtkWidget * fsCombo4; +GtkWidget * fsPathCombo; +GList * fsList_items = NULL; +GList * fsTopList_items = NULL; +GtkWidget * List; +GtkWidget * fsFilterCombo; + +GtkStyle * style; +GdkPixmap * dpixmap; +GdkPixmap * fpixmap; +GdkBitmap * dmask; +GdkBitmap * fmask; + +static char * get_current_dir_name_utf8( void ) +{ + char * dir, * utf8dir; + dir = get_current_dir_name(); + utf8dir = g_filename_to_utf8( dir, -1, NULL, NULL, NULL ); + if ( !utf8dir ) utf8dir = g_strdup( dir ); + free( dir ); + return utf8dir; +} + +static char * Filter( const char * name ) +{ + static char tmp[32]; + int i,c; + for ( i=0,c=0;i < strlen( name );i++ ) + { + if ( ( name[i] >='a' )&&( name[i] <= 'z' ) ) { tmp[c++]='['; tmp[c++]=name[i]; tmp[c++]=name[i] - 32; tmp[c++]=']'; } + else tmp[c++]=name[i]; + } + tmp[c]=0; + return tmp; +} + +static void clist_append_fname(GtkWidget * list, char *fname, + GdkPixmap *pixmap, GdkPixmap *mask) { + gint pos; + gchar *filename, *str[2]; + filename = g_filename_to_utf8(fname, -1, NULL, NULL, NULL); + str[0] = NULL; + str[1] = filename ? filename : fname; + pos = gtk_clist_append(GTK_CLIST(list), str); + gtk_clist_set_pixmap(GTK_CLIST(list), pos, 0, pixmap, mask); + g_free(filename); +} + +static void CheckDir( GtkWidget * list ) +{ + struct stat fs; + int i; + glob_t gg; + + if ( !fsFilter[0] ) return; + + gtk_widget_hide( list ); + gtk_clist_clear( GTK_CLIST( list ) ); + + clist_append_fname(list, ".", dpixmap, dmask); + clist_append_fname(list, "..", dpixmap, dmask); + + glob( "*",0,NULL,&gg ); + for( i=0;(unsigned)i= 0 ? k : i-2][0] ); + tmp=guiInfo.Filename; + break; + case fsSubtitleSelector: + gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_SubtitleSelect ); + fsList_items=NULL; + for( i=0;fsSubtitleFilterNames[i][0];i++ ) + fsList_items=g_list_append( fsList_items,fsSubtitleFilterNames[i][0] ); + k = fsLastSubtitleFilterSelected; + gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); + g_list_free( fsList_items ); + gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsSubtitleFilterNames[k >= 0 ? k : i-2][0] ); + tmp=guiInfo.Subtitlename; + break; + case fsOtherSelector: + gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_OtherSelect ); + fsList_items=NULL; + for( i=0;fsOtherFilterNames[i][0];i++ ) + fsList_items=g_list_append( fsList_items,fsOtherFilterNames[i][0] ); + gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); + g_list_free( fsList_items ); + gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsOtherFilterNames[0][0] ); + tmp=guiInfo.Othername; + break; + case fsAudioSelector: + gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_AudioFileSelect ); + fsList_items=NULL; + for( i=0;fsAudioFileNames[i][0];i++ ) + fsList_items=g_list_append( fsList_items,fsAudioFileNames[i][0] ); + k = fsLastAudioFilterSelected; + gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); + g_list_free( fsList_items ); + gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsAudioFileNames[k >= 0 ? k : i-2][0] ); + tmp=guiInfo.AudioFile; + break; + case fsFontSelector: + gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FontSelect ); + fsList_items=NULL; + for( i=0;fsFontFileNames[i][0];i++ ) + fsList_items=g_list_append( fsList_items,fsFontFileNames[i][0] ); + k = fsLastFontFilterSelected; + gtk_combo_set_popdown_strings( GTK_COMBO( List ),fsList_items ); + g_list_free( fsList_items ); + gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsFontFileNames[k >= 0 ? k : i-2][0] ); + tmp=font_name; + break; + } + + if ( tmp && tmp[0] ) + { + struct stat f; + char * dir = strdup( tmp ); + + do + { + char * c = strrchr( dir,'/' ); + stat( dir,&f ); + if ( S_ISDIR( f.st_mode ) ) break; + if ( c ) *c=0; + } while ( strrchr( dir,'/' ) ); + + if ( dir[0] ) chdir( dir ); + + free( dir ); + } + + if ( fsTopList_items ) g_list_free( fsTopList_items ); fsTopList_items=NULL; + { + int i, c = 1; + + if ( fsType == fsVideoSelector ) + { + for ( i=0;i < fsPersistant_MaxPos;i++ ) + if ( fsHistory[i] ) { fsTopList_items=g_list_append( fsTopList_items,fsHistory[i] ); c=0; } + } + if ( c ) fsTopList_items=g_list_append( fsTopList_items,(gchar *)get_current_dir_name_utf8() ); + } + if ( getenv( "HOME" ) ) fsTopList_items=g_list_append( fsTopList_items,getenv( "HOME" ) ); + fsTopList_items=g_list_append( fsTopList_items,"/home" ); + fsTopList_items=g_list_append( fsTopList_items,"/mnt" ); + fsTopList_items=g_list_append( fsTopList_items,"/" ); + gtk_combo_set_popdown_strings( GTK_COMBO( fsCombo4 ),fsTopList_items ); + + gtk_window_set_modal( GTK_WINDOW( fsFileSelect ),modal ); + + gtk_widget_show( fsFileSelect ); +} + +void HideFileSelect( void ) +{ + if ( !fsFileSelect ) return; + gtk_widget_hide( fsFileSelect ); + gtk_widget_destroy( fsFileSelect ); + fsFileSelect=NULL; +} + +static void fs_PersistantHistory( char * subject ) +{ + int i; + + if ( fsType != fsVideoSelector ) return; + + for ( i=0;i < fsPersistant_MaxPos;i++ ) + if ( fsHistory[i] && !strcmp( fsHistory[i],subject ) ) + { + char * tmp = fsHistory[i]; fsHistory[i]=fsHistory[0]; fsHistory[0]=tmp; + return; + } + gfree( (void **)&fsHistory[fsPersistant_MaxPos - 1] ); + for ( i=fsPersistant_MaxPos - 1;i;i-- ) fsHistory[i]=fsHistory[i - 1]; + fsHistory[0]=gstrdup( subject ); +} +//----------------------------------------------- + +static void fs_fsFilterCombo_activate( GtkEditable * editable, + gpointer user_data ) +{ + fsFilter=gtk_entry_get_text( GTK_ENTRY( user_data ) ); + CheckDir( fsFNameList ); +} + +static void fs_fsFilterCombo_changed( GtkEditable * editable, + gpointer user_data ) +{ + const char * str; + int i; + + str=gtk_entry_get_text( GTK_ENTRY(user_data ) ); + + switch ( fsType ) + { + case fsVideoSelector: + for( i=0;fsVideoFilterNames[i][0];i++ ) + if( !strcmp( str,fsVideoFilterNames[i][0] ) ) + { fsFilter=fsVideoFilterNames[i][1]; fsLastVideoFilterSelected = i; break; } + break; + case fsSubtitleSelector: + for( i=0;fsSubtitleFilterNames[i][0];i++ ) + if( !strcmp( str,fsSubtitleFilterNames[i][0] ) ) + { fsFilter=fsSubtitleFilterNames[i][1]; fsLastSubtitleFilterSelected = i; break; } + break; + case fsOtherSelector: + for( i=0;fsOtherFilterNames[i][0];i++ ) + if( !strcmp( str,fsOtherFilterNames[i][0] ) ) + { fsFilter=fsOtherFilterNames[i][1]; break; } + break; + case fsAudioSelector: + for( i=0;fsAudioFileNames[i][0];i++ ) + if( !strcmp( str,fsAudioFileNames[i][0] ) ) + { fsFilter=fsAudioFileNames[i][1]; fsLastAudioFilterSelected = i; break; } + break; + case fsFontSelector: + for( i=0;fsFontFileNames[i][0];i++ ) + if( !strcmp( str,fsFontFileNames[i][0] ) ) + { fsFilter=fsFontFileNames[i][1]; fsLastFontFilterSelected = i; break; } + break; + default: return; + } + CheckDir( fsFNameList ); +} + +static void fs_fsPathCombo_activate( GtkEditable * editable, + gpointer user_data ) +{ + const unsigned char * str; + gchar * dirname; + + str=gtk_entry_get_text( GTK_ENTRY( user_data ) ); + dirname = g_filename_from_utf8( str, -1, NULL, NULL, NULL ); + if ( chdir( dirname ? (const unsigned char *)dirname : str ) != -1 ) CheckDir( fsFNameList ); + g_free( dirname ); +} + +static void fs_fsPathCombo_changed( GtkEditable * editable, + gpointer user_data ) +{ + const unsigned char * str; + gchar * dirname; + + str=gtk_entry_get_text( GTK_ENTRY( user_data ) ); + dirname = g_filename_from_utf8( str, -1, NULL, NULL, NULL ); + if ( chdir( dirname ? (const unsigned char *)dirname : str ) != -1 ) CheckDir( fsFNameList ); + g_free( dirname ); +} + +static void fs_Up_released( GtkButton * button, gpointer user_data ) +{ + chdir( ".." ); + fsSelectedFile=fsThatDir; + CheckDir( fsFNameList ); + gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)get_current_dir_name_utf8() ); + return; +} + +static void fs_Ok_released( GtkButton * button, gpointer user_data ) +{ + GList * item; + int i = 1; + struct stat fs; + + stat( fsSelectedFile,&fs ); + if( S_ISDIR(fs.st_mode ) ) + { + chdir( fsSelectedFile ); + fsSelectedFile=fsThatDir; + CheckDir( fsFNameList ); + gtk_entry_set_text( GTK_ENTRY( fsPathCombo ),(unsigned char *)get_current_dir_name_utf8() ); + return; + } + + fsSelectedDirectory=(unsigned char *)get_current_dir_name(); + switch ( fsType ) + { + case fsVideoSelector: + guiSetDF( guiInfo.Filename,fsSelectedDirectory,fsSelectedFile ); + guiInfo.StreamType=STREAMTYPE_FILE; + guiInfo.FilenameChanged=1; sub_fps=0; + gfree( (void **)&guiInfo.AudioFile ); + gfree( (void **)&guiInfo.Subtitlename ); + fs_PersistantHistory( get_current_dir_name_utf8() ); //totem, write into history + break; + case fsSubtitleSelector: + guiSetDF( guiInfo.Subtitlename,fsSelectedDirectory,fsSelectedFile ); + guiLoadSubtitle( guiInfo.Subtitlename ); + break; + case fsOtherSelector: + guiSetDF( guiInfo.Othername,fsSelectedDirectory,fsSelectedFile ); + break; + case fsAudioSelector: + guiSetDF( guiInfo.AudioFile,fsSelectedDirectory,fsSelectedFile ); + break; + case fsFontSelector: + guiSetDF( font_name,fsSelectedDirectory,fsSelectedFile ); + guiLoadFont(); + if ( Preferences ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); + break; + } + + HideFileSelect(); + + item=fsTopList_items; + while( item ) + { + if ( !strcmp( item->data,fsSelectedDirectory ) ) i=0; + item=item->next; + } + if ( i ) fsTopList_items=g_list_prepend( fsTopList_items,(gchar *)get_current_dir_name_utf8() ); + if ( uiMainAutoPlay ) { uiMainAutoPlay=0; uiEventHandling( evPlay,0 ); } + else guiGetEvent( guiCEvent,guiSetStop ); +} + +static void fs_Cancel_released( GtkButton * button,gpointer user_data ) +{ + HideFileSelect(); + fs_PersistantHistory( get_current_dir_name_utf8() ); //totem, write into history file +} + +static void fs_fsFNameList_select_row( GtkWidget * widget, gint row, gint column, + GdkEventButton *bevent, gpointer user_data) +{ + gtk_clist_get_text( GTK_CLIST(widget ),row,1,&fsSelectedFile ); + g_free( fsSelectedFileUtf8 ); + fsSelectedFileUtf8 = g_filename_from_utf8( fsSelectedFile, -1, NULL, NULL, NULL ); + if ( fsSelectedFileUtf8 ) fsSelectedFile = fsSelectedFileUtf8; + if( bevent && bevent->type == GDK_BUTTON_PRESS ) gtk_button_released( GTK_BUTTON( fsOk ) ); +} + +static gboolean on_FileSelect_key_release_event( GtkWidget * widget, + GdkEventKey * event, + gpointer user_data ) +{ + switch ( event->keyval ) + { + case GDK_Escape: + gtk_button_released( GTK_BUTTON( fsCancel ) ); + break; + case GDK_Return: + gtk_button_released( GTK_BUTTON( fsOk ) ); + break; + case GDK_BackSpace: + gtk_button_released( GTK_BUTTON( fsUp ) ); + break; + } + return FALSE; +} + +static gboolean fs_fsFNameList_event( GtkWidget * widget, + GdkEvent * event, + gpointer user_data ) +{ + GdkEventButton *bevent; + gint row, col; + + (void) user_data; + + bevent = (GdkEventButton *) event; + + if ( event->type == GDK_BUTTON_RELEASE && bevent->button == 2 ) + { + if ( gtk_clist_get_selection_info( GTK_CLIST( widget ), bevent->x, bevent->y, &row, &col ) ) + { + gtk_clist_get_text( GTK_CLIST( widget ), row, 1, &fsSelectedFile ); + g_free( fsSelectedFileUtf8 ); + fsSelectedFileUtf8 = g_filename_from_utf8( fsSelectedFile, -1, NULL, NULL, NULL ); + if ( fsSelectedFileUtf8 ) fsSelectedFile = fsSelectedFileUtf8; + gtk_button_released( GTK_BUTTON( fsOk ) ); + return TRUE; + } + } + + return FALSE; +} + +static void fs_Destroy( void ) +{ + g_free( fsSelectedFileUtf8 ); + fsSelectedFileUtf8 = NULL; + WidgetDestroy( fsFileSelect, &fsFileSelect ); +} + +GtkWidget * create_FileSelect( void ) +{ + GtkWidget * vbox4; + GtkWidget * hbox4; + GtkWidget * vseparator1; + GtkWidget * hbox6; + GtkWidget * fsFNameListWindow; + GtkWidget * hbuttonbox3; + + GtkWidget * uppixmapwid; + GdkPixmap * uppixmap; + GdkBitmap * upmask; + GtkStyle * upstyle; + + + fsFileSelect=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( fsFileSelect,"fsFileSelect" ); + gtk_object_set_data( GTK_OBJECT( fsFileSelect ),"fsFileSelect",fsFileSelect ); + gtk_widget_set_usize( fsFileSelect,512,300 ); + GTK_WIDGET_SET_FLAGS( fsFileSelect,GTK_CAN_DEFAULT ); + gtk_widget_set_events( fsFileSelect,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); + gtk_window_set_title( GTK_WINDOW( fsFileSelect ),MSGTR_FileSelect ); + gtk_window_set_position( GTK_WINDOW( fsFileSelect ),GTK_WIN_POS_CENTER ); + gtk_window_set_policy( GTK_WINDOW( fsFileSelect ),TRUE,TRUE,TRUE ); + gtk_window_set_wmclass( GTK_WINDOW( fsFileSelect ),"FileSelect","MPlayer" ); + fsColorMap=gdk_colormap_get_system(); + + gtk_widget_realize( fsFileSelect ); + gtkAddIcon( fsFileSelect ); + + style=gtk_widget_get_style( fsFileSelect ); + dpixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&dmask,&style->bg[GTK_STATE_NORMAL],(gchar **)dir_xpm ); + fpixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&fmask,&style->bg[GTK_STATE_NORMAL],(gchar **)file_xpm ); + + vbox4=AddVBox( AddDialogFrame( fsFileSelect ),0 ); + hbox4=AddHBox( vbox4,1 ); + + fsCombo4=gtk_combo_new(); + gtk_widget_set_name( fsCombo4,"fsCombo4" ); + gtk_widget_show( fsCombo4 ); + gtk_box_pack_start( GTK_BOX( hbox4 ),fsCombo4,TRUE,TRUE,0 ); + gtk_widget_set_usize( fsCombo4,-2,20 ); + + fsPathCombo=GTK_COMBO( fsCombo4 )->entry; + gtk_widget_set_name( fsPathCombo,"fsPathCombo" ); + gtk_widget_show( fsPathCombo ); + gtk_widget_set_usize( fsPathCombo,-2,20 ); + + vseparator1=gtk_vseparator_new(); + gtk_widget_set_name( vseparator1,"vseparator1" ); + gtk_widget_show( vseparator1 ); + gtk_box_pack_start( GTK_BOX( hbox4 ),vseparator1,FALSE,TRUE,0 ); + gtk_widget_set_usize( vseparator1,7,20 ); + + upstyle=gtk_widget_get_style( fsFileSelect ); + uppixmap=gdk_pixmap_colormap_create_from_xpm_d( fsFileSelect->window,fsColorMap,&upmask,&upstyle->bg[GTK_STATE_NORMAL],(gchar **)up_xpm ); + uppixmapwid=gtk_pixmap_new( uppixmap,upmask ); + gtk_widget_show( uppixmapwid ); + + fsUp=gtk_button_new(); + gtk_container_add( GTK_CONTAINER(fsUp ),uppixmapwid ); + gtk_widget_show( fsUp ); + gtk_box_pack_start( GTK_BOX( hbox4 ),fsUp,FALSE,FALSE,0 ); + gtk_widget_set_usize( fsUp,65,15 ); + + AddHSeparator( vbox4 ); + + hbox6=AddHBox( NULL,0 ); + gtk_box_pack_start( GTK_BOX( vbox4 ),hbox6,TRUE,TRUE,0 ); + + fsFNameListWindow=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_set_name( fsFNameListWindow,"fsFNameListWindow" ); + gtk_widget_show( fsFNameListWindow ); + gtk_box_pack_start( GTK_BOX( hbox6 ),fsFNameListWindow,TRUE,TRUE,0 ); + gtk_widget_set_usize( fsFNameListWindow,-2,145 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( fsFNameListWindow ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); + + fsFNameList=gtk_clist_new( 2 ); + gtk_widget_set_name( fsFNameList,"fsFNameList" ); + gtk_container_add( GTK_CONTAINER( fsFNameListWindow ),fsFNameList ); + gtk_clist_set_column_width( GTK_CLIST( fsFNameList ),0,80 ); + gtk_clist_set_selection_mode( GTK_CLIST( fsFNameList ),GTK_SELECTION_BROWSE ); + gtk_clist_column_titles_hide( GTK_CLIST( fsFNameList ) ); + gtk_clist_set_shadow_type( GTK_CLIST( fsFNameList ),GTK_SHADOW_ETCHED_OUT ); + + AddHSeparator( vbox4 ); + + List=gtk_combo_new(); + gtk_widget_set_name( List,"List" ); + gtk_widget_ref( List ); + gtk_object_set_data_full( GTK_OBJECT( fsFileSelect ),"List",List,(GtkDestroyNotify)gtk_widget_unref ); + gtk_widget_show( List ); + gtk_box_pack_start( GTK_BOX( vbox4 ),List,FALSE,FALSE,0 ); + gtk_widget_set_usize( List,-2,20 ); + + fsFilterCombo=GTK_COMBO( List )->entry; + gtk_widget_set_name( fsFilterCombo,"fsFilterCombo" ); + gtk_widget_show( fsFilterCombo ); + gtk_entry_set_editable (GTK_ENTRY( fsFilterCombo ),FALSE ); + + AddHSeparator( vbox4 ); + + hbuttonbox3=AddHButtonBox( vbox4 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox3 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox3 ),10 ); + + fsOk=AddButton( MSGTR_Ok,hbuttonbox3 ); + fsCancel=AddButton( MSGTR_Cancel,hbuttonbox3 ); + + gtk_signal_connect( GTK_OBJECT( fsFileSelect ),"destroy",GTK_SIGNAL_FUNC( fs_Destroy ), NULL ); + gtk_signal_connect( GTK_OBJECT( fsFileSelect ),"key_release_event",GTK_SIGNAL_FUNC( on_FileSelect_key_release_event ),NULL ); + + gtk_signal_connect( GTK_OBJECT( fsFilterCombo ),"changed",GTK_SIGNAL_FUNC( fs_fsFilterCombo_changed ),fsFilterCombo ); + gtk_signal_connect( GTK_OBJECT( fsFilterCombo ),"activate",GTK_SIGNAL_FUNC( fs_fsFilterCombo_activate ),fsFilterCombo ); + gtk_signal_connect( GTK_OBJECT( fsPathCombo ),"changed",GTK_SIGNAL_FUNC( fs_fsPathCombo_changed ),fsPathCombo ); + gtk_signal_connect( GTK_OBJECT( fsPathCombo ),"activate",GTK_SIGNAL_FUNC( fs_fsPathCombo_activate ),fsPathCombo ); + gtk_signal_connect( GTK_OBJECT( fsUp ),"released",GTK_SIGNAL_FUNC( fs_Up_released ),fsFNameList ); + gtk_signal_connect( GTK_OBJECT( fsOk ),"released",GTK_SIGNAL_FUNC( fs_Ok_released ),fsCombo4 ); + gtk_signal_connect( GTK_OBJECT( fsCancel ),"released",GTK_SIGNAL_FUNC( fs_Cancel_released ),NULL ); + gtk_signal_connect( GTK_OBJECT( fsFNameList ),"select_row",(GtkSignalFunc)fs_fsFNameList_select_row,NULL ); + gtk_signal_connect( GTK_OBJECT( fsFNameList ),"event", (GtkSignalFunc)fs_fsFNameList_event,NULL ); + + gtk_widget_grab_focus( fsFNameList ); + + return fsFileSelect; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/fs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/fs.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,39 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_FS_H +#define MPLAYER_GUI_FS_H + +#include + +#define fsVideoSelector 0 +#define fsSubtitleSelector 1 +#define fsOtherSelector 2 +#define fsAudioSelector 3 +#define fsFontSelector 4 + +#include + +extern GtkWidget * fsFileSelect; + +void HideFileSelect( void ); +void ShowFileSelect( int type, int modal ); + +GtkWidget * create_FileSelect( void ); + +#endif /* MPLAYER_GUI_FS_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/gtk_common.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/gtk_common.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,197 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include + +#include "gtk_common.h" + +void WidgetDestroy( GtkWidget * widget,GtkWidget ** widget_pointer ) +{ + if ( !widget_pointer ) return; + gtk_widget_hide( *widget_pointer ); + gtk_widget_destroy( *widget_pointer ); + *widget_pointer=NULL; +} + +GtkWidget * AddDialogFrame( GtkWidget * parent ) +{ + GtkWidget * frame; + frame=AddFrame( NULL,GTK_SHADOW_IN,parent,1 ); + gtk_container_set_border_width( GTK_CONTAINER( frame ),1 ); + frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); + frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,frame,1 ); + frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); + return frame; +} + +GtkWidget * AddFrame( const char * title,int type,GtkWidget * parent,int add ) +{ + GtkWidget * frame = NULL; + frame=gtk_frame_new( title ); + gtk_widget_set_name( frame,"frame" ); + gtk_widget_show( frame ); + gtk_frame_set_shadow_type( GTK_FRAME( frame ),type ); + if ( !parent ) return frame; + if ( add ) gtk_container_add( GTK_CONTAINER( parent ),frame ); + else gtk_box_pack_start( GTK_BOX( parent ),frame,FALSE,FALSE,0 ); + return frame; +} + +GtkWidget * AddLabel( const char * title,GtkWidget * parent ) +{ + GtkWidget * label; + label=gtk_label_new( title ); + gtk_widget_set_name( label,"label" ); + gtk_widget_show( label ); + if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),label,FALSE,FALSE,0 ); + gtk_misc_set_alignment( GTK_MISC( label ),0,0.5 ); + gtk_misc_set_padding( GTK_MISC( label ),4,0 ); + return label; +} + +GtkWidget * AddVBox( GtkWidget * parent,int type ) +{ + GtkWidget * vbox; + vbox=gtk_vbox_new( FALSE,0 ); + gtk_widget_set_name( vbox,"vbox" ); + gtk_widget_show( vbox ); + if ( parent ) + { + if ( type ) gtk_box_pack_start( GTK_BOX( parent ),vbox,FALSE,FALSE,0 ); + else gtk_container_add( GTK_CONTAINER( parent ),vbox ); + } + return vbox; +} + +GtkWidget * AddHBox( GtkWidget * parent,int type ) +{ + GtkWidget * hbox; + hbox=gtk_hbox_new( FALSE,0 ); + gtk_widget_set_name( hbox,"hbox" ); + gtk_widget_show( hbox ); + if ( parent ) + { + if ( type ) gtk_box_pack_start( GTK_BOX( parent ),hbox,FALSE,FALSE,0 ); + else gtk_container_add( GTK_CONTAINER( parent ),hbox ); + } + return hbox; +} + +GtkWidget * AddCheckButton( const char * title, GtkWidget * parent ) +{ + GtkWidget * CB; + CB=gtk_check_button_new_with_label( title ); + gtk_widget_set_name( CB,"CB" ); + gtk_widget_show( CB ); + gtk_box_pack_start( GTK_BOX( parent ),CB,FALSE,FALSE,0 ); + return CB; +} + +GtkWidget * AddRadioButton( const char * title,GSList ** group,GtkWidget * parent ) +{ + GtkWidget * RB; + RB=gtk_radio_button_new_with_label( *group,title ); + *group=gtk_radio_button_group( GTK_RADIO_BUTTON( RB ) ); + gtk_widget_set_name( RB,"RB" ); + gtk_widget_show( RB ); + gtk_box_pack_start( GTK_BOX( parent ),RB,FALSE,FALSE,0 ); + return RB; +} + +GtkWidget * AddSpinButton( const char * title,GtkAdjustment * adj,GtkWidget * parent ) +{ + GtkWidget * SB; + GtkWidget * label; + label=gtk_label_new( title ); + gtk_misc_set_alignment( GTK_MISC( label ),0,0.5 ); + gtk_box_pack_start( GTK_BOX( parent ),label,FALSE,FALSE,0 ); + gtk_widget_show( label ); + SB=gtk_spin_button_new( adj,0,0 ); + gtk_widget_set_name( SB,"SB" ); + gtk_box_pack_start( GTK_BOX( parent ),SB,FALSE,FALSE,0 ); + gtk_widget_show( SB ); + return SB; +} + +GtkWidget * AddButton( const char * title,GtkWidget * parent ) +{ + GtkWidget * B; + B=gtk_button_new_with_label( title ); + gtk_widget_set_name( B,"B" ); + gtk_widget_show( B ); + gtk_container_add( GTK_CONTAINER( parent ),B ); + return B; +} + +GtkWidget * AddHSeparator( GtkWidget * parent ) +{ + GtkWidget * hseparator; + hseparator=gtk_hseparator_new(); + gtk_widget_set_name( hseparator,"hseparator1" ); + gtk_widget_show( hseparator ); + gtk_box_pack_start( GTK_BOX( parent ),hseparator,FALSE,FALSE,0 ); + gtk_widget_set_usize( hseparator,-2,6 ); + return hseparator; +} + +GtkWidget * AddHButtonBox( GtkWidget * parent ) +{ + GtkWidget * hbuttonbox; + hbuttonbox=gtk_hbutton_box_new(); + gtk_widget_set_name( hbuttonbox,"hbuttonbox" ); + gtk_widget_show( hbuttonbox ); + gtk_box_pack_start( GTK_BOX( parent ),hbuttonbox,FALSE,FALSE,0 ); + gtk_button_box_set_child_size( GTK_BUTTON_BOX( hbuttonbox ),85,20 ); + return hbuttonbox; +} + +GtkWidget * AddHScaler( GtkAdjustment * adj,GtkWidget * parent,int digit ) +{ + GtkWidget * HS; + HS=gtk_hscale_new( adj ); + gtk_widget_set_name( HS,"HS" ); + gtk_widget_show( HS ); + if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),HS,TRUE,TRUE,0 ); + gtk_scale_set_value_pos( GTK_SCALE( HS ),GTK_POS_RIGHT ); + gtk_scale_set_digits( GTK_SCALE( HS ),digit ); + return HS; +} + +GtkWidget * AddVScaler( GtkAdjustment * adj,GtkWidget * parent,int digit ) +{ + GtkWidget * VS; + VS=gtk_vscale_new( adj ); + gtk_widget_set_name( VS,"VS" ); + gtk_widget_show( VS ); + if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),VS,TRUE,TRUE,0 ); +// gtk_scale_set_value_pos( GTK_SCALE( VS ),GTK_POS_RIGHT ); + if ( digit == -1 ) gtk_scale_set_draw_value( GTK_SCALE( VS ),FALSE ); + else gtk_scale_set_digits( GTK_SCALE( VS ),digit ); + return VS; +} + +GtkWidget * AddComboBox( GtkWidget * parent ) +{ + GtkWidget * CB; + CB=gtk_combo_new(); + gtk_widget_set_name( CB,"CB" ); + gtk_widget_show( CB ); + if ( parent ) gtk_box_pack_start( GTK_BOX( parent ),CB,TRUE,TRUE,0 ); + return CB; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/gtk_common.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/gtk_common.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,41 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_GTK_COMMON_H +#define MPLAYER_GUI_GTK_COMMON_H + +#include +#include + +GtkWidget * AddDialogFrame( GtkWidget * parent ); +GtkWidget * AddFrame( const char * title, int type, GtkWidget * parent, int add ); +GtkWidget * AddLabel( const char * title, GtkWidget * parent ); +GtkWidget * AddVBox( GtkWidget * parent, int type ); +GtkWidget * AddHBox( GtkWidget * parent, int type ); +GtkWidget * AddCheckButton( const char * title, GtkWidget * parent ); +GtkWidget * AddRadioButton( const char * title, GSList ** group, GtkWidget * parent ); +GtkWidget * AddSpinButton( const char * title, GtkAdjustment * adj, GtkWidget * parent ); +GtkWidget * AddButton( const char * title, GtkWidget * parent ); +GtkWidget * AddHSeparator( GtkWidget * parent ); +GtkWidget * AddHButtonBox( GtkWidget * parent ); +GtkWidget * AddHScaler( GtkAdjustment * adj, GtkWidget * parent, int digit ); +GtkWidget * AddVScaler( GtkAdjustment * adj, GtkWidget * parent, int digit ); +GtkWidget * AddComboBox( GtkWidget * parent ); +void WidgetDestroy( GtkWidget * widget, GtkWidget ** widget_pointer ); + +#endif /* MPLAYER_GUI_GTK_COMMON_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/gtk_menu.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/gtk_menu.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,647 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include + +#include "config.h" +#include "help_mp.h" +#include "access_mpcontext.h" +#include "mixer.h" +#include "mpcommon.h" + +#include "gtk_menu.h" +#include "gui/mplayer/widgets.h" +#include "gui/mplayer/gmplayer.h" +#include "gui/app.h" + +#include "stream/stream.h" +#include "libmpdemux/demuxer.h" +#include "libmpdemux/stheader.h" +#include "libavutil/avstring.h" + +#include "gui/mplayer/pixmaps/ab.xpm" +#include "gui/mplayer/pixmaps/half.xpm" +#include "gui/mplayer/pixmaps/normal.xpm" +#include "gui/mplayer/pixmaps/double.xpm" +#include "gui/mplayer/pixmaps/fs.xpm" +#include "gui/mplayer/pixmaps/exit.xpm" +#include "gui/mplayer/pixmaps/prefs.xpm" +#include "gui/mplayer/pixmaps/eq.xpm" +#include "gui/mplayer/pixmaps/pl.xpm" +#include "gui/mplayer/pixmaps/skin.xpm" +#include "gui/mplayer/pixmaps/sound.xpm" +#include "gui/mplayer/pixmaps/open.xpm" +#include "gui/mplayer/pixmaps/play.xpm" +#include "gui/mplayer/pixmaps/stop2.xpm" +#include "gui/mplayer/pixmaps/pause.xpm" +#include "gui/mplayer/pixmaps/prev.xpm" +#include "gui/mplayer/pixmaps/next.xpm" +#include "gui/mplayer/pixmaps/aspect.xpm" +#include "gui/mplayer/pixmaps/a11.xpm" +#include "gui/mplayer/pixmaps/a169.xpm" +#include "gui/mplayer/pixmaps/a235.xpm" +#include "gui/mplayer/pixmaps/a43.xpm" +#include "gui/mplayer/pixmaps/file2.xpm" +#include "gui/mplayer/pixmaps/url.xpm" +#include "gui/mplayer/pixmaps/sub.xpm" +#include "gui/mplayer/pixmaps/delsub.xpm" +#include "gui/mplayer/pixmaps/empty.xpm" +#include "gui/mplayer/pixmaps/loadeaf.xpm" +#include "gui/mplayer/pixmaps/title.xpm" +#ifdef CONFIG_DVDREAD +#include "gui/mplayer/pixmaps/dvd.xpm" +#include "gui/mplayer/pixmaps/playdvd.xpm" +#include "gui/mplayer/pixmaps/chapter.xpm" +#include "gui/mplayer/pixmaps/dolby.xpm" +#include "gui/mplayer/pixmaps/tongue.xpm" +#include "gui/mplayer/pixmaps/tonguebla.xpm" +#include "gui/mplayer/pixmaps/empty1px.xpm" +#endif +#ifdef CONFIG_VCD +#include "gui/mplayer/pixmaps/vcd.xpm" +#include "gui/mplayer/pixmaps/playvcd.xpm" +#endif + +static void ActivateMenuItem( int Item ) +{ +// fprintf( stderr,"[menu] item: %d.%d\n",Item&0xffff,Item>>16 ); + gtkPopupMenu=Item & 0x0000ffff; + gtkPopupMenuParam=Item >> 16; + uiEventHandling( Item & 0x0000ffff,Item >> 16 ); +} + +static GtkWidget * AddMenuCheckItem(GtkWidget *window1, const char * immagine_xpm, GtkWidget* Menu,const char* label, gboolean state, int Number) +{ + GtkWidget * Label = NULL; + GtkWidget * Pixmap = NULL; + GtkWidget * hbox = NULL; + GtkWidget * Item = NULL; + + GdkPixmap *PixmapIcon = NULL; + GdkColor transparent; + GdkBitmap *MaskIcon = NULL; + + PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm ); + Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon); + gdk_pixmap_unref (PixmapIcon); + + Item=gtk_check_menu_item_new(); + Label = gtk_label_new (label); + + hbox = gtk_hbox_new (FALSE, 8); + gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (Item), hbox); + + gtk_menu_append( GTK_MENU( Menu ),Item ); + + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Item),state); + gtk_signal_connect_object( GTK_OBJECT(Item),"activate", + GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number ); + gtk_menu_item_right_justify (GTK_MENU_ITEM (Item)); + gtk_widget_show_all(Item); + + return Item; +} +GtkWidget * AddMenuItem( GtkWidget *window1, const char * immagine_xpm, GtkWidget * SubMenu,const char * label,int Number ) +{ + GtkWidget * Label = NULL; + GtkWidget * Pixmap = NULL; + GtkWidget * hbox = NULL; + GtkWidget * Item = NULL; + GdkPixmap * PixmapIcon = NULL; + GdkColor transparent; + GdkBitmap * MaskIcon = NULL; + + PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm ); + Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon); + gdk_pixmap_unref (PixmapIcon); + + Item=gtk_menu_item_new(); + Label = gtk_label_new (label); + + hbox = gtk_hbox_new (FALSE, 8); + gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (Item), hbox); + + + gtk_menu_append( GTK_MENU( SubMenu ),Item ); + gtk_signal_connect_object( GTK_OBJECT(Item),"activate", + GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number ); + + gtk_menu_item_right_justify (GTK_MENU_ITEM (Item)); + gtk_widget_show_all(Item); + return Item; +} + + +GtkWidget * AddSubMenu( GtkWidget *window1, const char * immagine_xpm, GtkWidget * Menu,const char * label ) +{ + GtkWidget * Label = NULL; + GtkWidget * Pixmap = NULL; + GtkWidget * hbox = NULL; + GtkWidget * Item = NULL; + GtkWidget * SubItem = NULL; + GdkPixmap * PixmapIcon = NULL; + GdkColor transparent; + GdkBitmap * MaskIcon = NULL; + + PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm); + Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon); + gdk_pixmap_unref (PixmapIcon); + + SubItem=gtk_menu_item_new(); + Item=gtk_menu_new(); + Label = gtk_label_new (label); + + hbox = gtk_hbox_new (FALSE, 8); + gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (SubItem), hbox); + + gtk_menu_append( GTK_MENU( Menu ),SubItem ); + gtk_menu_item_set_submenu( GTK_MENU_ITEM( SubItem ),Item ); + + gtk_widget_show_all( SubItem ); + return Item; +} + +GtkWidget * AddSeparator( GtkWidget * Menu ) +{ + GtkWidget * Item = NULL; + + Item=gtk_menu_item_new (); + gtk_widget_show( Item ); + gtk_container_add( GTK_CONTAINER( Menu ),Item ); + gtk_widget_set_sensitive( Item,FALSE ); + + return Item; +} + +typedef struct +{ + int id; + const char * name; +} Languages_t; + +#define lng( a,b ) ( (int)(a) * 256 + b ) +static Languages_t Languages[] = + { + { lng( 'a','b' ), "Abkhazian" }, + { lng( 'a','a' ), "Afar" }, + { lng( 'a','f' ), "Afrikaans" }, + { lng( 's','q' ), "Albanian" }, + { lng( 'a','m' ), "Amharic" }, + { lng( 'a','r' ), "Arabic" }, + { lng( 'h','y' ), "Armenian" }, + { lng( 'a','s' ), "Assamese" }, + { lng( 'a','e' ), "Avestan" }, + { lng( 'a','y' ), "Aymara" }, + { lng( 'a','z' ), "Azerbaijani" }, + { lng( 'b','a' ), "Bashkir" }, + { lng( 'e','u' ), "Basque" }, + { lng( 'b','e' ), "Belarusian" }, + { lng( 'b','n' ), "Bengali" }, + { lng( 'b','h' ), "Bihari" }, + { lng( 'b','i' ), "Bislama" }, + { lng( 'b','s' ), "Bosnian" }, + { lng( 'b','r' ), "Breton" }, + { lng( 'b','g' ), "Bulgarian" }, + { lng( 'm','y' ), "Burmese" }, + { lng( 'c','a' ), "Catalan" }, + { lng( 'c','h' ), "Chamorro" }, + { lng( 'c','e' ), "Chechen" }, + { lng( 'n','y' ), "Chichewa;Nyanja" }, + { lng( 'z','h' ), "Chinese" }, + { lng( 'c','u' ), "ChurchSlavic" }, + { lng( 'c','v' ), "Chuvash" }, + { lng( 'k','w' ), "Cornish" }, + { lng( 'c','o' ), "Corsican" }, + { lng( 'h','r' ), "Croatian" }, + { lng( 'c','s' ), "Czech" }, + { lng( 'd','a' ), "Danish" }, + { lng( 'n','l' ), "Dutch" }, + { lng( 'd','z' ), "Dzongkha" }, + { lng( 'e','n' ), "English" }, + { lng( 'e','o' ), "Esperanto" }, + { lng( 'e','t' ), "Estonian" }, + { lng( 'f','o' ), "Faroese" }, + { lng( 'f','j' ), "Fijian" }, + { lng( 'f','i' ), "Finnish" }, + { lng( 'f','r' ), "French" }, + { lng( 'f','y' ), "Frisian" }, + { lng( 'g','d' ), "Gaelic(Scots" }, + { lng( 'g','l' ), "Gallegan" }, + { lng( 'k','a' ), "Georgian" }, + { lng( 'd','e' ), "German" }, + { lng( 'e','l' ), "Greek" }, + { lng( 'g','n' ), "Guarani" }, + { lng( 'g','u' ), "Gujarati" }, + { lng( 'h','a' ), "Hausa" }, + { lng( 'h','e' ), "Hebrew" }, + { lng( 'i','w' ), "Hebrew" }, + { lng( 'h','z' ), "Herero" }, + { lng( 'h','i' ), "Hindi" }, + { lng( 'h','o' ), "HiriMotu" }, + { lng( 'h','u' ), "Hungarian" }, + { lng( 'i','s' ), "Icelandic" }, + { lng( 'i','d' ), "Indonesian" }, + { lng( 'i','n' ), "Indonesian" }, + { lng( 'i','a' ), "Interlingua" }, + { lng( 'i','e' ), "Interlingue" }, + { lng( 'i','u' ), "Inuktitut" }, + { lng( 'i','k' ), "Inupiaq" }, + { lng( 'g','a' ), "Irish" }, + { lng( 'i','t' ), "Italian" }, + { lng( 'j','a' ), "Japanese" }, + { lng( 'j','v' ), "Javanese" }, + { lng( 'j','w' ), "Javanese" }, + { lng( 'k','l' ), "Kalaallisut" }, + { lng( 'k','n' ), "Kannada" }, + { lng( 'k','s' ), "Kashmiri" }, + { lng( 'k','k' ), "Kazakh" }, + { lng( 'k','m' ), "Khmer" }, + { lng( 'k','i' ), "Kikuyu" }, + { lng( 'r','w' ), "Kinyarwanda" }, + { lng( 'k','y' ), "Kirghiz" }, + { lng( 'k','v' ), "Komi" }, + { lng( 'k','o' ), "Korean" }, + { lng( 'k','j' ), "Kuanyama" }, + { lng( 'k','u' ), "Kurdish" }, + { lng( 'l','o' ), "Lao" }, + { lng( 'l','a' ), "Latin" }, + { lng( 'l','v' ), "Latvian" }, + { lng( 'l','b' ), "Letzeburgesch" }, + { lng( 'l','n' ), "Lingala" }, + { lng( 'l','t' ), "Lithuanian" }, + { lng( 'm','k' ), "Macedonian" }, + { lng( 'm','g' ), "Malagasy" }, + { lng( 'm','s' ), "Malay" }, + { lng( 'm','l' ), "Malayalam" }, + { lng( 'm','t' ), "Maltese" }, + { lng( 'g','v' ), "Manx" }, + { lng( 'm','i' ), "Maori" }, + { lng( 'm','r' ), "Marathi" }, + { lng( 'm','h' ), "Marshall" }, + { lng( 'm','o' ), "Moldavian" }, + { lng( 'm','n' ), "Mongolian" }, + { lng( 'n','a' ), "Nauru" }, + { lng( 'n','v' ), "Navajo" }, + { lng( 'n','d' ), "North Ndebele" }, + { lng( 'n','r' ), "South Ndebele" }, + { lng( 'n','g' ), "Ndonga" }, + { lng( 'n','e' ), "Nepali" }, + { lng( 's','e' ), "NorthernSami" }, + { lng( 'n','o' ), "Norwegian" }, + { lng( 'n','b' ), "NorwegianBokmål" }, + { lng( 'n','n' ), "NorwegianNynorsk" }, + { lng( 'n','y' ), "Nyanja;Chichewa" }, + { lng( 'o','c' ), "Occitan(post1500;Provençal" }, + { lng( 'o','r' ), "Oriya" }, + { lng( 'o','m' ), "Oromo" }, + { lng( 'o','s' ), "Ossetian;Ossetic" }, + { lng( 'p','i' ), "Pali" }, + { lng( 'p','a' ), "Panjabi" }, + { lng( 'f','a' ), "Persian" }, + { lng( 'p','l' ), "Polish" }, + { lng( 'p','t' ), "Portuguese" }, + { lng( 'o','c' ), "Provençal;Occitan(post1500" }, + { lng( 'p','s' ), "Pushto" }, + { lng( 'q','u' ), "Quechua" }, + { lng( 'r','m' ), "Raeto-Romance" }, + { lng( 'r','o' ), "Romanian" }, + { lng( 'r','n' ), "Rundi" }, + { lng( 'r','u' ), "Russian" }, + { lng( 's','m' ), "Samoan" }, + { lng( 's','g' ), "Sango" }, + { lng( 's','a' ), "Sanskrit" }, + { lng( 's','c' ), "Sardinian" }, + { lng( 's','r' ), "Serbian" }, + { lng( 's','n' ), "Shona" }, + { lng( 's','d' ), "Sindhi" }, + { lng( 's','i' ), "Sinhalese" }, + { lng( 's','k' ), "Slovak" }, + { lng( 's','l' ), "Slovenian" }, + { lng( 's','o' ), "Somali" }, + { lng( 's','t' ), "Sotho" }, + { lng( 'e','s' ), "Spanish" }, + { lng( 's','u' ), "Sundanese" }, + { lng( 's','w' ), "Swahili" }, + { lng( 's','s' ), "Swati" }, + { lng( 's','v' ), "Swedish" }, + { lng( 't','l' ), "Tagalog" }, + { lng( 't','y' ), "Tahitian" }, + { lng( 't','g' ), "Tajik" }, + { lng( 't','a' ), "Tamil" }, + { lng( 't','t' ), "Tatar" }, + { lng( 't','e' ), "Telugu" }, + { lng( 't','h' ), "Thai" }, + { lng( 'b','o' ), "Tibetan" }, + { lng( 't','i' ), "Tigrinya" }, + { lng( 't','o' ), "Tonga" }, + { lng( 't','s' ), "Tsonga" }, + { lng( 't','n' ), "Tswana" }, + { lng( 't','r' ), "Turkish" }, + { lng( 't','k' ), "Turkmen" }, + { lng( 't','w' ), "Twi" }, + { lng( 'u','g' ), "Uighur" }, + { lng( 'u','k' ), "Ukrainian" }, + { lng( 'u','r' ), "Urdu" }, + { lng( 'u','z' ), "Uzbek" }, + { lng( 'v','i' ), "Vietnamese" }, + { lng( 'v','o' ), "Volapük" }, + { lng( 'c','y' ), "Welsh" }, + { lng( 'w','o' ), "Wolof" }, + { lng( 'x','h' ), "Xhosa" }, + { lng( 'y','i' ), "Yiddish" }, + { lng( 'j','i' ), "Yiddish" }, + { lng( 'y','o' ), "Yoruba" }, + { lng( 'z','a' ), "Zhuang" }, + { lng( 'z','u' ), "Zulu" }, + }; +#undef lng + +#ifdef CONFIG_DVDREAD +static char * ChannelTypes[] = + { "Dolby Digital","","Mpeg1","Mpeg2","PCM","","Digital Theatre System" }; +static char * ChannelNumbers[] = + { "","Stereo","","","","5.1" }; +#endif + +static const char * GetLanguage( int language ) +{ + unsigned int i; + for ( i=0;iaudio->id : audio_id; + for ( i=0;i < guiInfo.DVD.nr_of_audio_channels;i++ ) + { + snprintf( tmp,64,"%s - %s %s",GetLanguage( guiInfo.DVD.audio_streams[i].language ), + ChannelTypes[ guiInfo.DVD.audio_streams[i].type ], + ChannelNumbers[ guiInfo.DVD.audio_streams[i].channels ] ); +// if ( id == -1 ) id=audio_id; //guiInfo.DVD.audio_streams[i].id; + AddMenuCheckItem( window1, (const char*)dolby_xpm, DVDAudioLanguageMenu,tmp, + id == guiInfo.DVD.audio_streams[i].id, + ( guiInfo.DVD.audio_streams[i].id << 16 ) + evSetDVDAudio ); + } + } + else + { + MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDAudioLanguageMenu,MSGTR_MENU_None,evNone ); + gtk_widget_set_sensitive( MenuItem,FALSE ); + } + DVDSubtitleLanguageMenu=AddSubMenu( window1, (const char*)tonguebla_xpm, DVDSubMenu,MSGTR_MENU_SubtitleLanguages ); + if ( guiInfo.DVD.nr_of_subtitles ) + { + char tmp[64]; int i; + AddMenuItem( window1, (const char*)empty1px_xpm, DVDSubtitleLanguageMenu,MSGTR_MENU_None,( (unsigned short)-1 << 16 ) + evSetDVDSubtitle ); + for ( i=0;i < guiInfo.DVD.nr_of_subtitles;i++ ) + { + av_strlcpy( tmp,GetLanguage( guiInfo.DVD.subtitles[i].language ),sizeof(tmp) ); + AddMenuCheckItem( window1, (const char*)empty1px_xpm, DVDSubtitleLanguageMenu,tmp, + dvdsub_id == guiInfo.DVD.subtitles[i].id, + ( guiInfo.DVD.subtitles[i].id << 16 ) + evSetDVDSubtitle ); + } + } + else + { + MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDSubtitleLanguageMenu,MSGTR_MENU_None,evNone ); + gtk_widget_set_sensitive( MenuItem,FALSE ); + } +#endif + +// if ( guiInfo.Playing ) + { + AspectMenu=AddSubMenu( window1, (const char*)aspect_xpm, Menu,MSGTR_MENU_AspectRatio ); + AddMenuItem( window1, (const char*)a11_xpm, AspectMenu,MSGTR_MENU_Original,( 1 << 16 ) + evSetAspect ); + AddMenuItem( window1, (const char*)a169_xpm, AspectMenu,"16:9",( 2 << 16 ) + evSetAspect ); + AddMenuItem( window1, (const char*)a43_xpm, AspectMenu,"4:3",( 3 << 16 ) + evSetAspect ); + AddMenuItem( window1, (const char*)a235_xpm, AspectMenu,"2.35",( 4 << 16 ) + evSetAspect ); + } + + if ( guiInfo.Playing && guiInfo.demuxer && guiInfo.StreamType != STREAMTYPE_DVD ) + { + int i,c = 0; + + for ( i=0;i < MAX_A_STREAMS;i++ ) + if ( ((demuxer_t *)guiInfo.demuxer)->a_streams[i] ) c++; + + if ( c > 1 ) + { + SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_AudioTrack ); + for ( i=0;i < MAX_A_STREAMS;i++ ) + if ( ((demuxer_t *)guiInfo.demuxer)->a_streams[i] ) + { + int aid = ((sh_audio_t *)((demuxer_t *)guiInfo.demuxer)->a_streams[i])->aid; + char tmp[32]; + snprintf( tmp,32,MSGTR_MENU_Track,aid ); + AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( aid << 16 ) + evSetAudio ); + } + } + + for ( c=0,i=0;i < MAX_V_STREAMS;i++ ) + if ( ((demuxer_t *)guiInfo.demuxer)->v_streams[i] ) c++; + + if ( c > 1 ) + { + SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_VideoTrack ); + for ( i=0;i < MAX_V_STREAMS;i++ ) + if ( ((demuxer_t *)guiInfo.demuxer)->v_streams[i] ) + { + int vid = ((sh_video_t *)((demuxer_t *)guiInfo.demuxer)->v_streams[i])->vid; + char tmp[32]; + snprintf( tmp,32,MSGTR_MENU_Track,vid ); + AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( vid << 16 ) + evSetVideo ); + } + } + } + + /* cheap subtitle switching for non-DVD streams */ + if ( global_sub_size && guiInfo.StreamType != STREAMTYPE_DVD ) + { + int i; + SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu, MSGTR_MENU_Subtitles ); + AddMenuItem( window1, (const char*)empty_xpm, SubMenu, MSGTR_MENU_None, (-1 << 16) + evSetSubtitle ); + for ( i=0;i < global_sub_size;i++ ) + { + char tmp[32]; + snprintf( tmp, 32, MSGTR_MENU_Track, i ); + AddMenuItem( window1,(const char*)empty_xpm,SubMenu,tmp,( i << 16 ) + evSetSubtitle ); + } + } + + AddSeparator( Menu ); + MenuItem=AddMenuCheckItem( window1, (const char*)sound_xpm, Menu,MSGTR_MENU_Mute,mixer->muted,evMute ); + if ( !guiInfo.AudioType ) gtk_widget_set_sensitive( MenuItem,FALSE ); + AddMenuItem( window1, (const char*)pl_xpm, Menu,MSGTR_MENU_PlayList, evPlayList ); + AddMenuItem( window1, (const char*)skin_xpm, Menu,MSGTR_MENU_SkinBrowser, evSkinBrowser ); + AddMenuItem( window1, (const char*)prefs_xpm, Menu,MSGTR_MENU_Preferences, evPreferences ); + AddMenuItem( window1, (const char*)eq_xpm, Menu,MSGTR_Equalizer, evEqualizer ); + + if ( guiInfo.NoWindow == False ) + { + int b1 = 0, b2 = 0, b_half = 0; + AddSeparator( Menu ); + if ( !guiApp.subWindow.isFullScreen && guiInfo.Playing ) + { + if ( ( guiApp.subWindow.Width == guiInfo.MovieWidth * 2 )&& + ( guiApp.subWindow.Height == guiInfo.MovieHeight * 2 ) ) b2=1; + else if ( ( guiApp.subWindow.Width == guiInfo.MovieWidth / 2 ) && + ( guiApp.subWindow.Height == guiInfo.MovieHeight / 2 ) ) b_half=1; + else b1=1; + } else b1=!guiApp.subWindow.isFullScreen; + H=AddMenuCheckItem( window1, (const char*)half_xpm, Menu,MSGTR_MENU_HalfSize,b_half,evHalfSize ); + N=AddMenuCheckItem( window1, (const char*)normal_xpm, Menu,MSGTR_MENU_NormalSize" ",b1,evNormalSize ); + D=AddMenuCheckItem( window1, (const char*)double_xpm, Menu,MSGTR_MENU_DoubleSize,b2,evDoubleSize ); + F=AddMenuCheckItem( window1, (const char*)fs_xpm, Menu,MSGTR_MENU_FullScreen,guiApp.subWindow.isFullScreen,evFullScreen ); + if ( !gtkShowVideoWindow && !guiInfo.Playing ) + { + gtk_widget_set_sensitive( H,FALSE ); + gtk_widget_set_sensitive( N,FALSE ); + gtk_widget_set_sensitive( D,FALSE ); + gtk_widget_set_sensitive( F,FALSE ); + } + } + + AddSeparator( Menu ); + AddMenuItem( window1, (const char*)exit_xpm, Menu,MSGTR_MENU_Exit, evExit ); + + return Menu; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/gtk_menu.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/gtk_menu.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,31 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_MENU_H +#define MPLAYER_GUI_MENU_H + +#include + +extern GtkWidget * DVDSubMenu; + +GtkWidget * AddMenuItem( GtkWidget *window1, const char * immagine_xpm, GtkWidget * SubMenu, const char * label, int Number ); +GtkWidget * AddSubMenu( GtkWidget *window1, const char * immagine_xpm, GtkWidget * Menu, const char * label ); +GtkWidget * AddSeparator( GtkWidget * Menu ); +GtkWidget * create_PopUpMenu( void ); + +#endif /* MPLAYER_GUI_MENU_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/gtk_url.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/gtk_url.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,170 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "gtk_url.h" +#include "gtk_common.h" +#include "gui/interface.h" +#include "gui/app.h" +#include "gui/mplayer/gmplayer.h" +#include "gui/mplayer/widgets.h" +#include "help_mp.h" + +GtkWidget * URL = NULL; + +static GtkWidget * URLCombo; +static GtkWidget * URLEntry; +static GList * URLComboEntrys = NULL; + +void ShowURLDialogBox( void ) +{ + if ( URL ) gtkActive( URL ); + else URL=create_URL(); + + if ( URLList ) + { + urlItem * item = URLList; + g_list_free( URLComboEntrys ); + URLComboEntrys=NULL; + while( item ) + { + URLComboEntrys=g_list_append( URLComboEntrys,(gchar *)item->url ); + item=item->next; + } + } + + if ( URLComboEntrys ) + { + gtk_entry_set_text( GTK_ENTRY( URLEntry ),URLComboEntrys->data ); + gtk_combo_set_popdown_strings( GTK_COMBO( URLCombo ),URLComboEntrys ); + } + + gtk_widget_show( URL ); +} + +static void HideURLDialogBox( void ) +{ + if ( !URL ) return; + gtk_widget_hide( URL ); + gtk_widget_destroy( URL ); + URL=0; +} + +static void on_Button_pressed( GtkButton * button,gpointer user_data ) +{ + urlItem * item; + + if ( (int)user_data ) + { + gchar * str= strdup( gtk_entry_get_text( GTK_ENTRY( URLEntry ) ) ); + + if ( str ) + { + if ( strncmp( str,"http://",7 ) + && strncmp( str,"ftp://",6 ) + && strncmp( str,"mms://",6 ) + && strncmp( str,"pnm://",6 ) + && strncmp( str,"rtsp://",7 ) ) + { + gchar * tmp; + tmp=malloc( strlen( str ) + 8 ); + sprintf( tmp,"http://%s",str ); + free( str ); str=tmp; + } + URLComboEntrys=g_list_prepend( URLComboEntrys,(gchar *)str ); + + item=calloc( 1,sizeof( urlItem ) ); + item->url=gstrdup( str ); + gtkSet( gtkAddURLItem,0,(void *)item ); + + guiSetFilename( guiInfo.Filename,str ); guiInfo.FilenameChanged=1; + uiEventHandling( evPlayNetwork,0 ); + } + } + HideURLDialogBox(); +} + +GtkWidget * create_URL( void ) +{ + GtkWidget * vbox1; + GtkWidget * hbox1; + GtkWidget * hbuttonbox1; + GtkWidget * Ok; + GtkWidget * Cancel; + GtkAccelGroup * accel_group; + + accel_group=gtk_accel_group_new(); + + URL=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( URL,"URL" ); + gtk_object_set_data( GTK_OBJECT( URL ),"URL",URL ); + gtk_widget_set_usize( URL,384,70 ); + GTK_WIDGET_SET_FLAGS( URL,GTK_CAN_DEFAULT ); + gtk_window_set_title( GTK_WINDOW( URL ),MSGTR_Network ); + gtk_window_set_position( GTK_WINDOW( URL ),GTK_WIN_POS_CENTER ); + gtk_window_set_policy( GTK_WINDOW( URL ),TRUE,TRUE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( URL ),"Network","MPlayer" ); + + gtk_widget_realize( URL ); + gtkAddIcon( URL ); + + vbox1=AddVBox( AddDialogFrame( URL ),0 ); + hbox1=AddHBox( vbox1,1 ); + AddLabel( "URL: ",hbox1 ); + + URLCombo=AddComboBox( hbox1 ); +/* + gtk_combo_new(); + gtk_widget_set_name( URLCombo,"URLCombo" ); + gtk_widget_show( URLCombo ); + gtk_box_pack_start( GTK_BOX( hbox1 ),URLCombo,TRUE,TRUE,0 ); +*/ + URLEntry=GTK_COMBO( URLCombo )->entry; + gtk_widget_set_name( URLEntry,"URLEntry" ); + gtk_widget_show( URLEntry ); + + AddHSeparator( vbox1 ); + + hbuttonbox1=AddHButtonBox( vbox1 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); + + Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); + Cancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); + + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( URL ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&URL ); + gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( on_Button_pressed ),(void *)1 ); + gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( on_Button_pressed ),NULL ); + + gtk_widget_grab_focus( URLEntry ); + gtk_window_add_accel_group( GTK_WINDOW( URL ),accel_group ); + + return URL; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/gtk_url.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/gtk_url.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,30 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_GTK_URL_H +#define MPLAYER_GUI_GTK_URL_H + +#include + +extern GtkWidget * URL; +extern int gtkVURLDialogBox; + +void ShowURLDialogBox( void ); +GtkWidget * create_URL( void ); + +#endif /* MPLAYER_GUI_GTK_URL_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/mb.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/mb.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,114 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "gui/app.h" +#include "help_mp.h" + +#include "gui/mplayer/pixmaps/error.xpm" +#include "gui/mplayer/pixmaps/warning.xpm" + +#include "gui/mplayer/widgets.h" +#include "mb.h" +#include "gtk_common.h" + +GtkWidget * gtkMessageBoxText; +GtkWidget * MessageBox = NULL; + +void ShowMessageBox( const char * msg ) +{ + if ( MessageBox ) { gtk_widget_hide( MessageBox ); gtk_widget_destroy( MessageBox ); } + MessageBox=create_MessageBox( 0 ); + if ( strlen( msg ) < 20 ) gtk_widget_set_usize( MessageBox,196,-1 ); +} + +static void on_Ok_released( GtkButton * button,gpointer user_data ) +{ + gtk_widget_hide( MessageBox ); + gtk_widget_destroy( MessageBox ); + MessageBox=NULL; +} + +GtkWidget * create_MessageBox( int type ) +{ + GtkWidget * vbox1; + GtkWidget * hbox1; + GtkWidget * hbuttonbox1; + GtkWidget * Ok; + GtkAccelGroup * accel_group; + GtkStyle * pixmapstyle; + GdkPixmap * pixmapwid; + GdkBitmap * mask; + + accel_group=gtk_accel_group_new(); + + MessageBox=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( MessageBox,"MessageBox" ); + gtk_object_set_data( GTK_OBJECT( MessageBox ),"MessageBox",MessageBox ); + gtk_widget_set_events( MessageBox,GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); + gtk_window_set_title( GTK_WINDOW( MessageBox ),"MPlayer ..." ); + gtk_window_set_position( GTK_WINDOW( MessageBox ),GTK_WIN_POS_CENTER ); + gtk_window_set_modal( GTK_WINDOW( MessageBox ),TRUE ); + gtk_window_set_policy( GTK_WINDOW( MessageBox ),TRUE,TRUE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( MessageBox ),"Message","MPlayer" ); + + gtk_widget_realize( MessageBox ); + gtkAddIcon( MessageBox ); + + vbox1=AddVBox( AddDialogFrame( MessageBox ),0 ); + hbox1=AddHBox( vbox1,1 ); + + pixmapstyle=gtk_widget_get_style( MessageBox ); + + pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )warning_xpm ); + WarningPixmap=gtk_pixmap_new( pixmapwid,mask ); + pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )error_xpm ); + ErrorPixmap=gtk_pixmap_new( pixmapwid,mask ); + + gtk_widget_set_name( WarningPixmap,"pixmap1" ); + gtk_widget_hide( WarningPixmap ); + gtk_box_pack_start( GTK_BOX( hbox1 ),WarningPixmap,FALSE,FALSE,0 ); + gtk_widget_set_usize( WarningPixmap,55,-2 ); + + gtk_widget_set_name( ErrorPixmap,"pixmap1" ); + gtk_widget_hide( ErrorPixmap ); + gtk_box_pack_start( GTK_BOX( hbox1 ),ErrorPixmap,FALSE,FALSE,0 ); + gtk_widget_set_usize( ErrorPixmap,55,-2 ); + + gtkMessageBoxText=gtk_label_new( "Text jol. Ha ezt megerted,akkor neked nagyon jo a magyar tudasod,te." ); + gtk_widget_set_name( gtkMessageBoxText,"gtkMessageBoxText" ); + gtk_widget_show( gtkMessageBoxText ); + gtk_box_pack_start( GTK_BOX( hbox1 ),gtkMessageBoxText,TRUE,TRUE,0 ); +// gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL ); + gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_CENTER ); + gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),FALSE ); + + AddHSeparator( vbox1 ); + hbuttonbox1=AddHButtonBox( vbox1 ); + Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); + + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&MessageBox ); + gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( on_Ok_released ),NULL ); + + gtk_window_add_accel_group( GTK_WINDOW( MessageBox ),accel_group ); + + return MessageBox; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/mb.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/mb.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,29 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_MB_H +#define MPLAYER_GUI_MB_H + +#include + +extern GtkWidget * MessageBox; + +GtkWidget * create_MessageBox( int type ); +void ShowMessageBox( const char * msg ); + +#endif /* MPLAYER_GUI_MB_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/opts.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/opts.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,1842 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include "config.h" +#include "help_mp.h" +#include "mixer.h" +#include "mpcommon.h" +#include "libao2/audio_out.h" +#include "sub/sub.h" +#include "libvo/video_out.h" +#include "libvo/x11_common.h" +#include "stream/stream.h" +#include "libmpdemux/demuxer.h" +#include "libmpdemux/stheader.h" +#include "libmpcodecs/dec_video.h" +#include "sub/font_load.h" + +#include "gui/app.h" +#include "gui/cfg.h" +#include "gui/interface.h" +#include "gui/mplayer/gmplayer.h" +#include "gui/mplayer/widgets.h" +#include "opts.h" +#include "fs.h" +#include "gtk_common.h" + +// for mpcodecs_[av]d_drivers: +#include "libmpcodecs/vd.h" +#include "libmpcodecs/ad.h" + + GtkWidget * Preferences = NULL; +static GtkWidget * AConfig; +static GtkWidget * VConfig; +//static GtkWidget * BLoadSubtitle; +static GtkWidget * BLoadFont; +static GtkWidget * BOk; +static GtkWidget * BCancel; + +static GtkWidget * CLADrivers; +static GtkWidget * CLVDrivers; + +//static GtkWidget * ESubtitleName; + GtkWidget * prEFontName; + GtkWidget * prEDVDDevice; + GtkWidget * prECDRomDevice; +static GtkWidget * EVFM; +static GtkWidget * EAFM; + +static GtkWidget * CBVFM; +static GtkWidget * CBAFM; +static GtkWidget * CBAudioEqualizer; +//static GtkWidget * CBSurround; +static GtkWidget * CBExtraStereo; +static GtkWidget * CBNormalize; +static GtkWidget * CBSoftwareMixer; +static GtkWidget * CBDoubleBuffer; +static GtkWidget * CBDR; +static GtkWidget * CBFramedrop; +static GtkWidget * CBHFramedrop; +//static GtkWidget * CBFullScreen; +static GtkWidget * CBShowVideoWindow; +static GtkWidget * CBNonInterlaved; +static GtkWidget * CBIndex; +static GtkWidget * CBFlip; +static GtkWidget * CBNoAutoSub; +static GtkWidget * CBSubUnicode; +static GtkWidget * CBSubOverlap; +static GtkWidget * CBDumpMPSub; +static GtkWidget * CBDumpSrt; +static GtkWidget * CBUseASS; +static GtkWidget * CBASSUseMargins; +static GtkWidget * SBASSTopMargin; +static GtkWidget * SBASSBottomMargin; +static GtkWidget * CBPostprocess; +static GtkWidget * CBCache; +static GtkWidget * CBLoadFullscreen; +static GtkWidget * CBSaveWinPos; +static GtkWidget * CBStopXScreenSaver; +static GtkWidget * CBPlayBar; +static GtkWidget * CBNoIdle; + +static GtkWidget * SBCache; +static GtkAdjustment * SBCacheadj; + +static GtkWidget * CBAutoSync; +static GtkWidget * SBAutoSync; +static GtkAdjustment * SBAutoSyncadj; + +static GtkWidget * RBOSDNone; +static GtkWidget * RBOSDTandP; +static GtkWidget * RBOSDIndicator; +static GtkWidget * RBOSDTPTT; + +static GtkWidget * HSAudioDelay; +static GtkWidget * HSExtraStereoMul; +static GtkWidget * HSPanscan; +static GtkWidget * HSSubDelay; +static GtkWidget * HSSubPosition; +static GtkWidget * HSSubFPS; +static GtkWidget * HSPPQuality; +static GtkWidget * HSFPS; + +static GtkAdjustment * HSExtraStereoMuladj, * HSAudioDelayadj, * HSPanscanadj, * HSSubDelayadj; +static GtkAdjustment * HSSubPositionadj, * HSSubFPSadj, * HSPPQualityadj, * HSFPSadj; + +#ifndef CONFIG_FREETYPE +static GtkWidget * HSFontFactor; +static GtkAdjustment * HSFontFactoradj; +#else +static GtkWidget * HSFontBlur, * HSFontOutLine, * HSFontTextScale, * HSFontOSDScale; +static GtkAdjustment * HSFontBluradj, * HSFontOutLineadj, * HSFontTextScaleadj, * HSFontOSDScaleadj; +static GtkWidget * CBFontEncoding, * EFontEncoding; +static GtkWidget * RBFontNoAutoScale, * RBFontAutoScaleWidth, * RBFontAutoScaleHeight, * RBFontAutoScaleDiagonal; +//static GtkWidget * AutoScale; +#endif + +#ifdef CONFIG_ICONV +static GtkWidget * CBSubEncoding, * ESubEncoding; +#endif + +#if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) +static struct +{ + char * name; + char * comment; +} lEncoding[] = + { + { "unicode", MSGTR_PREFERENCES_FontEncoding1 }, + { "iso-8859-1", MSGTR_PREFERENCES_FontEncoding2 }, + { "iso-8859-15", MSGTR_PREFERENCES_FontEncoding3 }, + { "iso-8859-2", MSGTR_PREFERENCES_FontEncoding4 }, + { "cp1250", MSGTR_PREFERENCES_FontEncoding22}, + { "iso-8859-3", MSGTR_PREFERENCES_FontEncoding5 }, + { "iso-8859-4", MSGTR_PREFERENCES_FontEncoding6 }, + { "iso-8859-5", MSGTR_PREFERENCES_FontEncoding7 }, + { "cp1251", MSGTR_PREFERENCES_FontEncoding21}, + { "iso-8859-6", MSGTR_PREFERENCES_FontEncoding8 }, + { "cp1256", MSGTR_PREFERENCES_FontEncoding23 }, + { "iso-8859-7", MSGTR_PREFERENCES_FontEncoding9 }, + { "iso-8859-9", MSGTR_PREFERENCES_FontEncoding10 }, + { "iso-8859-13", MSGTR_PREFERENCES_FontEncoding11 }, + { "iso-8859-14", MSGTR_PREFERENCES_FontEncoding12 }, + { "iso-8859-8", MSGTR_PREFERENCES_FontEncoding13 }, + { "koi8-r", MSGTR_PREFERENCES_FontEncoding14 }, + { "koi8-u/ru", MSGTR_PREFERENCES_FontEncoding15 }, + { "cp936", MSGTR_PREFERENCES_FontEncoding16 }, + { "big5", MSGTR_PREFERENCES_FontEncoding17 }, + { "shift-jis", MSGTR_PREFERENCES_FontEncoding18 }, + { "cp949", MSGTR_PREFERENCES_FontEncoding19 }, + { "cp874", MSGTR_PREFERENCES_FontEncoding20 }, + { NULL,NULL } + }; +char * lCEncoding = NULL; +char * lSEncoding = NULL; +#endif + +static int old_audio_driver = 0; +static char * ao_driver[3]; +static char * vo_driver[3]; +static int old_video_driver = 0; + +#ifdef CONFIG_DXR3 + void ShowDXR3Config( void ); + void HideDXR3Config( void ); +#endif + void ShowAudioConfig( void ); + void HideAudioConfig( void ); + +static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ); +static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ); +static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ); +#if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) +static void prEntry( GtkContainer * container,gpointer user_data ); +#endif + +void ShowPreferences( void ) +{ + if ( Preferences ) gtkActive( Preferences ); + else Preferences=create_Preferences(); + +// -- 1. page + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ),gtkEnableAudioEqualizer ); +#if 0 + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSurround ),gtkAOSurround ); +#endif + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBExtraStereo ),gtkAOExtraStereo ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNormalize ),gtkAONorm ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ),soft_vol ); + gtk_adjustment_set_value( HSExtraStereoMuladj,gtkAOExtraStereoMul ); + { + int i = 0; + char * tmp[3]; tmp[2]=""; + old_audio_driver=-1; + if ( CLADrivers ) gtk_clist_clear( GTK_CLIST( CLADrivers ) ); + while ( audio_out_drivers[i] ) + { + const ao_info_t *info = audio_out_drivers[i++]->info; + if ( !strcmp( info->short_name,"plugin" ) ) continue; + if ( audio_driver_list ) + { + char * name = gstrdup( audio_driver_list[0] ); + char * sep = gstrchr( audio_driver_list[0],':' ); + if ( sep ) *sep=0; + if ( !gstrcmp( name,(char *)info->short_name ) ) old_audio_driver=i - 1; + free( name ); + } + tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); + } + if ( old_audio_driver > -1 ) + { + gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 ); + gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver ); + gtk_widget_set_sensitive( AConfig,FALSE ); + if ( !strncmp( ao_driver[0],"oss",3 ) || + !strncmp( ao_driver[0],"alsa",4 ) || + !strncmp( ao_driver[0],"esd",3 ) || + !strncmp( ao_driver[0],"sdl",3 ) ) + gtk_widget_set_sensitive( AConfig,TRUE ); + } + } + +// -- 2. page + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),vo_doublebuffering ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),vo_directrendering ); + + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),FALSE ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),FALSE ); + switch ( frame_dropping ) + { + case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),TRUE ); + case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),TRUE ); + } + + if (flip != -1) + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFlip ),flip ); + gtk_adjustment_set_value( HSPanscanadj,vo_panscan ); + + { + int i = 0, c = 0; + char * tmp[3]; tmp[2]=""; + old_video_driver=0; + if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) ); + while ( video_out_drivers[i] ) + if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) + { + if ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) ) old_video_driver=c; c++; + tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name; + gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp ); + } + gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 ); + gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver ); + gtk_widget_set_sensitive( VConfig,FALSE ); +#ifdef CONFIG_DXR3 + if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); +#endif + } + + gtk_adjustment_set_value( HSFPSadj,force_fps ); + +// -- 3. page + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubOverlap ),suboverlap_enabled ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!sub_auto ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpSrt ),gtkSubDumpSrt ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubUnicode ),sub_unicode ); +#ifdef CONFIG_ASS + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBUseASS ),gtkASS.enabled ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ),gtkASS.use_margins ); + gtk_spin_button_set_value( (GtkSpinButton *)SBASSTopMargin,(gdouble)gtkASS.top_margin ); + gtk_spin_button_set_value( (GtkSpinButton *)SBASSBottomMargin,(gdouble)gtkASS.bottom_margin ); + + if ( !gtkASS.enabled ) + { + gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); + gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); + gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); + } +#endif + + gtk_adjustment_set_value( HSSubDelayadj,sub_delay ); + gtk_adjustment_set_value( HSSubFPSadj,sub_fps ); + gtk_adjustment_set_value( HSSubPositionadj,sub_pos ); + switch ( osd_level ) + { + case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDNone ),TRUE ); break; + case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ),TRUE ); break; + case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTandP ),TRUE ); break; + case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ),TRUE ); break; + } +#if 0 + if ( guiInfo.Subtitlename ) gtk_entry_set_text( GTK_ENTRY( ESubtitleName ),guiInfo.Subtitlename ); +#endif + +#ifdef CONFIG_ICONV + if ( sub_cp ) + { + int i; + for ( i=0;lEncoding[i].name;i++ ) + if ( !gstrcmp( sub_cp,lEncoding[i].name ) ) break; + if ( lEncoding[i].name ) lSEncoding=lEncoding[i].comment; + gtk_entry_set_text( GTK_ENTRY( ESubEncoding ),lSEncoding ); + } +#endif + +// --- 4. page + // font ... + if ( font_name ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); +#ifndef CONFIG_FREETYPE + gtk_adjustment_set_value( HSFontFactoradj,font_factor ); +#else + gtk_adjustment_set_value( HSFontBluradj,( subtitle_font_radius / 8.0f ) * 100.0f ); + gtk_adjustment_set_value( HSFontOutLineadj,( subtitle_font_thickness / 8.0f ) * 100.0f ); + gtk_adjustment_set_value( HSFontTextScaleadj,text_font_scale_factor ); + gtk_adjustment_set_value( HSFontOSDScaleadj,osd_font_scale_factor ); + if ( subtitle_font_encoding ) + { + int i; + for ( i=0;lEncoding[i].name;i++ ) + if ( !gstrcmp( subtitle_font_encoding,lEncoding[i].name ) ) break; + if ( lEncoding[i].name ) lCEncoding=lEncoding[i].comment; + gtk_entry_set_text( GTK_ENTRY( EFontEncoding ),lCEncoding ); + } + switch ( subtitle_autoscale ) + { + case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ),TRUE ); break; + case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ),TRUE ); break; + case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ),TRUE ); break; + case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ),TRUE ); break; + } +#endif + +// -- 5. page + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),force_ni ); + if ( index_mode == 1 ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),1 ); + { + int i; + GList * Items = NULL; + char * name = NULL; + + Items=g_list_append( Items,MSGTR_PREFERENCES_None ); + for( i=0;mpcodecs_vd_drivers[i];i++ ) + { + Items=g_list_append( Items,(char *)mpcodecs_vd_drivers[i]->info->name ); + if ( video_fm_list && !gstrcmp( video_fm_list[0],(char *)mpcodecs_vd_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_vd_drivers[i]->info->name; + } + gtk_combo_set_popdown_strings( GTK_COMBO( CBVFM ),Items ); + g_list_free( Items ); + if ( name ) gtk_entry_set_text( GTK_ENTRY( EVFM ),name ); + } + + { + int i; + GList * Items = NULL; + char * name = NULL; + + Items=g_list_append( Items,MSGTR_PREFERENCES_None ); + for( i=0;mpcodecs_ad_drivers[i];i++ ) + { + Items=g_list_append( Items,(char *)mpcodecs_ad_drivers[i]->info->name ); + if ( audio_fm_list && !gstrcmp( audio_fm_list[0],(char *)mpcodecs_ad_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_ad_drivers[i]->info->name; + } + gtk_combo_set_popdown_strings( GTK_COMBO( CBAFM ),Items ); + g_list_free( Items ); + if ( name ) gtk_entry_set_text( GTK_ENTRY( EAFM ),name ); + } + +// --- 6. page + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVfPP ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),gtkLoadFullscreen ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ),gui_save_pos ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ),gtkShowVideoWindow ); + if ( !gtkShowVideoWindow ) + { + gtk_widget_set_sensitive( CBLoadFullscreen,FALSE ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),0 ); + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ),stop_xscreensaver ); + gtk_adjustment_set_value( HSPPQualityadj,auto_quality ); + + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),gtkEnablePlayBar ); + if ( !guiApp.playbarIsPresent ) + { + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),0 ); + gtk_widget_set_sensitive( CBPlayBar,FALSE ); + } + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoIdle ),!player_idle_mode ); + + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),0 ); + gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize ); + if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE ); + else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),TRUE ); + + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),0 ); + gtk_adjustment_set_value( SBAutoSyncadj,(float)gtkAutoSync ); + if ( !gtkAutoSyncOn ) gtk_widget_set_sensitive( SBAutoSync,FALSE ); + else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),TRUE ); + + if ( dvd_device ) gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),dvd_device ); + else gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),DEFAULT_DVD_DEVICE ); + if ( cdrom_device ) gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),cdrom_device ); + else gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),DEFAULT_CDROM_DEVICE ); + +// -- disables +#ifndef CONFIG_ASS + gtk_widget_set_sensitive( CBUseASS,FALSE ); + gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); + gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); + gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); +#endif + +// -- signals + gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)0 ); + gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)2 ); + gtk_signal_connect( GTK_OBJECT( CBShowVideoWindow ),"toggled",GTK_SIGNAL_FUNC( prToggled ), (void*)3 ); +#ifdef CONFIG_FREETYPE + gtk_signal_connect( GTK_OBJECT( RBFontNoAutoScale ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)4 ); + gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleHeight ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)5 ); + gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleWidth ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)6 ); + gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleDiagonal ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)7 ); +#endif + gtk_signal_connect( GTK_OBJECT( CBCache ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)8); + gtk_signal_connect( GTK_OBJECT( CBAutoSync ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)9); +#ifdef CONFIG_ASS + gtk_signal_connect( GTK_OBJECT( CBUseASS ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)10); +#endif + + gtk_signal_connect( GTK_OBJECT( HSExtraStereoMul ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)0 ); + gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)2 ); + gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)3 ); + gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)4 ); +#ifndef CONFIG_FREETYPE + gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)5 ); +#else + gtk_signal_connect( GTK_OBJECT( HSFontBlur ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)6 ); + gtk_signal_connect( GTK_OBJECT( HSFontOutLine ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)7 ); + gtk_signal_connect( GTK_OBJECT( HSFontTextScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)8 ); + gtk_signal_connect( GTK_OBJECT( HSFontOSDScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)9 ); + gtk_signal_connect( GTK_OBJECT( EFontEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)0 ); +#endif +#ifdef CONFIG_ICONV + gtk_signal_connect( GTK_OBJECT( ESubEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)1 ); +#endif + gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 ); + + gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 ); + gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 ); + + gtk_widget_show( Preferences ); + gtkSetLayer( Preferences ); + { + static int visible = 1; + if ( visible ) + { + gtkMessageBox( GTK_MB_WARNING,MSGTR_PREFERENCES_Message ); + visible=0; + } + } +} + +static void HidePreferences( void ) +{ + if ( !Preferences ) return; + gtk_widget_hide( Preferences ); + gtk_widget_destroy( Preferences ); + Preferences=NULL; + HideAudioConfig(); +#ifdef CONFIG_DXR3 + HideDXR3Config(); +#endif +} + +#if defined(CONFIG_FREETYPE) || defined(CONFIG_ICONV) +static void prEntry( GtkContainer * container,gpointer user_data ) +{ + const char * comment; + int i; + + switch( (int)user_data ) + { +#ifdef CONFIG_FREETYPE + case 0: // font encoding + comment=gtk_entry_get_text( GTK_ENTRY( EFontEncoding ) ); + for ( i=0;lEncoding[i].name;i++ ) + if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; + if ( lEncoding[i].comment ) gtkSet( gtkSetFontEncoding,0,lEncoding[i].name ); + break; +#endif +#ifdef CONFIG_ICONV + case 1: // sub encoding + comment=gtk_entry_get_text( GTK_ENTRY( ESubEncoding ) ); + for ( i=0;lEncoding[i].name;i++ ) + if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; + if ( lEncoding[i].comment ) gtkSet( gtkSetSubEncoding,0,lEncoding[i].name ); + else gtkSet( gtkSetSubEncoding,0,NULL ); + break; +#endif + } +} +#endif + +#define bAConfig 0 +#define bVconfig 1 +#define bOk 2 +#define bCancel 3 +#define bLSubtitle 4 +#define bLFont 5 + +static void prButton( GtkButton * button, gpointer user_data ) +{ + switch ( (int)user_data ) + { + case bOk: + // -- 1. page + gtkEnableAudioEqualizer=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ) ); + gtkAOExtraStereo=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ); + gtkAONorm=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNormalize ) ); + soft_vol=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ) ); + gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); + audio_delay=HSAudioDelayadj->value; + + gaddlist( &audio_driver_list,ao_driver[0] ); + gaddlist( &video_driver_list,vo_driver[0] ); + + // -- 2. page + vo_doublebuffering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ) ); + vo_directrendering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDR ) ); + + frame_dropping=0; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFramedrop ) ) == TRUE ) frame_dropping=1; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBHFramedrop ) ) == TRUE ) frame_dropping=2; + + flip=-1; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFlip ) ) ) flip=1; + + force_fps=HSFPSadj->value; + + // -- 3. page + suboverlap_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubOverlap ) ); + sub_auto=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ) ); + gtkSubDumpMPSub=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ) ); + gtkSubDumpSrt=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpSrt ) ); + sub_unicode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubUnicode ) ); +#ifdef CONFIG_ASS + gtkASS.enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ); + gtkASS.use_margins=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ) ); + gtkASS.top_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSTopMargin ) ); + gtkASS.bottom_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSBottomMargin ) ); +#endif + sub_delay=HSSubDelayadj->value; + sub_fps=HSSubFPSadj->value; + sub_pos=(int)HSSubPositionadj->value; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDNone ) ) ) osd_level=0; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ) ) ) osd_level=1; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTandP ) ) ) osd_level=2; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ) ) ) osd_level=3; + + + // --- 4. page + guiSetFilename( font_name,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) ); +#ifndef CONFIG_FREETYPE + gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); +#else + gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); + gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); + gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); + gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ) ) ) gtkSet( gtkSetFontAutoScale,0,NULL ); + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ) ) ) gtkSet( gtkSetFontAutoScale,1,NULL ); + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ) ) ) gtkSet( gtkSetFontAutoScale,2,NULL ); + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ) ) ) gtkSet( gtkSetFontAutoScale,3,NULL ); +#endif + + // -- 5. page + force_ni=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) ); + index_mode=-1; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) ) ) index_mode=1; + + { + int i; + const char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) ); + for( i=0;mpcodecs_vd_drivers[i];i++ ) + if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) ) + { gaddlist( &video_fm_list,(char *)mpcodecs_vd_drivers[i]->info->short_name ); break; } + } + + { + int i; + const char * tmp = gtk_entry_get_text( GTK_ENTRY( EAFM ) ); + for( i=0;mpcodecs_ad_drivers[i];i++ ) + if ( !gstrcmp( tmp,(char *)mpcodecs_ad_drivers[i]->info->name ) ) + { gaddlist( &audio_fm_list,(char *)mpcodecs_ad_drivers[i]->info->short_name ); break; } + } + + // --- 6. page + gtkVfPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); + gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) ); + gui_save_pos=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ) ); + gtkShowVideoWindow=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ); + stop_xscreensaver=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ) ); + gtkEnablePlayBar=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPlayBar ) ); + player_idle_mode=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoIdle ) ); + gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); + + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=1; } + else gtkCacheOn=0; + + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) { gtkAutoSync=(int)SBAutoSyncadj->value; gtkAutoSyncOn=1; } + else gtkAutoSyncOn=0; + + guiSetFilename( dvd_device,gtk_entry_get_text( GTK_ENTRY( prEDVDDevice ) ) ); + guiSetFilename( cdrom_device,gtk_entry_get_text( GTK_ENTRY( prECDRomDevice ) ) ); + + case bCancel: + HidePreferences(); + break; + case bAConfig: + if ( !ao_driver[0] ) break; + gtk_widget_set_sensitive( AConfig,FALSE ); + if ( !strncmp( ao_driver[0],"oss",3 ) || + !strncmp( ao_driver[0],"alsa",4 ) || + !strncmp( ao_driver[0],"esd",3 ) || + !strncmp( ao_driver[0],"sdl",3 ) ) { + ShowAudioConfig(); + gtk_widget_set_sensitive( AConfig,TRUE ); + } + break; + case bVconfig: + if ( !vo_driver[0] ) break; + gtk_widget_set_sensitive( VConfig,FALSE ); +#ifdef CONFIG_DXR3 + if ( !gstrcmp( vo_driver[0],"dxr3" ) ) { ShowDXR3Config(); gtk_widget_set_sensitive( VConfig,TRUE ); } +#endif + break; +#if 0 + case bLSubtitle: + break; +#endif + case bLFont: + ShowFileSelect( fsFontSelector,FALSE ); + gtkSetLayer( fsFileSelect ); + break; + } +} + +static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) +{ + switch ( (int)user_data ) + { + case 0: // extra stereo coefficient + if ( !guiInfo.Playing ) break; + gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); + break; + case 1: // audio delay + audio_delay=HSAudioDelayadj->value; + break; + case 2: // panscan + gtkSet( gtkSetPanscan,HSPanscanadj->value,NULL ); + break; + case 3: // sub delay + sub_delay=HSSubDelayadj->value; + break; + case 4: // sub position + sub_pos=(int)HSSubPositionadj->value; + break; +#ifndef CONFIG_FREETYPE + case 5: // font factor + gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); + break; +#else + case 6: // font blur + gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); + break; + case 7: // font outline + gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); + break; + case 8: // text scale + gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); + break; + case 9: // osd scale + gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); + break; +#endif + case 10: // auto quality + gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); + break; + } + return FALSE; +} + +static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ) +{ + int window; + switch ( (int)user_data ) + { + case 0: // extra stereo coefficient + if ( guiInfo.Playing ) + gtk_widget_set_sensitive( HSExtraStereoMul,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ) ); + break; +// case 1: // normalize +// case 2: // equalizer +// if ( guiInfo.Playing ) gtkMessageBox( GTK_MB_WARNING,"Please remember, this function need restart the playing." ); +// break; + case 3: + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) gtk_widget_set_sensitive( CBLoadFullscreen,TRUE ); + else + { + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),0 ); + gtk_widget_set_sensitive( CBLoadFullscreen,FALSE ); + } + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) + { + window=wsShowWindow; + gtkActive( Preferences ); + } else window=wsHideWindow; + + if ( !guiInfo.Playing ) wsVisibleWindow( &guiApp.subWindow,window ); + break; + case 4: + case 5: + case 6: + case 7: + gtkSet( gtkSetFontAutoScale,(float)((int)user_data - 4 ),NULL ); + break; + case 8: + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) gtk_widget_set_sensitive( SBCache,TRUE ); + else gtk_widget_set_sensitive( SBCache,FALSE ); + break; + case 9: + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) gtk_widget_set_sensitive( SBAutoSync,TRUE ); + else gtk_widget_set_sensitive( SBAutoSync,FALSE ); + break; +#ifdef CONFIG_ASS + case 10: + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ) ) + { + gtk_widget_set_sensitive( CBASSUseMargins,TRUE ); + gtk_widget_set_sensitive( SBASSTopMargin,TRUE ); + gtk_widget_set_sensitive( SBASSBottomMargin,TRUE ); + } + else + { + gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); + gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); + gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); + } + break; +#endif + } +} + +static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) +{ + switch ( (int)user_data ) + { + case 0: // audio driver + gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); + gtk_widget_set_sensitive( AConfig,FALSE ); + if ( !strncmp( ao_driver[0],"oss",3 ) || + !strncmp( ao_driver[0],"alsa",4 ) || + !strncmp( ao_driver[0],"esd",3 ) || + !strncmp( ao_driver[0],"sdl",3 ) ) + gtk_widget_set_sensitive( AConfig,TRUE ); +#ifndef CONFIG_GTK2 + if ( !strncmp( ao_driver[0],"arts",4 ) ) + gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, MSGTR_PREFERENCES_ArtsBroken); +#endif + break; + case 1: // video driver + gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); + gtk_widget_set_sensitive( VConfig,FALSE ); +#ifdef CONFIG_DXR3 + if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); +#endif + break; + } +} + +GtkWidget * create_Preferences( void ) +{ + GtkWidget * label; + GtkWidget * frame; + + GtkWidget * vbox1; + GtkWidget * notebook1; + GtkWidget * hbox1; + GtkWidget * vbox2; + GtkWidget * scrolledwindow3; + GtkWidget * vbox3; + GtkWidget * hbox8; + GtkWidget * hbox2; + GtkWidget * vbox4; + GtkWidget * scrolledwindow2; + GtkWidget * hbuttonbox3; + GtkWidget * vbox5; + GtkWidget * vbox6; + GtkWidget * vbox600; + GSList * OSD_group = NULL; +#ifdef CONFIG_ICONV + GSList * Font_group = NULL; + GList * CBFontEncoding_items = NULL; + GList * CBSubEncoding_items = NULL; +#endif + GtkWidget * vbox7; + GtkWidget * vbox8; + GtkWidget * table1; + GtkWidget * vbox9; + GtkWidget * vbox603; + GtkWidget * hbox6; + GtkWidget * hbuttonbox5; +#ifndef CONFIG_FREETYPE + GtkWidget * hbox7; +#endif + GtkWidget * vbox601; + GtkWidget * vbox602; + GtkWidget * hbox5; + GtkWidget * hbuttonbox1; + GtkAccelGroup * accel_group; + + GtkWidget * hbox9; + GtkWidget * hbox91; + GtkWidget * hbox92; + + accel_group=gtk_accel_group_new(); + + Preferences=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( Preferences,"Preferences" ); + gtk_object_set_data( GTK_OBJECT( Preferences ),"Preferences",Preferences ); + gtk_window_set_title( GTK_WINDOW( Preferences ),MSGTR_Preferences ); + gtk_window_set_position( GTK_WINDOW( Preferences ),GTK_WIN_POS_CENTER ); +// gtk_window_set_policy( GTK_WINDOW( Preferences ),FALSE,FALSE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( Preferences ),"Preferences","MPlayer" ); + + gtk_widget_realize( Preferences ); + gtkAddIcon( Preferences ); + + vbox1=AddVBox( AddDialogFrame( Preferences ),0 ); + notebook1=gtk_notebook_new(); + gtk_widget_set_name( notebook1,"notebook1" ); + gtk_widget_show( notebook1 ); + gtk_box_pack_start( GTK_BOX( vbox1 ),notebook1,TRUE,TRUE,0 ); + + hbox1=AddVBox( notebook1,0 ); + + frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,1 ); + frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); + +// --- 1. page + + vbox2=AddVBox( frame,0 ); + + scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_set_name( scrolledwindow3,"scrolledwindow3" ); + gtk_widget_show( scrolledwindow3 ); + gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); + + CLADrivers=gtk_clist_new( 2 ); + gtk_widget_set_name( CLADrivers,"CLADrivers" ); + gtk_widget_show( CLADrivers ); + gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLADrivers ); + gtk_clist_set_column_width( GTK_CLIST( CLADrivers ),0,50 ); + gtk_clist_column_titles_show( GTK_CLIST( CLADrivers ) ); + gtk_clist_set_shadow_type( GTK_CLIST( CLADrivers ),GTK_SHADOW_NONE ); + gtk_widget_set_usize( CLADrivers,250,-2 ); + gtk_clist_set_column_widget( GTK_CLIST( CLADrivers ),0, + AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ) ); + + AConfig=AddButton( MSGTR_ConfigDriver, + AddHButtonBox( vbox2 ) ); + + vbox3=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,0 ),1 ),0 ); + gtk_widget_set_usize( vbox3,250,-2 ); + + CBNormalize=AddCheckButton( MSGTR_PREFERENCES_NormalizeSound,vbox3 ); + CBAudioEqualizer=AddCheckButton( MSGTR_PREFERENCES_EnableEqualizer,vbox3 ); + CBSoftwareMixer=AddCheckButton( MSGTR_PREFERENCES_SoftwareMixer,vbox3 ); +#if 0 + CBSurround=AddCheckButton( "Enable surround",vbox3 ); +#endif + + AddHSeparator( vbox3 ); + CBExtraStereo=AddCheckButton( MSGTR_PREFERENCES_ExtraStereo,vbox3 ); + hbox8=AddHBox( vbox3,1 ); + label=AddLabel( MSGTR_PREFERENCES_Coefficient,hbox8 ); +// gtk_misc_set_padding( GTK_MISC( label ),20,0 ); + HSExtraStereoMuladj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.1,0,0 ) ); + HSExtraStereoMul=AddHScaler( HSExtraStereoMuladj,hbox8,1 ); + AddHSeparator( vbox3 ); + + hbox8=AddHBox( vbox3,1 ); + AddLabel( MSGTR_PREFERENCES_AudioDelay,hbox8 ); + + HSAudioDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.01,0,0 ) ); + HSAudioDelay=AddHScaler( HSAudioDelayadj,hbox8,2 ); + label=AddLabel( MSGTR_PREFERENCES_Audio,NULL ); + gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),0 ),label ); + +// --- 2. page + + hbox2=AddVBox( notebook1,0 ); + + vbox4=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 ); + + scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_set_name( scrolledwindow2,"scrolledwindow2" ); + gtk_widget_show( scrolledwindow2 ); + gtk_box_pack_start( GTK_BOX( vbox4 ),scrolledwindow2,TRUE,TRUE,0 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); + + CLVDrivers=gtk_clist_new( 2 ); + gtk_widget_set_name( CLVDrivers,"CLVDrivers" ); + gtk_widget_show( CLVDrivers ); + gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLVDrivers ); + gtk_clist_set_column_width( GTK_CLIST( CLVDrivers ),0,50 ); + gtk_clist_column_titles_show( GTK_CLIST( CLVDrivers ) ); + gtk_clist_set_shadow_type( GTK_CLIST( CLVDrivers ),GTK_SHADOW_NONE ); + gtk_widget_set_usize( CLVDrivers,250,-2 ); + + label=AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ); + gtk_clist_set_column_widget( GTK_CLIST( CLVDrivers ),0,label ); + + hbuttonbox3=AddHButtonBox( vbox4 ); + VConfig=AddButton( MSGTR_ConfigDriver,hbuttonbox3 ); + + vbox5=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,0 ),1 ),0 ); + gtk_widget_set_usize( vbox5,250,-2 ); + + CBDoubleBuffer=AddCheckButton( MSGTR_PREFERENCES_DoubleBuffer,vbox5 ); + CBDR=AddCheckButton( MSGTR_PREFERENCES_DirectRender,vbox5 ); + CBFramedrop=AddCheckButton( MSGTR_PREFERENCES_FrameDrop,vbox5 ); + CBHFramedrop=AddCheckButton( MSGTR_PREFERENCES_HFrameDrop,vbox5 ); + CBFlip=AddCheckButton( MSGTR_PREFERENCES_Flip,vbox5 ); + + table1=gtk_table_new( 3,2,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_box_pack_start( GTK_BOX( vbox5 ),table1,FALSE,FALSE,0 ); + + label=AddLabel( MSGTR_PREFERENCES_Panscan,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_FPS,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSPanscanadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1,0.001,0,0 ) ); + HSPanscan=AddHScaler( HSPanscanadj,NULL,1 ); + gtk_table_attach( GTK_TABLE( table1 ),HSPanscan,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1000,0.001,0,0 ) ); + HSFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSFPSadj ),1,3 ); + gtk_widget_set_name( HSFPS,"HSFPS" ); + gtk_widget_show( HSFPS ); + gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSFPS ),TRUE ); + gtk_table_attach( GTK_TABLE( table1 ),HSFPS,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_Video,NULL ); + gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),1 ),label ); + +// --- 3. page + + vbox6=AddVBox( notebook1,0 ); + + vbox600=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_OSD_Level,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); + + RBOSDNone=AddRadioButton( MSGTR_PREFERENCES_None,&OSD_group,vbox600 ); + RBOSDTandP=AddRadioButton( MSGTR_PREFERENCES_OSDTimer,&OSD_group,vbox600 ); + RBOSDIndicator=AddRadioButton( MSGTR_PREFERENCES_OSDProgress,&OSD_group,vbox600 ); + RBOSDTPTT=AddRadioButton( MSGTR_PREFERENCES_OSDTimerPercentageTotalTime,&OSD_group,vbox600 ); + + vbox7=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_Subtitle,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); + +#if 0 + hbox4=AddHBox( vbox7,1 ); + + AddLabel( MSGTR_PREFERENCES_Subtitle,hbox4 ); + + ESubtitleName=gtk_entry_new(); + gtk_widget_set_name( ESubtitleName,"ESubtitleName" ); + gtk_widget_show( ESubtitleName ); + gtk_box_pack_start( GTK_BOX( hbox4 ),ESubtitleName,TRUE,TRUE,0 ); + + hbuttonbox4=AddHButtonBox( hbuttonbox4 ); + gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox4 ),3 ); + BLoadSubtitle=AddButton( MSGTR_Browse,hbuttonbox4 ); +#endif + + vbox8=AddVBox( vbox7,0 ); + + table1=gtk_table_new( 3,2,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_box_pack_start( GTK_BOX( vbox8 ),table1,FALSE,FALSE,0 ); + + label=AddLabel( MSGTR_PREFERENCES_SUB_Delay,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_SUB_POS,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_SUB_FPS,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + +#ifdef CONFIG_ICONV + label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); +#endif + + HSSubDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10.0,10,0.01,0,0 ) ); + HSSubDelay=AddHScaler( HSSubDelayadj,NULL,1 ); + gtk_table_attach( GTK_TABLE( table1 ),HSSubDelay,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSSubPositionadj=GTK_ADJUSTMENT( gtk_adjustment_new( 100,0,100,1,0,0 ) ); + HSSubPosition=AddHScaler( HSSubPositionadj,NULL,0 ); + gtk_table_attach( GTK_TABLE( table1 ),HSSubPosition,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSSubFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.01,0,0 ) ); + HSSubFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSSubFPSadj ),1,3 ); + gtk_widget_set_name( HSSubFPS,"HSSubFPS" ); + gtk_widget_show( HSSubFPS ); + gtk_widget_set_usize( HSSubFPS,60,-1 ); + gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSSubFPS ),TRUE ); + gtk_table_attach( GTK_TABLE( table1 ),HSSubFPS,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + +#ifdef CONFIG_ICONV + CBSubEncoding=gtk_combo_new(); + gtk_widget_set_name( CBSubEncoding,"CBSubEncoding" ); + gtk_widget_show( CBSubEncoding ); + gtk_table_attach( GTK_TABLE( table1 ),CBSubEncoding,1,2,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + CBSubEncoding_items=g_list_append( CBSubEncoding_items,MSGTR_PREFERENCES_None ); + { + int i; + for ( i=0;lEncoding[i].name;i++ ) CBSubEncoding_items=g_list_append( CBSubEncoding_items,lEncoding[i].comment ); + } + gtk_combo_set_popdown_strings( GTK_COMBO( CBSubEncoding ),CBSubEncoding_items ); + g_list_free( CBSubEncoding_items ); + + ESubEncoding=GTK_COMBO( CBSubEncoding )->entry; + gtk_widget_set_name( ESubEncoding,"ESubEncoding" ); + gtk_entry_set_editable( GTK_ENTRY( ESubEncoding ),FALSE ); + gtk_widget_show( ESubEncoding ); +#endif + + vbox9=AddVBox( vbox8,0 ); + + CBSubOverlap=AddCheckButton( MSGTR_PREFERENCES_SUB_Overlap,vbox9 ); + CBNoAutoSub=AddCheckButton( MSGTR_PREFERENCES_SUB_AutoLoad,vbox9 ); + CBSubUnicode=AddCheckButton( MSGTR_PREFERENCES_SUB_Unicode,vbox9 ); + CBDumpMPSub=AddCheckButton( MSGTR_PREFERENCES_SUB_MPSUB,vbox9 ); + CBDumpSrt=AddCheckButton( MSGTR_PREFERENCES_SUB_SRT,vbox9 ); + + AddHSeparator( vbox9 ); + CBUseASS=AddCheckButton( MSGTR_PREFERENCES_SUB_USE_ASS,vbox9 ); + hbox9=AddHBox( vbox9,0 ); + CBASSUseMargins=AddCheckButton( MSGTR_PREFERENCES_SUB_ASS_USE_MARGINS,hbox9 ); + + hbox91=gtk_hbox_new( FALSE,0 ); + gtk_widget_set_name( hbox91,"hbox91" ); + gtk_box_pack_start( GTK_BOX( hbox9 ),hbox91,TRUE,FALSE,0 ); + gtk_widget_show( hbox91 ); + SBASSTopMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_TOP_MARGIN, + (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox91 ); + + hbox92=gtk_hbox_new( FALSE,0 ); + gtk_widget_set_name( hbox92,"hbox92" ); + gtk_box_pack_start( GTK_BOX( hbox9 ),hbox92,TRUE,FALSE,0 ); + gtk_widget_show( hbox92 ); + SBASSBottomMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_BOTTOM_MARGIN, + (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox92 ); + + label=AddLabel( MSGTR_PREFERENCES_SubtitleOSD,NULL ); + gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),2 ),label ); + vbox601=AddVBox( notebook1,0 ); + +// --- 4. page + + vbox603=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_Font,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); + + hbox6=AddHBox( vbox603,1 ); + AddLabel( MSGTR_PREFERENCES_Font,hbox6 ); + prEFontName=gtk_entry_new(); + gtk_widget_set_name( prEFontName,"prEFontName" ); + gtk_widget_show( prEFontName ); + gtk_box_pack_start( GTK_BOX( hbox6 ),prEFontName,TRUE,TRUE,0 ); + hbuttonbox5=AddHButtonBox( hbox6 ); + gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox5 ),3 ); + BLoadFont=AddButton( MSGTR_Browse,hbuttonbox5 ); + +#ifndef CONFIG_FREETYPE + hbox7=AddHBox( vbox603,1 ); + AddLabel( MSGTR_PREFERENCES_FontFactor,hbox7 ); + HSFontFactoradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10,0.05,0,0 ) ); + HSFontFactor=AddHScaler( HSFontFactoradj,hbox7,2 ); +#else + + RBFontNoAutoScale=AddRadioButton( MSGTR_PREFERENCES_FontNoAutoScale,&Font_group,vbox603 ); + RBFontAutoScaleHeight=AddRadioButton( MSGTR_PREFERENCES_FontPropHeight,&Font_group,vbox603 ); + RBFontAutoScaleWidth=AddRadioButton( MSGTR_PREFERENCES_FontPropWidth,&Font_group,vbox603 ); + RBFontAutoScaleDiagonal=AddRadioButton( MSGTR_PREFERENCES_FontPropDiagonal,&Font_group,vbox603 ); + + table1=gtk_table_new( 3,2,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_box_pack_start( GTK_BOX( vbox603 ),table1,FALSE,FALSE,0 ); + + label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + CBFontEncoding=gtk_combo_new(); + gtk_widget_set_name( CBFontEncoding,"CBFontEncoding" ); + gtk_widget_show( CBFontEncoding ); + gtk_table_attach( GTK_TABLE( table1 ),CBFontEncoding,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + { + int i; + for ( i=0;lEncoding[i].name;i++ ) CBFontEncoding_items=g_list_append( CBFontEncoding_items,lEncoding[i].comment ); + } + gtk_combo_set_popdown_strings( GTK_COMBO( CBFontEncoding ),CBFontEncoding_items ); + g_list_free( CBFontEncoding_items ); + + EFontEncoding=GTK_COMBO( CBFontEncoding )->entry; + gtk_widget_set_name( EFontEncoding,"EFontEncoding" ); + gtk_entry_set_editable( GTK_ENTRY( EFontEncoding ),FALSE ); + gtk_widget_show( EFontEncoding ); + + label=AddLabel( MSGTR_PREFERENCES_FontBlur,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSFontBluradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); + HSFontBlur=AddHScaler( HSFontBluradj,NULL,2 ); + gtk_table_attach( GTK_TABLE( table1 ),HSFontBlur,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_FontOutLine,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSFontOutLineadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); + HSFontOutLine=AddHScaler( HSFontOutLineadj,NULL,2 ); + gtk_table_attach( GTK_TABLE( table1 ),HSFontOutLine,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_FontTextScale,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSFontTextScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); + HSFontTextScale=AddHScaler( HSFontTextScaleadj,NULL,2 ); + gtk_table_attach( GTK_TABLE( table1 ),HSFontTextScale,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_FontOSDScale,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + HSFontOSDScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); + HSFontOSDScale=AddHScaler( HSFontOSDScaleadj,NULL,2 ); + gtk_table_attach( GTK_TABLE( table1 ),HSFontOSDScale,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); +#endif + + label=AddLabel( MSGTR_PREFERENCES_FRAME_Font,NULL ); + gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),3 ),label ); + +// --- 5. page + + vbox601=AddVBox( notebook1,0 ); + + vbox602=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_CodecDemuxer,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); + + CBNonInterlaved=AddCheckButton( MSGTR_PREFERENCES_NI,vbox602 ); + CBIndex=AddCheckButton( MSGTR_PREFERENCES_IDX,vbox602 ); + + hbox5=AddHBox( vbox602,1 ); + + AddLabel( MSGTR_PREFERENCES_VideoCodecFamily,hbox5 ); + + CBVFM=gtk_combo_new(); + gtk_widget_set_name( CBVFM,"CBVFM" ); + gtk_widget_show( CBVFM ); + gtk_box_pack_start( GTK_BOX( hbox5 ),CBVFM,TRUE,TRUE,0 ); + + EVFM=GTK_COMBO( CBVFM )->entry; + gtk_widget_set_name( EVFM,"CEVFM" ); + gtk_entry_set_editable( GTK_ENTRY( EVFM ),FALSE ); + gtk_widget_show( EVFM ); + + hbox5=AddHBox( vbox602,1 ); + + AddLabel( MSGTR_PREFERENCES_AudioCodecFamily,hbox5 ); + + CBAFM=gtk_combo_new(); + gtk_widget_set_name( CBAFM,"CBAFM" ); + gtk_widget_show( CBAFM ); + gtk_box_pack_start( GTK_BOX( hbox5 ),CBAFM,TRUE,TRUE,0 ); + + EAFM=GTK_COMBO( CBAFM )->entry; + gtk_widget_set_name( EAFM,"EAFM" ); + gtk_entry_set_editable( GTK_ENTRY( EAFM ),FALSE ); + gtk_widget_show( EAFM ); + + label=AddLabel( MSGTR_PREFERENCES_Codecs,NULL ); + gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),4 ),label ); + + vbox601=AddVBox( notebook1,0 ); + +// --- 6. page + + vbox602=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_PostProcess,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); + + CBPostprocess=AddCheckButton( MSGTR_PREFERENCES_PostProcess,vbox602 ); + + hbox5=AddHBox( vbox602,1 ); + + AddLabel( MSGTR_PREFERENCES_AutoQuality,hbox5 ); + + if ( guiInfo.sh_video && guiInfo.Playing ) HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,get_video_quality_max( guiInfo.sh_video ),0,0,0 ) ); + else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); + HSPPQuality=AddHScaler( HSPPQualityadj,hbox5,0 ); + + vbox602=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_Cache,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); + + CBCache=AddCheckButton( MSGTR_PREFERENCES_Cache,vbox602 ); + + hbox5=AddHBox( vbox602,1 ); + + AddLabel( MSGTR_PREFERENCES_CacheSize,hbox5 ); + + SBCacheadj=GTK_ADJUSTMENT( gtk_adjustment_new( gtkCacheSize,32,1048576,1,32,0 ) ); + SBCache=gtk_spin_button_new( GTK_ADJUSTMENT( SBCacheadj ),1,0 ); + gtk_widget_show( SBCache ); + gtk_box_pack_start( GTK_BOX( hbox5 ),SBCache,TRUE,TRUE,0 ); + + vbox602=AddVBox( + AddFrame( NULL,GTK_SHADOW_NONE, + AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,1 ),1 ),0 ); + + CBShowVideoWindow=AddCheckButton( MSGTR_PREFERENCES_ShowVideoWindow,vbox602 ); + CBLoadFullscreen=AddCheckButton( MSGTR_PREFERENCES_LoadFullscreen,vbox602 ); + CBSaveWinPos=AddCheckButton( MSGTR_PREFERENCES_SaveWinPos,vbox602 ); + CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSCREENSAVER,vbox602 ); + CBPlayBar=AddCheckButton( MSGTR_PREFERENCES_PlayBar,vbox602 ); + CBNoIdle=AddCheckButton( MSGTR_PREFERENCES_NoIdle,vbox602 ); + + AddHSeparator( vbox602 ); + + CBAutoSync=AddCheckButton( MSGTR_PREFERENCES_AutoSync,vbox602 ); + hbox5=AddHBox( vbox602,1 ); + AddLabel( MSGTR_PREFERENCES_AutoSyncValue,hbox5 ); + SBAutoSyncadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10000,1,10,10 ) ); + SBAutoSync=gtk_spin_button_new( GTK_ADJUSTMENT( SBAutoSyncadj ),1,0 ); + gtk_widget_show( SBAutoSync ); + gtk_box_pack_start( GTK_BOX( hbox5 ),SBAutoSync,TRUE,TRUE,0 ); + + AddHSeparator( vbox602 ); + + table1=gtk_table_new( 2,2,FALSE ); + gtk_widget_set_name( table1,"table1" ); + gtk_widget_show( table1 ); + gtk_box_pack_start( GTK_BOX( vbox602 ),table1,FALSE,FALSE,0 ); + + label=AddLabel( MSGTR_PREFERENCES_DVDDevice,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + prEDVDDevice=gtk_entry_new(); + gtk_widget_set_name( prEDVDDevice,"prEDVDDevice" ); + gtk_widget_show( prEDVDDevice ); + gtk_table_attach( GTK_TABLE( table1 ),prEDVDDevice,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + + label=AddLabel( MSGTR_PREFERENCES_CDROMDevice,NULL ); + gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + prECDRomDevice=gtk_entry_new(); + gtk_widget_set_name( prECDRomDevice,"prECDRomDevice" ); + gtk_widget_show( prECDRomDevice ); + gtk_table_attach( GTK_TABLE( table1 ),prECDRomDevice,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); + +// AddHSeparator( vbox602 ); + + label=AddLabel( MSGTR_PREFERENCES_Misc,NULL ); + gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),5 ),label ); + +// --- + + AddHSeparator( vbox1 ); + + hbuttonbox1=AddHButtonBox( vbox1 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); + BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); + BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); + + gtk_widget_add_accelerator( BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( Preferences ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Preferences ); + + gtk_signal_connect( GTK_OBJECT( AConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bAConfig ); + gtk_signal_connect( GTK_OBJECT( BOk ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bOk ); + gtk_signal_connect( GTK_OBJECT( BCancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bCancel ); + gtk_signal_connect( GTK_OBJECT( VConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bVconfig ); +#if 0 + gtk_signal_connect( GTK_OBJECT( BLoadSubtitle ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLSubtitle ); +#endif + gtk_signal_connect( GTK_OBJECT( BLoadFont ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLFont ); + +#if 0 + gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( on_CBNormalize_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( on_CBSoftwareMixer_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBSurround ),"toggled",GTK_SIGNAL_FUNC( on_CBSurround_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( on_CBExtraStereo_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBDoubleBuffer ),"toggled",GTK_SIGNAL_FUNC( on_CBDoubleBuffer_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBDR ),"toggled",GTK_SIGNAL_FUNC( on_CBDR_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBFramedrop_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBHFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBHFramedrop_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBFullScreen ),"toggled",GTK_SIGNAL_FUNC( on_CBFullScreen_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBNonInterlaved ),"toggled",GTK_SIGNAL_FUNC( on_CBNonInterlaved_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBFlip ),"toggled",GTK_SIGNAL_FUNC( on_CBFlip_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBPostprocess ),"toggled",GTK_SIGNAL_FUNC( on_CBPostprocess_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBNoAutoSub ),"toggled",GTK_SIGNAL_FUNC( on_CBNoAutoSub_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBSubUnicode ),"toggled",GTK_SIGNAL_FUNC( on_CNSubUnicode_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBDumpMPSub ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpMPSub_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBDumpSrt ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpSrt_toggled ),NULL ); +#endif +#if 0 + gtk_signal_connect( GTK_OBJECT( RBOSDNone ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDNone_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( RBOSDTandP ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDTandP_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( RBOSDIndicator ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( RBOSDTPTT ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( on_CBAudioEqualizer_toggled ),NULL ); +#endif +#if 0 + gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSAudioDelay_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPanscan_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( label2 ),"motion_notify_event",GTK_SIGNAL_FUNC( on_label2_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubDelay_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubPosition_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( HSSubFPS ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubFPS_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSFontFactor_motion_notify_event ),NULL ); + gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPPQuality_motion_notify_event ),NULL ); +#endif + + gtk_notebook_set_page( GTK_NOTEBOOK( notebook1 ),2 ); + + gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group ); + + return Preferences; +} + +#ifdef CONFIG_OSS_AUDIO +static GList *appendOSSDevices(GList *l) +{ + // careful! the current implementation allows only string constants! + l = g_list_append(l, (gpointer)"/dev/dsp"); + if (gtkAOOSSDevice && strncmp(gtkAOOSSDevice, "/dev/sound", 10) == 0) { + l = g_list_append(l, (gpointer)"/dev/sound/dsp0"); + l = g_list_append(l, (gpointer)"/dev/sound/dsp1"); + l = g_list_append(l, (gpointer)"/dev/sound/dsp2"); + l = g_list_append(l, (gpointer)"/dev/sound/dsp3"); + } else { + l = g_list_append(l, (gpointer)"/dev/dsp0"); + l = g_list_append(l, (gpointer)"/dev/dsp1"); + l = g_list_append(l, (gpointer)"/dev/dsp2"); + l = g_list_append(l, (gpointer)"/dev/dsp3"); + } +#ifdef CONFIG_DXR3 + l = g_list_append(l, (gpointer)"/dev/em8300_ma"); + l = g_list_append(l, (gpointer)"/dev/em8300_ma-0"); + l = g_list_append(l, (gpointer)"/dev/em8300_ma-1"); + l = g_list_append(l, (gpointer)"/dev/em8300_ma-2"); + l = g_list_append(l, (gpointer)"/dev/em8300_ma-3"); +#endif + return l; +} + +static GList *appendOSSMixers(GList *l) +{ + // careful! the current implementation allows only string constants! + l = g_list_append(l, (gpointer)"/dev/mixer"); + if (gtkAOOSSMixer && strncmp(gtkAOOSSMixer, "/dev/sound", 10) == 0) { + l = g_list_append(l, (gpointer)"/dev/sound/mixer0"); + l = g_list_append(l, (gpointer)"/dev/sound/mixer1"); + l = g_list_append(l, (gpointer)"/dev/sound/mixer2"); + l = g_list_append(l, (gpointer)"/dev/sound/mixer3"); + } else { + l = g_list_append(l, (gpointer)"/dev/mixer0"); + l = g_list_append(l, (gpointer)"/dev/mixer1"); + l = g_list_append(l, (gpointer)"/dev/mixer2"); + l = g_list_append(l, (gpointer)"/dev/mixer3"); + } + return l; +} + +static GList *appendOSSMixerChannels(GList *l) +{ + l = g_list_append(l, (gpointer)"vol"); + l = g_list_append(l, (gpointer)"pcm"); + l = g_list_append(l, (gpointer)"line"); + return l; +} +#endif + +#ifdef CONFIG_ALSA +static GList *appendALSADevices(GList *l) +{ + l = g_list_append(l, (gpointer)"default"); + l = g_list_append(l, (gpointer)"hw=0.0"); + l = g_list_append(l, (gpointer)"hw=0.1"); + l = g_list_append(l, (gpointer)"hw=0.2"); + l = g_list_append(l, (gpointer)"surround40"); + l = g_list_append(l, (gpointer)"surround51"); + l = g_list_append(l, (gpointer)"plug=surround40"); + l = g_list_append(l, (gpointer)"plug=surround51"); + return l; +} + +static GList *appendALSAMixers(GList *l) +{ + l = g_list_append(l, (gpointer)"default"); + return l; +} + +static GList *appendALSAMixerChannels(GList *l) +{ + l = g_list_append(l, (gpointer)"Master"); + l = g_list_append(l, (gpointer)"Line"); + l = g_list_append(l, (gpointer)"PCM"); + l = g_list_append(l, (gpointer)"PCM,1"); + return l; +} +#endif + +#ifdef CONFIG_SDL +static GList *appendSDLDevices(GList *l) +{ + l = g_list_append(l, (gpointer)"alsa"); + l = g_list_append(l, (gpointer)"arts"); + l = g_list_append(l, (gpointer)"esd"); + l = g_list_append(l, (gpointer)"jack"); + l = g_list_append(l, (gpointer)"oss"); + l = g_list_append(l, (gpointer)"nas"); + return l; +} +#endif + +#ifdef CONFIG_ESD +static GList *appendESDDevices(GList *l) +{ + l = g_list_append(l, (gpointer)"Enter Remote IP"); + l = g_list_append(l, (gpointer)"Use Software Mixer"); + return l; +} +#endif + +// Gets text string from a gtk entry, interpreting +// MSGTR_PREFERENCES_DriverDefault as null string. +static const char *getGtkEntryText(GtkWidget *from) +{ + const char *tmp = gtk_entry_get_text(GTK_ENTRY(from)); + if (strcmp(tmp, MSGTR_PREFERENCES_DriverDefault) == 0) { + tmp = NULL; + } + return tmp; +} + +// Sets text string of a gtk entry, interpreting +// null string as MSGTR_PREFERENCES_DriverDefault. +static void setGtkEntryText(GtkWidget *dest, char *to) +{ + if (!to) { + to = MSGTR_PREFERENCES_DriverDefault; + } + gtk_entry_set_text(GTK_ENTRY(dest),to); +} + + GtkWidget *AudioConfig; +static GtkWidget *CEAudioDevice; +static GtkWidget *CBAudioDevice; +static GtkWidget *CEAudioMixer; +static GtkWidget *CBAudioMixer; +static GtkWidget *CEAudioMixerChannel; +static GtkWidget *CBAudioMixerChannel; +static GtkWidget *BAudioOk; +static GtkWidget *BAudioCancel; + +void ShowAudioConfig( void ) { + if (AudioConfig) gtkActive(AudioConfig); + else AudioConfig = create_AudioConfig(); + +#ifdef CONFIG_OSS_AUDIO + if (strncmp(ao_driver[0], "oss", 3) == 0) { + setGtkEntryText(CEAudioDevice, gtkAOOSSDevice); + setGtkEntryText(CEAudioMixer, gtkAOOSSMixer); + setGtkEntryText(CEAudioMixerChannel, gtkAOOSSMixerChannel); + } +#endif +#ifdef CONFIG_ALSA + if (strncmp(ao_driver[0], "alsa", 4) == 0) { + setGtkEntryText(CEAudioDevice, gtkAOALSADevice); + setGtkEntryText(CEAudioMixer, gtkAOALSAMixer); + setGtkEntryText(CEAudioMixerChannel, gtkAOALSAMixerChannel); + } +#endif +#ifdef CONFIG_SDL + if (strncmp(ao_driver[0], "sdl", 3) == 0) { + setGtkEntryText(CEAudioDevice, gtkAOSDLDriver); + } +#endif +#ifdef CONFIG_ESD + if (strncmp(ao_driver[0], "esd", 3) == 0) { + setGtkEntryText(CEAudioDevice, gtkAOESDDevice); + } +#endif + + gtk_widget_show(AudioConfig); + gtkSetLayer(AudioConfig); +} + +void HideAudioConfig( void ) { + if (!AudioConfig) return; + gtk_widget_hide(AudioConfig); + gtk_widget_destroy(AudioConfig); + AudioConfig=NULL; +} + +static void audioButton(GtkButton *button, gpointer user_data) { + switch( (int)user_data ) { + case 1: +#ifdef CONFIG_OSS_AUDIO + if (strncmp(ao_driver[0], "oss", 3) == 0) { + gfree((void **) >kAOOSSDevice); + gtkAOOSSDevice = gstrdup(getGtkEntryText(CEAudioDevice)); + gfree((void **) >kAOOSSMixer); + gtkAOOSSMixer = gstrdup(getGtkEntryText(CEAudioMixer)); + gfree((void **) >kAOOSSMixerChannel); + gtkAOOSSMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); + } +#endif +#ifdef CONFIG_ALSA + if (strncmp(ao_driver[0], "alsa", 4) == 0) { + gfree((void **) >kAOALSADevice); + gtkAOALSADevice = gstrdup(getGtkEntryText(CEAudioDevice)); + gfree((void **) >kAOALSAMixer); + gtkAOALSAMixer = gstrdup(getGtkEntryText(CEAudioMixer)); + gfree((void **) >kAOALSAMixerChannel); + gtkAOALSAMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); + } +#endif +#ifdef CONFIG_SDL + if (strncmp(ao_driver[0], "sdl", 3) == 0) { + gfree((void **) >kAOSDLDriver); + gtkAOSDLDriver = gstrdup(getGtkEntryText(CEAudioDevice)); + } +#endif +#ifdef CONFIG_ESD + if (strncmp(ao_driver[0], "esd", 3) == 0) { + gfree((void **) >kAOESDDevice); + gtkAOESDDevice = gstrdup(getGtkEntryText(CEAudioDevice)); + } +#endif + case 0: + HideAudioConfig(); + break; + } +} + +GtkWidget *create_AudioConfig( void ) { + GList *items = NULL; + GtkWidget *vbox; + GtkWidget *table; + GtkWidget *label; + GtkWidget *hbuttonbox; + GtkAccelGroup *accel_group; + + AudioConfig = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_widget_set_name(AudioConfig, "AudioConfig"); + gtk_object_set_data(GTK_OBJECT(AudioConfig), "AudioConfig", AudioConfig); + gtk_window_set_title(GTK_WINDOW(AudioConfig), MSGTR_AudioPreferences); + gtk_window_set_position(GTK_WINDOW(AudioConfig), GTK_WIN_POS_CENTER); + gtk_window_set_policy(GTK_WINDOW(AudioConfig), FALSE, FALSE, FALSE); + gtk_window_set_wmclass(GTK_WINDOW(AudioConfig), "Audio Config", "MPlayer"); + + gtk_widget_realize(AudioConfig); + gtkAddIcon(AudioConfig); + + vbox = AddVBox(AddDialogFrame(AudioConfig), 0); + + table = gtk_table_new(2, 3, FALSE); + gtk_widget_set_name(table, "table"); + gtk_widget_show(table); + gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); + + label = AddLabel(MSGTR_PREFERENCES_Audio_Device, NULL); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); + + CBAudioDevice = AddComboBox(NULL); + gtk_table_attach(GTK_TABLE(table), CBAudioDevice, 1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); + items = g_list_append(items,(gpointer)MSGTR_PREFERENCES_DriverDefault); +#ifdef CONFIG_OSS_AUDIO + if (strncmp(ao_driver[0], "oss", 3) == 0) + items = appendOSSDevices(items); +#endif +#ifdef CONFIG_ALSA + if (strncmp(ao_driver[0], "alsa", 4) == 0) + items = appendALSADevices(items); +#endif +#ifdef CONFIG_SDL + if (strncmp(ao_driver[0], "sdl", 3) == 0) + items = appendSDLDevices(items); +#endif +#ifdef CONFIG_ESD + if (strncmp(ao_driver[0], "esd", 3) == 0) + items = appendESDDevices(items); +#endif + gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioDevice), items); + g_list_free(items); + items = NULL; + + CEAudioDevice = GTK_COMBO(CBAudioDevice)->entry; + gtk_widget_set_name(CEAudioDevice, "CEAudioDevice"); + gtk_widget_show(CEAudioDevice); + + label = AddLabel(MSGTR_PREFERENCES_Audio_Mixer, NULL); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); + + CBAudioMixer = AddComboBox(NULL); + gtk_table_attach(GTK_TABLE(table), CBAudioMixer, 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); + items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); +#ifdef CONFIG_OSS_AUDIO + if (strncmp(ao_driver[0], "oss", 3) == 0) + items = appendOSSMixers(items); +#endif +#ifdef CONFIG_ALSA + if (strncmp(ao_driver[0], "alsa", 4) == 0) + items = appendALSAMixers(items); +#endif + gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixer), items); + g_list_free(items); + items = NULL; + + CEAudioMixer = GTK_COMBO(CBAudioMixer)->entry; + gtk_widget_set_name(CEAudioMixer, "CEAudioMixer"); + gtk_widget_show(CEAudioMixer); + + label = AddLabel(MSGTR_PREFERENCES_Audio_MixerChannel, NULL); + gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); + + CBAudioMixerChannel = AddComboBox(NULL); + gtk_table_attach(GTK_TABLE(table), CBAudioMixerChannel, 1, 2, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); + items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); +#ifdef CONFIG_OSS_AUDIO + if (strncmp(ao_driver[0], "oss", 3) == 0) + items = appendOSSMixerChannels(items); +#endif +#ifdef CONFIG_ALSA + if (strncmp(ao_driver[0], "alsa", 4) == 0) + items = appendALSAMixerChannels(items); +#endif + gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixerChannel), items); + g_list_free(items); + items = NULL; + + CEAudioMixerChannel = GTK_COMBO(CBAudioMixerChannel)->entry; + gtk_widget_set_name(CEAudioMixerChannel, "CEAudioMixerChannel"); + gtk_widget_show(CEAudioMixerChannel); + + AddHSeparator(vbox); + + hbuttonbox = AddHButtonBox(vbox); + gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END); + gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 10); + BAudioOk = AddButton(MSGTR_Ok, hbuttonbox); + BAudioCancel = AddButton(MSGTR_Cancel, hbuttonbox); + + gtk_signal_connect(GTK_OBJECT(AudioConfig), "destroy", GTK_SIGNAL_FUNC(WidgetDestroy), &AudioConfig); + gtk_signal_connect(GTK_OBJECT(BAudioOk), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)1); + gtk_signal_connect(GTK_OBJECT(BAudioCancel), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)0); + + accel_group = gtk_accel_group_new(); + gtk_widget_add_accelerator(BAudioOk, "clicked", accel_group, GDK_Return, 0, GTK_ACCEL_VISIBLE); + gtk_widget_add_accelerator(BAudioCancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); + gtk_window_add_accel_group(GTK_WINDOW(AudioConfig), accel_group); + + return AudioConfig; +} + +#ifdef CONFIG_DXR3 +// --- dxr3 config box + +static GtkWidget * DXR3Config; +static GtkWidget * CBDevice; +static GtkWidget * CEDXR3Device; +static GtkWidget * RBVNone; +static GtkWidget * RBVLavc; +static GtkWidget * dxr3BOk; +static GtkWidget * dxr3BCancel; + +GtkWidget * create_DXR3Config( void ); + +void ShowDXR3Config( void ) +{ + if ( DXR3Config ) gtkActive( DXR3Config ); + else DXR3Config=create_DXR3Config(); + + gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),gtkDXR3Device ); + + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE ); + if ( gtkVfLAVC ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVLavc ),TRUE ); + + gtk_widget_show( DXR3Config ); + gtkSetLayer( DXR3Config ); +} + +void HideDXR3Config( void ) +{ + if ( !DXR3Config ) return; + gtk_widget_hide( DXR3Config ); + gtk_widget_destroy( DXR3Config ); + DXR3Config=NULL; +} + +static void dxr3Button( GtkButton * button,gpointer user_data ) +{ + switch ( (int)user_data ) + { + case 0: // Ok + gfree( (void **)>kDXR3Device ); gtkDXR3Device=strdup( gtk_entry_get_text( GTK_ENTRY( CEDXR3Device ) ) ); + gtkVfLAVC=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVLavc ) ); + case 1: // Cancel + HideDXR3Config(); + break; + } +} + +GtkWidget * create_DXR3Config( void ) +{ + GtkWidget * vbox1; + GtkWidget * vbox2; + GtkWidget * hbox1; + GList * CBDevice_items = NULL; + GtkWidget * vbox3; + GSList * VEncoder_group = NULL; + GtkWidget * hbuttonbox1; + GtkAccelGroup * accel_group; + + accel_group=gtk_accel_group_new(); + + DXR3Config=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( DXR3Config,"DXR3Config" ); + gtk_object_set_data( GTK_OBJECT( DXR3Config ),"DXR3Config",DXR3Config ); +// gtk_widget_set_usize( DXR3Config,300,156 ); + GTK_WIDGET_SET_FLAGS( DXR3Config,GTK_CAN_DEFAULT ); + gtk_window_set_title( GTK_WINDOW( DXR3Config ),"DXR3/H+" ); + gtk_window_set_position( GTK_WINDOW( DXR3Config ),GTK_WIN_POS_CENTER ); + gtk_window_set_policy( GTK_WINDOW( DXR3Config ),FALSE,FALSE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( DXR3Config ),"DXR3","MPlayer" ); + + gtk_widget_realize( DXR3Config ); + gtkAddIcon( DXR3Config ); + + vbox1=AddVBox( AddDialogFrame( DXR3Config ),0 ); + vbox2=AddVBox( vbox1,0 ); + hbox1=AddHBox( vbox2,1 ); + AddLabel( MSGTR_PREFERENCES_Audio_Device,hbox1 ); + + CBDevice=AddComboBox( hbox1 ); + + CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300" ); + CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-0" ); + CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-1" ); + CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-2" ); + CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-3" ); + gtk_combo_set_popdown_strings( GTK_COMBO( CBDevice ),CBDevice_items ); + g_list_free( CBDevice_items ); + + CEDXR3Device=GTK_COMBO( CBDevice )->entry; + gtk_widget_set_name( CEDXR3Device,"CEDXR3Device" ); + gtk_widget_show( CEDXR3Device ); + gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),"/dev/em8300" ); + + AddHSeparator( vbox2 ); + vbox3=AddVBox( vbox2,0 ); + AddLabel( MSGTR_PREFERENCES_DXR3_VENC,vbox3 ); + RBVNone=AddRadioButton( MSGTR_PREFERENCES_None,&VEncoder_group,vbox3 ); + RBVLavc=AddRadioButton( MSGTR_PREFERENCES_DXR3_LAVC,&VEncoder_group,vbox3 ); + + AddHSeparator( vbox1 ); + + hbuttonbox1=AddHButtonBox( vbox1 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); + dxr3BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); + dxr3BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); + + gtk_widget_add_accelerator( dxr3BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( dxr3BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&DXR3Config ); + + gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 ); + gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 ); + + gtk_window_add_accel_group( GTK_WINDOW( DXR3Config ),accel_group ); + + return DXR3Config; +} + +#endif diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/opts.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/opts.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,33 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_OPTS_H +#define MPLAYER_GUI_OPTS_H + +#include + +extern GtkWidget * AudioConfig; +extern GtkWidget * Preferences; +extern GtkWidget * prEFontName; + +GtkWidget * create_Preferences( void ); +GtkWidget * create_AudioConfig( void ); + +void ShowPreferences( void ); + +#endif /* MPLAYER_GUI_OPTS_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/pl.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/pl.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,611 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "config.h" +#include "help_mp.h" +#include "stream/stream.h" + +#include "gui/interface.h" +#include "gui/mplayer/widgets.h" +#include "pl.h" +#include "gtk_common.h" + +static char * book_open_xpm[] = { + "16 16 4 1", + " c None s None", + ". c black", + "X c #808080", + "o c white", + " ", + " .. ", + " .Xo. ... ", + " .Xoo. ..oo. ", + " .Xooo.Xooo... ", + " .Xooo.oooo.X. ", + " .Xooo.Xooo.X. ", + " .Xooo.oooo.X. ", + " .Xooo.Xooo.X. ", + " .Xooo.oooo.X. ", + " .Xoo.Xoo..X. ", + " .Xo.o..ooX. ", + " .X..XXXXX. ", + " ..X....... ", + " .. ", + " "}; + +static char * book_closed_xpm[] = { + "16 16 6 1", + " c None s None", + ". c black", + "X c blue", + "o c yellow", + "O c #007FEA", + "# c white", + " ", + " .. ", + " ..XX. ", + " ..XXXXX. ", + " ..XXXXXXXX. ", + ".ooXXXXXXXXX. ", + "..ooXXXXXXXXX. ", + ".X.ooXXXXXXXXX. ", + ".XX.ooXXXXXX.. ", + " .XX.ooXXX..#O ", + " .XX.oo..##OO. ", + " .XX..##OO.. ", + " .X.#OO.. ", + " ..O.. ", + " .. ", + " "}; + + GtkWidget * PlayList = NULL; +static GtkWidget * CTDirTree; +static GtkWidget * CLFiles; +static GtkWidget * CLSelected; +static GtkWidget * Add; +static GtkWidget * Remove; +static GtkWidget * Ok; +static GtkWidget * Cancel; +static GdkPixmap * pxOpenedBook; +static GdkPixmap * pxClosedBook; +static GdkBitmap * msOpenedBook; +static GdkBitmap * msClosedBook; + +static int NrOfEntrys = 0; +static int NrOfSelected = 0; +static int * CLFileSelected = NULL; +static int * CLListSelected = NULL; + +static int sigSel; +static int sigUnsel; +static int sigEvent; + +typedef struct +{ + int scaned; + char * path; +} DirNodeType; + +static GtkCTreeNode * sibling; +static GtkCTreeNode * parent; +static gchar * current_path; +static gchar * old_path = NULL; + +static int compare_func(const void *a, const void *b) +{ + char * tmp; + int i; + if ( !a || !b || !( (DirNodeType *)a )->path ) return -1; + tmp=strdup( (char *)b ); tmp[strlen( tmp )-1]=0; + i=strcmp( ( (DirNodeType *)a )->path,tmp ); + free( tmp ); + return i; +} + +static void scan_dir( char * path ); + +void ShowPlayList( void ) +{ + if ( PlayList ) gtkActive( PlayList ); + else PlayList=create_PlayList(); + + if ( old_path && *old_path ) + { + char * currentdir = strdup( old_path ); + char * tpath,* pos; + GtkCTreeNode * node,* nextnode; + gboolean leaf; + tpath=strdup( "/" ); + pos=strtok( currentdir,"/" ); + node=gtk_ctree_find_by_row_data_custom( GTK_CTREE( CTDirTree ),NULL,"/",compare_func ); + do + { + char * tpathnew = g_strconcat( tpath,pos,"/",NULL ); + free( tpath ); tpath=tpathnew; + nextnode=gtk_ctree_find_by_row_data_custom( GTK_CTREE( CTDirTree ),node,tpath,compare_func ); + if ( !nextnode ) break; + node=nextnode; + pos=strtok( NULL,"/" ); + gtk_ctree_get_node_info( GTK_CTREE( CTDirTree ),node,NULL,NULL,NULL,NULL,NULL,NULL,&leaf,NULL ); + if ( !leaf && pos ) gtk_ctree_expand( GTK_CTREE( CTDirTree ),node ); + else + { + DirNodeType * DirNode; + gtk_ctree_select( GTK_CTREE( CTDirTree ),node ); + DirNode=gtk_ctree_node_get_row_data( GTK_CTREE( CTDirTree ),node ); + current_path=DirNode->path; + scan_dir( DirNode->path ); + free( CLFileSelected ); + CLFileSelected=calloc( 1,NrOfEntrys * sizeof( int ) ); + break; + } + } while( pos ); + free( tpath ); + free( currentdir ); + } + else gtk_ctree_select( GTK_CTREE( CTDirTree ),parent ); + + gtk_clist_freeze( GTK_CLIST( CLSelected ) ); + gtk_clist_clear( GTK_CLIST( CLSelected ) ); + if ( plList ) + { + gchar * name, * path; + plItem * next = plList; + while ( next || next->next ) + { + char * text[1][3]; text[0][2]=""; + name = g_filename_to_utf8( next->name, -1, NULL, NULL, NULL ); + path = g_filename_to_utf8( next->path, -1, NULL, NULL, NULL ); + text[0][0]=name ? name : next->name; + text[0][1]=path ? path : next->path; + gtk_clist_append( GTK_CLIST( CLSelected ),text[0] ); + g_free( path ); + g_free( name ); + NrOfSelected++; + if ( next->next ) next=next->next; else break; + } + CLListSelected=calloc( 1,NrOfSelected * sizeof( int ) ); + } + gtk_clist_thaw( GTK_CLIST( CLSelected ) ); + + gtk_widget_show( PlayList ); +} + +void HidePlayList( void ) +{ + if ( !PlayList ) return; + NrOfSelected=NrOfEntrys=0; + gfree( (void **)&CLListSelected ); gfree( (void **)&CLFileSelected ); + free( old_path ); + old_path=strdup( current_path ); + gtk_widget_hide( PlayList ); + gtk_widget_destroy( PlayList ); + PlayList=NULL; +} + +static void plRowSelect( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) +{ + switch ( (int) user_data ) + { + case 0: CLFileSelected[row]=1; break; + case 1: CLListSelected[row]=1; break; + } +} + +static void plUnRowSelect( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) +{ + switch ( (int) user_data ) + { + case 0: CLFileSelected[row]=0; break; + case 1: CLListSelected[row]=0; break; + } +} + +static void plButtonReleased( GtkButton * button,gpointer user_data ) +{ + switch ( (int) user_data ) + { + case 1: // ok + { + int i; + if ( plList ) gtkSet( gtkDelPl,0,NULL ); + for ( i=0;iname=g_filename_from_utf8( text[0], -1, NULL, NULL, NULL ); + if ( !item->name ) item->name = strdup( text[0] ); + item->path=g_filename_from_utf8( text[1], -1, NULL, NULL, NULL ); + if ( !item->path ) item->path = strdup( text[1] ); + gtkSet( gtkAddPlItem,0,(void*)item ); + } + if ( plCurrent ) + { + uiSetFileName( plCurrent->path,plCurrent->name,STREAMTYPE_FILE ); +// guiSetDF( guiInfo.Filename,plCurrent->path,plCurrent->name ); +// guiInfo.FilenameChanged=1; +// guiInfo.StreamType=STREAMTYPE_FILE; + } + } + case 0: // cancel + HidePlayList(); + break; + case 2: // remove + { + int i; int j; int c=0; + + gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigSel ); + gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigUnsel ); + gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigEvent ); + + gtk_clist_freeze( GTK_CLIST( CLSelected ) ); + for ( i=0;itype == GDK_BUTTON_RELEASE && bevent->button == 2 ) + { + if ( gtk_clist_get_selection_info( GTK_CLIST( widget ), bevent->x, bevent->y, &row, &col ) ) + { + switch ( (int) user_data ) + { + case 0: + CLFileSelected[row] = 1; + plButtonReleased( NULL, (void *) 3 ); + CLFileSelected[row] = 0; + return TRUE; + + case 1: + CLListSelected[row] = 1; + plButtonReleased( NULL, (void *) 2 ); + return TRUE; + } + } + } + + return FALSE; +} + +static int check_for_subdir( gchar * path ) +{ + DIR * dir; + struct dirent * dirent; + struct stat statbuf; + gchar * npath; + + if ( (dir=opendir( path )) ) + { + while ( (dirent=readdir( dir )) ) + { + if ( dirent->d_name[0] != '.' ) + { + npath=calloc( 1,strlen( path ) + strlen( dirent->d_name ) + 3 ); + sprintf( npath,"%s/%s",path,dirent->d_name ); + if ( stat( npath,&statbuf ) != -1 && S_ISDIR( statbuf.st_mode ) ) + { free( npath ); closedir( dir ); return 1; } + free( npath ); + } + } + closedir( dir ); + } + return 0; +} + +static void plCTree( GtkCTree * ctree,GtkCTreeNode * parent_node,gpointer user_data ) +{ + GtkCTreeNode * node; + DirNodeType * DirNode; + gchar * text, * name = NULL; + gchar * dummy = "dummy"; + int subdir = 1; + DIR * dir = NULL; + struct dirent * dirent; + gchar * path; + struct stat statbuf; + + DirNode=gtk_ctree_node_get_row_data( ctree,parent_node ); + if ( !DirNode->scaned ) + { + DirNode->scaned=1; current_path=DirNode->path; + gtk_clist_freeze( GTK_CLIST( ctree ) ); + node=gtk_ctree_find_by_row_data( ctree,parent_node,NULL ); + gtk_ctree_remove_node( ctree,node ); + + if ( (dir=opendir( DirNode->path ) ) ) + { + while( (dirent=readdir( dir )) ) + { + path=calloc( 1,strlen( DirNode->path ) + strlen( dirent->d_name ) + 2 ); + if ( !strcmp( current_path,"/" ) ) sprintf( path,"/%s",dirent->d_name ); + else sprintf( path,"%s/%s",current_path,dirent->d_name ); + text=dirent->d_name; + g_free( name ); + name=g_filename_to_utf8( text, -1, NULL, NULL, NULL ); + + if ( stat( path,&statbuf ) != -1 && S_ISDIR( statbuf.st_mode ) && dirent->d_name[0] != '.' ) + { + DirNode=malloc( sizeof( DirNodeType ) ); DirNode->scaned=0; DirNode->path=strdup( path ); + subdir=check_for_subdir( path ); + node=gtk_ctree_insert_node( ctree,parent_node,NULL,(name ? &name : &text ),4,pxOpenedBook,msOpenedBook,pxClosedBook,msClosedBook,!subdir,FALSE ); + gtk_ctree_node_set_row_data_full( ctree,node,DirNode,NULL ); + if ( subdir ) node=gtk_ctree_insert_node( ctree,node,NULL,&dummy,4,NULL,NULL,NULL,NULL,FALSE,FALSE ); + } + free( path ); path=NULL; + } + closedir( dir ); + } + + gtk_ctree_sort_node( ctree,parent_node ); + gtk_clist_thaw( GTK_CLIST( ctree ) ); + } + + g_free( name ); +} + +static void scan_dir( char * path ) +{ + DIR * dir = NULL; + char * curr; + struct dirent * dirent; + struct stat statbuf; + gchar * name; + char * text[1][2]; text[0][1]=""; + + gtk_clist_clear( GTK_CLIST( CLFiles ) ); + if ( (dir=opendir( path )) ) + { + NrOfEntrys=0; + while( (dirent=readdir( dir )) ) + { + curr=calloc( 1,strlen( path ) + strlen( dirent->d_name ) + 3 ); sprintf( curr,"%s/%s",path,dirent->d_name ); + if ( stat( curr,&statbuf ) != -1 && ( S_ISREG( statbuf.st_mode ) || S_ISLNK( statbuf.st_mode ) ) ) + { + name=g_filename_to_utf8( dirent->d_name, -1, NULL, NULL, NULL ); + text[0][0]=name ? name : dirent->d_name; + gtk_clist_append( GTK_CLIST( CLFiles ), text[0] ); + g_free( name ); + NrOfEntrys++; + } + free( curr ); + } + closedir( dir ); + gtk_clist_sort( GTK_CLIST( CLFiles ) ); + } +} + +static void plCTRow(GtkWidget * widget, gint row, gint column, GdkEventButton * bevent, gpointer data) +{ + DirNodeType * DirNode; + GtkCTreeNode * node; + node=gtk_ctree_node_nth( GTK_CTREE( widget ),row ); + DirNode=gtk_ctree_node_get_row_data( GTK_CTREE( widget ),node ); + current_path=DirNode->path; + gtk_ctree_expand( GTK_CTREE( widget ),node ); + scan_dir( DirNode->path ); + free( CLFileSelected ); + CLFileSelected=calloc( 1,NrOfEntrys * sizeof( int ) ); +} + +GtkWidget * create_PlayList( void ) +{ + GtkWidget * vbox1; + GtkWidget * hbox1; + GtkWidget * scrolledwindow1; + GtkWidget * vbox2; + GtkWidget * scrolledwindow2; + GtkWidget * scrolledwindow3; + GtkWidget * hbuttonbox1; + GtkAccelGroup * accel_group; + GdkColor transparent = { 0,0,0,0 }; + gchar * root = "/"; + gchar * dummy = "dummy"; + DirNodeType * DirNode; + + accel_group=gtk_accel_group_new(); + + PlayList=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_object_set_data( GTK_OBJECT( PlayList ),"PlayList",PlayList ); + gtk_widget_set_usize( PlayList,512,384 ); + gtk_window_set_title( GTK_WINDOW( PlayList ),MSGTR_PlayList ); + gtk_window_set_position( GTK_WINDOW( PlayList ),GTK_WIN_POS_CENTER ); +// gtk_window_set_policy( GTK_WINDOW( PlayList ),FALSE,FALSE,FALSE ); + gtk_window_set_wmclass( GTK_WINDOW( PlayList ),"Playlist","MPlayer" ); + + gtk_widget_realize( PlayList ); + gtkAddIcon( PlayList ); + + vbox1=AddVBox( AddDialogFrame( PlayList ),0 ); + hbox1=AddHBox( NULL,1 ); + gtk_box_pack_start( GTK_BOX( vbox1 ),hbox1,TRUE,TRUE,0 ); + + scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_show( scrolledwindow1 ); + gtk_container_add( GTK_CONTAINER( + AddFrame( NULL,0,hbox1,1 ) ),scrolledwindow1 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); + + CTDirTree=gtk_ctree_new( 1,0 ); + gtk_signal_connect( GTK_OBJECT( CTDirTree ),"tree_expand",GTK_SIGNAL_FUNC( plCTree ),(void*)0 ); + gtk_signal_connect( GTK_OBJECT( CTDirTree ),"select_row",GTK_SIGNAL_FUNC( plCTRow ),(void *)0 ); + gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),CTDirTree ); + gtk_clist_set_column_auto_resize( GTK_CLIST( CTDirTree ),0,TRUE ); + gtk_clist_set_column_width( GTK_CLIST( CTDirTree ),0,80 ); + gtk_clist_set_selection_mode( GTK_CLIST( CTDirTree ),GTK_SELECTION_SINGLE ); + gtk_ctree_set_line_style( GTK_CTREE( CTDirTree ),GTK_CTREE_LINES_SOLID ); + gtk_clist_column_titles_show( GTK_CLIST( CTDirTree ) ); + gtk_clist_set_shadow_type( GTK_CLIST( CTDirTree ),GTK_SHADOW_NONE ); + + if ( !pxOpenedBook ) pxOpenedBook=gdk_pixmap_create_from_xpm_d( PlayList->window,&msOpenedBook,&transparent,book_closed_xpm ); + if ( !pxClosedBook ) pxClosedBook=gdk_pixmap_create_from_xpm_d( PlayList->window,&msClosedBook,&transparent,book_open_xpm ); + + parent=gtk_ctree_insert_node( GTK_CTREE( CTDirTree ),NULL,NULL,&root,4,pxOpenedBook,msOpenedBook,pxClosedBook,msClosedBook,FALSE,FALSE ); + DirNode=malloc( sizeof( DirNodeType ) ); + DirNode->scaned=0; DirNode->path=strdup( root ); + gtk_ctree_node_set_row_data_full(GTK_CTREE( CTDirTree ),parent,DirNode,NULL ); + sibling=gtk_ctree_insert_node( GTK_CTREE( CTDirTree ),parent,NULL,&dummy,4,NULL,NULL,NULL,NULL,TRUE,TRUE ); + gtk_ctree_expand( GTK_CTREE( CTDirTree ),parent ); + gtk_widget_show( CTDirTree ); + + old_path = fsHistory[0]; + + gtk_clist_set_column_widget( GTK_CLIST( CTDirTree ),0, + AddLabel( MSGTR_PLAYLIST_DirectoryTree,NULL ) ); + + vbox2=AddVBox( + AddFrame( NULL,1,hbox1,1 ),0 ); + + scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_show( scrolledwindow2 ); + gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow2,TRUE,TRUE,0 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); + + CLFiles=gtk_clist_new( 1 ); + gtk_widget_show( CLFiles ); + gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLFiles ); + gtk_clist_set_column_width( GTK_CLIST( CLFiles ),0,80 ); + gtk_clist_set_selection_mode( GTK_CLIST( CLFiles ),GTK_SELECTION_EXTENDED ); + gtk_clist_column_titles_show( GTK_CLIST( CLFiles ) ); + gtk_clist_set_shadow_type( GTK_CLIST( CLFiles ),GTK_SHADOW_NONE ); + + gtk_clist_set_column_widget( GTK_CLIST( CLFiles ),0, + AddLabel( MSGTR_PLAYLIST_Files,NULL ) ); + + AddHSeparator( vbox2 ); + + scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_show( scrolledwindow3 ); + gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); + + CLSelected=gtk_clist_new( 2 ); + gtk_widget_show( CLSelected ); + gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLSelected ); + gtk_clist_set_column_width( GTK_CLIST( CLSelected ),0,295 ); + gtk_clist_set_column_width( GTK_CLIST( CLSelected ),1,295 ); + gtk_clist_set_selection_mode( GTK_CLIST( CLSelected ),GTK_SELECTION_MULTIPLE ); + gtk_clist_column_titles_show( GTK_CLIST( CLSelected ) ); + gtk_clist_set_shadow_type( GTK_CLIST( CLSelected ),GTK_SHADOW_NONE ); + + gtk_clist_set_column_widget( GTK_CLIST( CLSelected ),0, + AddLabel( MSGTR_PLAYLIST_Selected,NULL ) ); + + gtk_clist_set_column_widget( GTK_CLIST( CLSelected ),1, + AddLabel( MSGTR_PLAYLIST_Path,NULL ) ); + + AddHSeparator( vbox1 ); + + hbuttonbox1=AddHButtonBox( vbox1 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); + + Add=AddButton( MSGTR_Add,hbuttonbox1 ); + Remove=AddButton( MSGTR_Remove,hbuttonbox1 ); + Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); + Cancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); + + gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( PlayList ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&PlayList ); + + gtk_signal_connect( GTK_OBJECT( CLFiles ),"select_row",GTK_SIGNAL_FUNC( plRowSelect ),(void *)0 ); + gtk_signal_connect( GTK_OBJECT( CLFiles ),"unselect_row",GTK_SIGNAL_FUNC( plUnRowSelect ),(void *)0 ); + gtk_signal_connect( GTK_OBJECT( CLFiles ),"event",GTK_SIGNAL_FUNC( plEvent ),(void *)0 ); + sigSel=gtk_signal_connect( GTK_OBJECT( CLSelected ),"select_row",GTK_SIGNAL_FUNC( plRowSelect ),(void*)1 ); + sigUnsel=gtk_signal_connect( GTK_OBJECT( CLSelected ),"unselect_row",GTK_SIGNAL_FUNC( plUnRowSelect ),(void*)1 ); + sigEvent=gtk_signal_connect( GTK_OBJECT( CLSelected ),"event",GTK_SIGNAL_FUNC( plEvent ),(void *)1 ); + + gtk_signal_connect( GTK_OBJECT( Add ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)3 ); + gtk_signal_connect( GTK_OBJECT( Remove ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)2 ); + gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( plButtonReleased ),(void*)0 ); + + gtk_window_add_accel_group( GTK_WINDOW( PlayList ),accel_group ); + + return PlayList; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/pl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/pl.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,29 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_PL_H +#define MPLAYER_GUI_PL_H + +#include + +void ShowPlayList( void ); +void HidePlayList( void ); + +GtkWidget * create_PlayList (void); + +#endif /* MPLAYER_GUI_PL_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/sb.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/sb.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,204 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "sb.h" +#include "gtk_common.h" + +#include "gui/app.h" +#include "help_mp.h" + +#include "gui/mplayer/widgets.h" + +GtkWidget * SkinList = NULL; +char * sbSelectedSkin=NULL; +char * sbMPlayerDirInHome=NULL; +char * sbMPlayerPrefixDir=NULL; + +char * gtkOldSkin=NULL; +static char * prev=NULL; + +GtkWidget * SkinBrowser = NULL; + +void ShowSkinBrowser( void ) +{ + if ( SkinBrowser ) gtkActive( SkinBrowser ); + else SkinBrowser=create_SkinBrowser(); +} + +static void HideSkinBrowser( void ) +{ + if ( !SkinBrowser ) return; + gtk_widget_hide( SkinBrowser ); + gtk_widget_destroy( SkinBrowser ); + SkinBrowser=NULL; +} + +int gtkFillSkinList( gchar * mdir ) +{ + gchar * str[2]; + gchar * tmp; + int i; + glob_t gg; + struct stat fs; + + gtkOldSkin=strdup( skinName ); + prev=gtkOldSkin; + + str[0]="default"; + str[1]=""; + if ( gtkFindCList( SkinList,str[0] ) == -1 ) gtk_clist_append( GTK_CLIST( SkinList ),str ); + + glob( mdir,GLOB_NOSORT,NULL,&gg ); + for( i=0;i<(int)gg.gl_pathc;i++ ) + { + if ( !strcmp( gg.gl_pathv[i],"." ) || !strcmp( gg.gl_pathv[i],".." ) ) continue; + stat( gg.gl_pathv[i],&fs ); + if ( S_ISDIR( fs.st_mode ) ) + { + tmp=strrchr( gg.gl_pathv[i],'/' ); tmp++; + if ( !strcmp( tmp,"default" ) ) continue; + str[0]=tmp; + if ( gtkFindCList( SkinList,str[0] ) == -1 ) gtk_clist_append( GTK_CLIST( SkinList ),str ); + } + } + globfree( &gg ); + return 1; +} + +static void prButton( GtkObject * object,gpointer user_data ) +{ + if ( sbSelectedSkin ) + { + switch ( (int)user_data ) + { + case 0: // cancel + if ( strcmp( sbSelectedSkin,gtkOldSkin ) ) uiChangeSkin( gtkOldSkin ); + break; + case 1: // ok + uiChangeSkin( sbSelectedSkin ); // NOTE TO MYSELF: skin already changed! + free( skinName ); + skinName=strdup( sbSelectedSkin ); + break; + } + } + HideSkinBrowser(); +} + +static void on_SkinList_select_row( GtkCList * clist,gint row,gint column,GdkEvent * bevent,gpointer user_data ) +{ + gtk_clist_get_text( clist,row,0,&sbSelectedSkin ); + if ( strcmp( prev,sbSelectedSkin ) ) + { + prev=sbSelectedSkin; + uiChangeSkin( sbSelectedSkin ); + gtkActive( SkinBrowser ); + } + if( !bevent ) return; + if( bevent->type == GDK_2BUTTON_PRESS ) + { + free( skinName ); + skinName=strdup( sbSelectedSkin ); + HideSkinBrowser(); + } +} + +GtkWidget * create_SkinBrowser( void ) +{ + GtkWidget * vbox5; + GtkWidget * scrolledwindow1; + GtkWidget * hbuttonbox4; + GtkWidget * Cancel; + GtkWidget * Ok; + GtkAccelGroup * accel_group; + + accel_group = gtk_accel_group_new (); + + SkinBrowser=gtk_window_new( GTK_WINDOW_TOPLEVEL ); + gtk_widget_set_name( SkinBrowser,MSGTR_SkinBrowser ); + gtk_object_set_data( GTK_OBJECT( SkinBrowser ),MSGTR_SkinBrowser,SkinBrowser ); + gtk_widget_set_usize( SkinBrowser,256,320 ); + gtk_container_set_border_width( GTK_CONTAINER( SkinBrowser ),1 ); + GTK_WIDGET_SET_FLAGS( SkinBrowser,GTK_CAN_DEFAULT ); + gtk_widget_set_events( SkinBrowser,GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK ); + gtk_window_set_title( GTK_WINDOW( SkinBrowser ),MSGTR_SkinBrowser ); + gtk_window_set_position( GTK_WINDOW( SkinBrowser ),GTK_WIN_POS_CENTER ); + gtk_window_set_policy( GTK_WINDOW( SkinBrowser ),FALSE,FALSE,TRUE ); + gtk_window_set_wmclass( GTK_WINDOW( SkinBrowser ),"SkinBrowser","MPlayer" ); + + gtk_widget_realize( SkinBrowser ); + gtkAddIcon( SkinBrowser ); + + vbox5=AddVBox( AddDialogFrame( SkinBrowser ),0 ); + AddLabel( MSGTR_SKIN_LABEL,vbox5 ); + AddHSeparator( vbox5 ); + + scrolledwindow1=gtk_scrolled_window_new( NULL,NULL ); + gtk_widget_set_name( scrolledwindow1,"scrolledwindow1" ); + gtk_widget_ref( scrolledwindow1 ); + gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"scrolledwindow1",scrolledwindow1,(GtkDestroyNotify)gtk_widget_unref ); + gtk_widget_show( scrolledwindow1 ); + gtk_box_pack_start( GTK_BOX( vbox5 ),scrolledwindow1,TRUE,TRUE,0 ); + gtk_container_set_border_width( GTK_CONTAINER( scrolledwindow1 ),2 ); + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); + + SkinList=gtk_clist_new( 1 ); + gtk_widget_set_name( SkinList,"SkinList" ); + gtk_widget_ref( SkinList ); + gtk_object_set_data_full( GTK_OBJECT( SkinBrowser ),"SkinList",SkinList,(GtkDestroyNotify)gtk_widget_unref ); + gtk_widget_show( SkinList ); + gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),SkinList ); + gtk_clist_set_column_width( GTK_CLIST( SkinList ),0,80 ); + gtk_clist_set_selection_mode( GTK_CLIST( SkinList ),GTK_SELECTION_SINGLE ); + gtk_clist_column_titles_hide( GTK_CLIST( SkinList ) ); + gtk_clist_set_shadow_type( GTK_CLIST( SkinList ),GTK_SHADOW_ETCHED_OUT ); + + AddHSeparator( vbox5 ); + + hbuttonbox4=AddHButtonBox( vbox5 ); + gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox4 ),GTK_BUTTONBOX_SPREAD ); + gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox4 ),10 ); + + Ok=AddButton( MSGTR_Ok,hbuttonbox4 ); + Cancel=AddButton( MSGTR_Cancel,hbuttonbox4 ); + + gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); + gtk_widget_add_accelerator( Cancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); + + gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&SkinBrowser ); + gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row",GTK_SIGNAL_FUNC( on_SkinList_select_row ),NULL ); + gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void *)1 ); + gtk_signal_connect( GTK_OBJECT( Cancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void *)0 ); + + if ( ( sbMPlayerDirInHome=calloc( 1,strlen( skinDirInHome ) + 4 ) ) != NULL ) + { strcpy( sbMPlayerDirInHome,skinDirInHome ); strcat( sbMPlayerDirInHome,"/*" ); } + if ( ( sbMPlayerPrefixDir=calloc( 1,strlen( skinMPlayerDir ) + 4 ) ) != NULL ) + { strcpy( sbMPlayerPrefixDir,skinMPlayerDir ); strcat( sbMPlayerPrefixDir,"/*" ); } + + gtk_window_add_accel_group( GTK_WINDOW( SkinBrowser ),accel_group ); + gtk_widget_grab_focus( SkinList ); + + return SkinBrowser; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/gtk/sb.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/gtk/sb.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,30 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_SB_H +#define MPLAYER_GUI_SB_H + +#include + +extern char * sbSelectedSkin; +extern GtkWidget * SkinBrowser; + +void ShowSkinBrowser( void ); +GtkWidget * create_SkinBrowser( void ); + +#endif /* MPLAYER_GUI_SB_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/main.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/main.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,637 @@ +/* + * main window + * + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include + +#include "config.h" +#include "gmplayer.h" +#include "gui/app.h" +#include "gui/skin/font.h" +#include "gui/skin/skin.h" +#include "gui/wm/ws.h" + +#include "help_mp.h" +#include "libvo/x11_common.h" +#include "libvo/fastmemcpy.h" +#include "libvo/wskeys.h" + +#include "stream/stream.h" +#include "stream/url.h" +#include "mixer.h" +#include "sub/sub.h" +#include "access_mpcontext.h" + +#include "libmpcodecs/vd.h" +#include "libmpdemux/demuxer.h" +#include "libmpdemux/stheader.h" +#include "codec-cfg.h" +#include "m_option.h" +#include "m_property.h" +#include "mp_core.h" +#include "mpcommon.h" + +#define GUI_REDRAW_WAIT 375 + +#include "actions.h" +#include "widgets.h" + +unsigned int GetTimerMS( void ); + +unsigned char * mainDrawBuffer = NULL; +int uiMainRender = 1; + +int uiMainAutoPlay = 0; +int uiMiddleMenu = 0; + +int mainVisible = 1; + +int boxMoved = 0; +int sx = 0,sy = 0; +int i,pot = 0; + +#include "render.h" + +void uiMainDraw( void ) +{ + + if ( guiApp.mainWindow.State == wsWindowClosed ) guiExit( EXIT_QUIT ); + + if ( guiApp.mainWindow.Visible == wsWindowNotVisible || + !mainVisible ) return; +// !guiApp.mainWindow.Mapped ) return; + + if ( uiMainRender && guiApp.mainWindow.State == wsWindowExpose ) + { + btnModify( evSetMoviePosition,guiInfo.Position ); + btnModify( evSetVolume,guiInfo.Volume ); + + fast_memcpy( mainDrawBuffer,guiApp.main.Bitmap.Image,guiApp.main.Bitmap.ImageSize ); + RenderAll( &guiApp.mainWindow,guiApp.mainItems,guiApp.IndexOfMainItems,mainDrawBuffer ); + uiMainRender=0; + } + wsPutImage( &guiApp.mainWindow ); +// XFlush( wsDisplay ); +} + +static unsigned last_redraw_time = 0; + +void uiEventHandling( int msg,float param ) +{ + int iparam = (int)param; + mixer_t *mixer = mpctx_get_mixer(guiInfo.mpcontext); + + switch( msg ) + { +// --- user events + case evExit: + guiExit( EXIT_QUIT ); + break; + + case evPlayNetwork: + gfree( (void **)&guiInfo.Subtitlename ); + gfree( (void **)&guiInfo.AudioFile ); + guiInfo.StreamType=STREAMTYPE_STREAM; + goto play; + case evSetURL: + gtkShow( evPlayNetwork,NULL ); + break; + + case evSetAudio: + if ( !guiInfo.demuxer || audio_id == iparam ) break; + audio_id=iparam; + goto play; + + case evSetVideo: + if ( !guiInfo.demuxer || video_id == iparam ) break; + video_id=iparam; + goto play; + + case evSetSubtitle: + mp_property_do("sub",M_PROPERTY_SET,&iparam,guiInfo.mpcontext); + break; + +#ifdef CONFIG_VCD + case evSetVCDTrack: + guiInfo.Track=iparam; + case evPlayVCD: + gtkSet( gtkClearStruct,0,(void *)guiALL ); + guiInfo.StreamType=STREAMTYPE_VCD; + goto play; +#endif +#ifdef CONFIG_DVDREAD + case evPlayDVD: + guiInfo.DVD.current_title=1; + guiInfo.DVD.current_chapter=1; + guiInfo.DVD.current_angle=1; +play_dvd_2: + gtkSet( gtkClearStruct,0,(void *)(guiALL - guiDVD) ); + guiInfo.StreamType=STREAMTYPE_DVD; + goto play; +#endif + case evPlay: + case evPlaySwitchToPause: +play: + + if ( ( msg == evPlaySwitchToPause )&&( guiInfo.Playing == 2 ) ) goto NoPause; + + if ( gtkSet( gtkGetCurrPlItem,0,NULL ) &&( guiInfo.StreamType == STREAMTYPE_FILE ) ) + { + plItem * next = gtkSet( gtkGetCurrPlItem,0,NULL ); + plLastPlayed=next; + uiSetFileName( next->path,next->name,STREAMTYPE_FILE ); + } + + switch ( guiInfo.StreamType ) + { + case STREAMTYPE_STREAM: + case STREAMTYPE_FILE: + gtkSet( gtkClearStruct,0,(void *)(guiALL - guiFilenames) ); + break; +#ifdef CONFIG_VCD + case STREAMTYPE_VCD: + gtkSet( gtkClearStruct,0,(void *)(guiALL - guiVCD - guiFilenames) ); + if ( !cdrom_device ) cdrom_device=gstrdup( DEFAULT_CDROM_DEVICE ); + uiSetFileName( NULL,cdrom_device,STREAMTYPE_VCD ); + if ( guiInfo.Playing != 2 ) + { + if ( !guiInfo.Track ) + guiInfo.Track=1; + guiInfo.DiskChanged=1; + } + break; +#endif +#ifdef CONFIG_DVDREAD + case STREAMTYPE_DVD: + gtkSet( gtkClearStruct,0,(void *)(guiALL - guiDVD - guiFilenames) ); + if ( !dvd_device ) dvd_device=gstrdup( DEFAULT_DVD_DEVICE ); + uiSetFileName( NULL,dvd_device,STREAMTYPE_DVD ); + if ( guiInfo.Playing != 2 ) + { + guiInfo.Title=guiInfo.DVD.current_title; + guiInfo.Chapter=guiInfo.DVD.current_chapter; + guiInfo.Angle=guiInfo.DVD.current_angle; + guiInfo.DiskChanged=1; + } + break; +#endif + } + guiInfo.NewPlay=1; + uiPlay(); + break; +#ifdef CONFIG_DVDREAD + case evSetDVDSubtitle: + dvdsub_id=iparam; + goto play_dvd_2; + break; + case evSetDVDAudio: + audio_id=iparam; + goto play_dvd_2; + break; + case evSetDVDChapter: + guiInfo.DVD.current_chapter=iparam; + goto play_dvd_2; + break; + case evSetDVDTitle: + guiInfo.DVD.current_title=iparam; + guiInfo.DVD.current_chapter=1; + guiInfo.DVD.current_angle=1; + goto play_dvd_2; + break; +#endif + + case evPause: + case evPauseSwitchToPlay: +NoPause: + uiPause(); + break; + + case evStop: + guiInfo.Playing=guiSetStop; + uiState(); + guiInfo.NoWindow=False; + break; + + case evLoadPlay: + uiMainAutoPlay=1; +// guiInfo.StreamType=STREAMTYPE_FILE; + case evLoad: + gtkSet( gtkDelPl,0,NULL ); + gtkShow( evLoad,NULL ); + break; + case evLoadSubtitle: gtkShow( evLoadSubtitle,NULL ); break; + case evDropSubtitle: + gfree( (void **)&guiInfo.Subtitlename ); + guiLoadSubtitle( NULL ); + break; + case evLoadAudioFile: gtkShow( evLoadAudioFile,NULL ); break; + case evPrev: uiPrev(); break; + case evNext: uiNext(); break; + + case evPlayList: gtkShow( evPlayList,NULL ); break; + case evSkinBrowser: gtkShow( evSkinBrowser,skinName ); break; + case evAbout: gtkShow( evAbout,NULL ); break; + case evPreferences: gtkShow( evPreferences,NULL ); break; + case evEqualizer: gtkShow( evEqualizer,NULL ); break; + + case evForward10min: uiRelSeek( 600 ); break; + case evBackward10min: uiRelSeek( -600 );break; + case evForward1min: uiRelSeek( 60 ); break; + case evBackward1min: uiRelSeek( -60 ); break; + case evForward10sec: uiRelSeek( 10 ); break; + case evBackward10sec: uiRelSeek( -10 ); break; + case evSetMoviePosition: uiAbsSeek( param ); break; + + case evIncVolume: vo_x11_putkey( wsGrayMul ); break; + case evDecVolume: vo_x11_putkey( wsGrayDiv ); break; + case evMute: mixer_mute( mixer ); break; + + case evSetVolume: + guiInfo.Volume=param; + goto set_volume; + case evSetBalance: + guiInfo.Balance=param; +set_volume: + { + float l = guiInfo.Volume * ( ( 100.0 - guiInfo.Balance ) / 50.0 ); + float r = guiInfo.Volume * ( ( guiInfo.Balance ) / 50.0 ); + if ( l > guiInfo.Volume ) l=guiInfo.Volume; + if ( r > guiInfo.Volume ) r=guiInfo.Volume; +// printf( "!!! v: %.2f b: %.2f -> %.2f x %.2f\n",guiInfo.Volume,guiInfo.Balance,l,r ); + mixer_setvolume( mixer,l,r ); + } + if ( osd_level ) + { + osd_visible=(GetTimerMS() + 1000) | 1; + vo_osd_progbar_type=OSD_VOLUME; + vo_osd_progbar_value=( ( guiInfo.Volume ) * 256.0 ) / 100.0; + vo_osd_changed( OSDTYPE_PROGBAR ); + } + break; + + + case evIconify: + switch ( iparam ) + { + case 0: wsIconify( guiApp.mainWindow ); break; + case 1: wsIconify( guiApp.subWindow ); break; + } + break; + case evHalfSize: + btnSet( evFullScreen,btnReleased ); + if ( guiInfo.Playing ) + { + if ( guiApp.subWindow.isFullScreen ) + { + uiFullScreen(); + } + wsResizeWindow( &guiApp.subWindow, guiInfo.MovieWidth / 2, guiInfo.MovieHeight / 2 ); + wsMoveWindow( &guiApp.subWindow, 0, + ( wsMaxX - guiInfo.MovieWidth/2 )/2 + wsOrgX, + ( wsMaxY - guiInfo.MovieHeight/2 )/2 + wsOrgY ); + } + break; + case evDoubleSize: + btnSet( evFullScreen,btnReleased ); + if ( guiInfo.Playing ) + { + if ( guiApp.subWindow.isFullScreen ) + { + uiFullScreen(); + } + wsResizeWindow( &guiApp.subWindow, guiInfo.MovieWidth * 2, guiInfo.MovieHeight * 2 ); + wsMoveWindow( &guiApp.subWindow, 0, + ( wsMaxX - guiInfo.MovieWidth*2 )/2 + wsOrgX, + ( wsMaxY - guiInfo.MovieHeight*2 )/2 + wsOrgY ); + } + break; + case evNormalSize: + btnSet( evFullScreen,btnReleased ); + if ( guiInfo.Playing ) + { + if ( guiApp.subWindow.isFullScreen ) + { + uiFullScreen(); + } + wsResizeWindow( &guiApp.subWindow, guiInfo.MovieWidth, guiInfo.MovieHeight ); + wsMoveWindow( &guiApp.subWindow, 0, + ( wsMaxX - guiInfo.MovieWidth )/2 + wsOrgX, + ( wsMaxY - guiInfo.MovieHeight )/2 + wsOrgY ); + break; + } else if ( !guiApp.subWindow.isFullScreen ) break; + case evFullScreen: + if ( !guiInfo.Playing && !gtkShowVideoWindow ) break; + uiFullScreen(); + if ( guiApp.subWindow.isFullScreen ) btnSet( evFullScreen,btnPressed ); + else btnSet( evFullScreen,btnReleased ); + break; + + case evSetAspect: + switch ( iparam ) + { + case 2: movie_aspect=16.0f / 9.0f; break; + case 3: movie_aspect=4.0f / 3.0f; break; + case 4: movie_aspect=2.35; break; + case 1: + default: movie_aspect=-1; + } + wsClearWindow( guiApp.subWindow ); +#ifdef CONFIG_DVDREAD + if ( guiInfo.StreamType == STREAMTYPE_DVD || guiInfo.StreamType == STREAMTYPE_VCD ) goto play_dvd_2; + else +#endif + guiInfo.NewPlay=1; + break; + +// --- timer events + case evRedraw: + { + unsigned now = GetTimerMS(); + if ((now > last_redraw_time) && + (now < last_redraw_time + GUI_REDRAW_WAIT) && + !uiPlaybarFade) + break; + last_redraw_time = now; + } + uiMainRender=1; + wsPostRedisplay( &guiApp.mainWindow ); + wsPostRedisplay( &guiApp.playbarWindow ); + break; +// --- system events +#ifdef MP_DEBUG + case evNone: + mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[mw] event none received.\n" ); + break; + default: + mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[mw] unknown event received ( %d,%.2f ).\n",msg,param ); + break; +#endif + } +} + +void uiMainMouseHandle( int Button,int X,int Y,int RX,int RY ) +{ + static int itemtype = 0; + int i; + wItem * item = NULL; + float value = 0.0f; + + static int SelectedItem = -1; + int currentselected = -1; + + for ( i=0;i <= guiApp.IndexOfMainItems;i++ ) + if ( ( guiApp.mainItems[i].pressed != btnDisabled )&& + ( wgIsRect( X,Y,guiApp.mainItems[i].x,guiApp.mainItems[i].y,guiApp.mainItems[i].x+guiApp.mainItems[i].width,guiApp.mainItems[i].y+guiApp.mainItems[i].height ) ) ) + { currentselected=i; break; } + + switch ( Button ) + { + case wsPMMouseButton: + gtkShow( evHidePopUpMenu,NULL ); + uiShowMenu( RX,RY ); + itemtype=itPRMButton; + break; + case wsRMMouseButton: + uiHideMenu( RX,RY,0 ); + break; + + case wsPLMouseButton: + gtkShow( evHidePopUpMenu,NULL ); + sx=X; sy=Y; boxMoved=1; itemtype=itPLMButton; + SelectedItem=currentselected; + if ( SelectedItem == -1 ) break; + boxMoved=0; + item=&guiApp.mainItems[SelectedItem]; + itemtype=item->type; + item->pressed=btnPressed; + switch( item->type ) + { + case itButton: + if ( ( SelectedItem > -1 ) && + ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) || + ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) ) + { item->pressed=btnDisabled; } + break; + } + break; + case wsRLMouseButton: + boxMoved=0; + if ( SelectedItem != -1 ) // NOTE TO MYSELF: only if itButton, itHPotmeter or itVPotmeter + { + item=&guiApp.mainItems[SelectedItem]; + item->pressed=btnReleased; + } + SelectedItem=-1; + if ( currentselected == - 1 ) { itemtype=0; break; } + value=0; + switch( itemtype ) + { + case itPotmeter: + case itHPotmeter: + btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f ); + uiEventHandling( item->message,item->value ); + value=item->value; + break; + case itVPotmeter: + btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f ); + uiEventHandling( item->message,item->value ); + value=item->value; + break; + } + uiEventHandling( item->message,value ); + itemtype=0; + break; + + case wsRRMouseButton: + gtkShow( evShowPopUpMenu,NULL ); + break; + +// --- rolled mouse ... de szar :))) + case wsP5MouseButton: value=-2.5f; goto rollerhandled; + case wsP4MouseButton: value= 2.5f; +rollerhandled: + item=&guiApp.mainItems[currentselected]; + if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) ) + { + item->value+=value; + btnModify( item->message,item->value ); + uiEventHandling( item->message,item->value ); + } + break; + +// --- moving + case wsMoveMouse: + item=&guiApp.mainItems[SelectedItem]; + switch ( itemtype ) + { + case itPLMButton: + wsMoveWindow( &guiApp.mainWindow,False,RX - abs( sx ),RY - abs( sy ) ); + uiMainRender=0; + break; + case itPRMButton: + uiMenuMouseHandle( X,Y,RX,RY ); + break; + case itPotmeter: + item->value=(float)( X - item->x ) / item->width * 100.0f; + goto potihandled; + case itVPotmeter: + item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f; + goto potihandled; + case itHPotmeter: + item->value=(float)( X - item->x ) / item->width * 100.0f; +potihandled: + if ( item->value > 100.0f ) item->value=100.0f; + if ( item->value < 0.0f ) item->value=0.0f; + uiEventHandling( item->message,item->value ); + break; + } + break; + } +} + +int keyPressed = 0; + +void uiMainKeyHandle( int KeyCode,int Type,int Key ) +{ + int msg = evNone; + + if ( Type != wsKeyPressed ) return; + + if ( !Key ) + { + switch ( KeyCode ) + { + // NOTE TO MYSELF: This is only for the Acer AirKey V keyboard. + /*case wsXFMMPrev: msg=evPrev; break; + case wsXFMMStop: msg=evStop; break; + case wsXFMMPlay: msg=evPlaySwitchToPause; break; + case wsXFMMNext: msg=evNext; break; + case wsXFMMVolUp: msg=evIncVolume; break; + case wsXFMMVolDown: msg=evDecVolume; break; + case wsXFMMMute: msg=evMute; break;*/ + } + } + else + { + switch ( Key ) + { + case wsEnter: msg=evPlay; break; + case wsXF86LowerVolume: msg=evDecVolume; break; + case wsXF86RaiseVolume: msg=evIncVolume; break; + case wsXF86Mute: msg=evMute; break; + case wsXF86Pause: + case wsXF86Play: msg=evPlaySwitchToPause; break; + case wsXF86Stop: msg=evStop; break; + case wsXF86Prev: msg=evPrev; break; + case wsXF86Next: msg=evNext; break; + case wsXF86Media: msg=evLoad; break; + case wsEscape: + if ( guiApp.subWindow.isFullScreen ) + { + if ( guiInfo.event_struct ) ((XEvent *)guiInfo.event_struct)->type=None; + uiEventHandling( evNormalSize,0 ); + return; + } + default: vo_x11_putkey( Key ); return; + } + } + if ( msg != evNone ) uiEventHandling( msg,0 ); +} + +/* this will be used to handle Drag&Drop files */ +void uiDandDHandler(int num,char** files) +{ + struct stat buf; + int f = 0; + + char* subtitles = NULL; + char* filename = NULL; + + if (num <= 0) + return; + + + /* now fill it with new items */ + for(f=0; f < num; f++){ + char* str = strdup( files[f] ); + plItem* item; + + url_unescape_string(str, files[f]); + + if(stat(str,&buf) == 0 && S_ISDIR(buf.st_mode) == 0) { + /* this is not a directory so try to play it */ + mp_msg( MSGT_GPLAYER,MSGL_V,"Received D&D %s\n",str ); + + /* check if it is a subtitle file */ + { + char* ext = strrchr(str,'.'); + if (ext) { + static char supported[] = "utf/sub/srt/smi/rt//txt/ssa/aqt/"; + char* type; + int len; + if((len=strlen(++ext)) && (type=strstr(supported,ext)) &&\ + (type-supported)%4 == 0 && *(type+len) == '/'){ + /* handle subtitle file */ + gfree((void**)&subtitles); + subtitles = str; + continue; + } + } + } + + /* clear playlist */ + if (filename == NULL) { + filename = files[f]; + gtkSet(gtkDelPl,0,NULL); + } + + item = calloc(1,sizeof(plItem)); + + /* FIXME: decompose file name ? */ + /* yes -- Pontscho */ + if ( strrchr( str,'/' ) ) { + char * s = strrchr( str,'/' ); *s=0; s++; + item->name = gstrdup( s ); + item->path = gstrdup( str ); + } else { + item->name = strdup(str); + item->path = strdup(""); + } + gtkSet(gtkAddPlItem,0,(void*)item); + } else { + mp_msg( MSGT_GPLAYER,MSGL_WARN,MSGTR_NotAFile,str ); + } + free( str ); + } + + if (filename) { + uiSetFileName( NULL,filename,STREAMTYPE_FILE ); + if ( guiInfo.Playing == 1 ) uiEventHandling( evStop,0 ); + uiEventHandling( evPlay,0 ); + } + if (subtitles) { + gfree((void**)&guiInfo.Subtitlename); + guiInfo.Subtitlename = subtitles; + guiLoadSubtitle(guiInfo.Subtitlename); + } +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/menu.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/menu.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,175 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include + +#include "config.h" +#include "help_mp.h" +#include "mp_msg.h" +#include "gui/app.h" +#include "gmplayer.h" + +#include "widgets.h" + +unsigned char * menuDrawBuffer = NULL; +int menuRender = 1; +int menuItem = -1; +int oldMenuItem = -1; +int menuX,menuY; +static int menuIsInitialized = 0; + +static void uiMenuDraw( void ) +{ + uint32_t * buf = NULL; + uint32_t * drw = NULL; + int x,y,tmp; + + if ( !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; + if ( !menuRender && !guiApp.menuWindow.Visible ) return; + + if ( menuRender || menuItem != oldMenuItem ) + { + memcpy( menuDrawBuffer,guiApp.menu.Bitmap.Image,guiApp.menu.Bitmap.ImageSize ); +// --- + if ( menuItem != -1 ) + { + buf=(uint32_t *)menuDrawBuffer; + drw=(uint32_t *)guiApp.menuSelected.Bitmap.Image; + for ( y=guiApp.menuItems[ menuItem ].y; y < guiApp.menuItems[ menuItem ].y + guiApp.menuItems[ menuItem ].height; y++ ) + for ( x=guiApp.menuItems[ menuItem ].x; x < guiApp.menuItems[ menuItem ].x + guiApp.menuItems[ menuItem ].width; x++ ) + { + tmp=drw[ y * guiApp.menuSelected.width + x ]; + if ( !IS_TRANSPARENT ( tmp ) ) buf[ y * guiApp.menu.width + x ]=tmp; + } + } + oldMenuItem=menuItem; +// --- + wsConvert( &guiApp.menuWindow,menuDrawBuffer ); + menuRender=0; + } + wsPutImage( &guiApp.menuWindow ); +} + +void uiMenuMouseHandle( int X,int Y,int RX,int RY ) +{ + int x,y,i; + + if ( !guiApp.menu.Bitmap.Image ) return; + + menuItem=-1; + x=RX - guiApp.menuWindow.X; + y=RY - guiApp.menuWindow.Y; + if ( ( x < 0 ) || ( y < 0 ) || ( x > guiApp.menu.width ) || ( y > guiApp.menu.height ) ) + { + wsPostRedisplay( &guiApp.menuWindow ); + return; + } + + for( i=0;i<=guiApp.IndexOfMenuItems;i++ ) + { + if ( wgIsRect( x,y, + guiApp.menuItems[i].x,guiApp.menuItems[i].y, + guiApp.menuItems[i].x+guiApp.menuItems[i].width,guiApp.menuItems[i].y+guiApp.menuItems[i].height ) ) { menuItem=i; break; } + } + wsPostRedisplay( &guiApp.menuWindow ); +} + +void uiShowMenu( int mx,int my ) +{ + int x,y; + + if ( !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; + + x=mx; + if ( x + guiApp.menuWindow.Width > wsMaxX ) x=wsMaxX - guiApp.menuWindow.Width - 1 + wsOrgX; + y=my; + if ( y + guiApp.menuWindow.Height > wsMaxY ) y=wsMaxY - guiApp.menuWindow.Height - 1 + wsOrgY; + + menuX=x; menuY=y; + + menuItem = 0; + + wsMoveWindow( &guiApp.menuWindow,False,x,y ); + wsMoveTopWindow( wsDisplay,guiApp.menuWindow.WindowID ); + wsSetLayer( wsDisplay,guiApp.menuWindow.WindowID,1 ); + menuRender=1; + wsVisibleWindow( &guiApp.menuWindow,wsShowWindow ); + wsPostRedisplay( &guiApp.menuWindow ); +} + +void uiHideMenu( int mx,int my,int w ) +{ + int x,y,i=menuItem; + + if ( !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; + + x=mx-menuX; + y=my-menuY; +// x=RX - guiApp.menuWindow.X; +// y=RY - guiApp.menuWindow.Y; + + wsVisibleWindow( &guiApp.menuWindow,wsHideWindow ); + + if ( ( x < 0 ) || ( y < 0 ) ) return; + +// printf( "---------> %d %d,%d\n",i,x,y ); +// printf( "--------> mi: %d,%d %dx%d\n",guiApp.menuItems[i].x,guiApp.menuItems[i].y,guiApp.menuItems[i].width,guiApp.menuItems[i].height ); + if ( wgIsRect( x,y, + guiApp.menuItems[i].x,guiApp.menuItems[i].y, + guiApp.menuItems[i].x+guiApp.menuItems[i].width, + guiApp.menuItems[i].y+guiApp.menuItems[i].height ) ) + { + uiEventHandling( guiApp.menuItems[i].message,(float)w ); + } +} + +void uiMenuInit( void ) +{ + + if ( menuIsInitialized || !guiApp.menuIsPresent || !guiApp.menu.Bitmap.Image ) return; + + guiApp.menu.x=0; + guiApp.menu.y=0; + + if ( ( menuDrawBuffer = calloc( 1,guiApp.menu.Bitmap.ImageSize ) ) == NULL ) + { +#ifdef DEBUG + mp_msg( MSGT_GPLAYER,MSGL_DBG2,MSGTR_NEMFMR ); +#endif + gtkMessageBox( GTK_MB_FATAL,MSGTR_NEMFMR ); + return; + } + + wsCreateWindow( &guiApp.menuWindow, + guiApp.menu.x,guiApp.menu.y,guiApp.menu.width,guiApp.menu.height, + wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsOverredirect|wsHideFrame|wsMaxSize|wsMinSize|wsHideWindow,"MPlayer menu" ); + + wsSetShape( &guiApp.menuWindow,guiApp.menu.Mask.Image ); + +#ifdef DEBUG + mp_msg( MSGT_GPLAYER,MSGL_DBG2,"menu: 0x%x\n",(int)guiApp.menuWindow.WindowID ); +#endif + + menuIsInitialized=1; + guiApp.menuWindow.ReDraw=uiMenuDraw; +// guiApp.menuWindow.MouseHandler=uiMenuMouseHandle; +// guiApp.menuWindow.KeyHandler=uiMainKeyHandle; + menuRender=1; wsPostRedisplay( &guiApp.menuWindow ); +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/a11.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/a11.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,22 @@ +/* XPM */ +static const char * const a11_xpm[] = { +"18 16 3 1", +" c None", +". c #000000", +"+ c #FFFFFF", +" ", +" ", +" ", +" ................ ", +"..++++++++++++++..", +".+..............+.", +".+...+...+...+..+.", +".+..++......++..+.", +".+...+.......+..+.", +".+...+.......+..+.", +".+...+...+...+..+.", +".+..............+.", +"..++++++++++++++..", +" ................ ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/a169.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/a169.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,22 @@ +/* XPM */ +static const char * const a169_xpm[] = { +"18 16 3 1", +" c None", +". c #000000", +"+ c #FFFFFF", +" ", +" ", +" ", +" ................ ", +"..++++++++++++++..", +".+..............+.", +".+..+.+++.+.+++.+.", +".+.++.+.....+.+.+.", +".+..+.+++...+++.+.", +".+..+.+.+.....+.+.", +".+..+.+++.+.+++.+.", +".+..............+.", +"..++++++++++++++..", +" ................ ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/a235.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/a235.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,22 @@ +/* XPM */ +static const char * const a235_xpm[] = { +"18 16 3 1", +" c None", +". c #000000", +"+ c #FFFFFF", +" ", +" ", +" ", +" ................ ", +"..++++++++++++++..", +".+..............+.", +".+..++..+.++.++.+.", +".+.+..+....+.+..+.", +".+...+....++.++.+.", +".+..+......+..+.+.", +".+.++++.+.++.++.+.", +".+..............+.", +"..++++++++++++++..", +" ................ ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/a43.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/a43.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,22 @@ +/* XPM */ +static const char * const a43_xpm[] = { +"18 16 3 1", +" c None", +". c #000000", +"+ c #FFFFFF", +" ", +" ", +" ", +" ................ ", +"..++++++++++++++..", +".+..............+.", +".+...++..+.++...+.", +".+..+.+......+..+.", +".+..+.+....+++..+.", +".+..++++.....+..+.", +".+....+..+.+++..+.", +".+..............+.", +"..++++++++++++++..", +" ................ ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/ab.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/ab.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,34 @@ +/* XPM */ +static const char * const ab_xpm[] = { +"16 16 15 1", +" c None", +". c #000000", +"+ c #EEF63E", +"@ c #EAF13D", +"# c #F0F83F", +"$ c #CBD235", +"% c #E9F03D", +"& c #E5EC3C", +"* c #E8F03D", +"= c #ABB02D", +"- c #ECF33E", +"; c #EFF73F", +"> c #CED636", +", c #B4BA2F", +"' c #CDD435", +" ", +" ", +" ", +" ", +" . ", +" .+. ", +" ..@#$.. ", +" .######%. ", +" .####&. ", +" .*###=. ", +" .#-.;>. ", +" .,. .'. ", +" . . ", +" ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/about.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/about.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,427 @@ +/* XPM */ +static const char * const about_xpm[] = { +"320 170 254 2", +" c None", +". c #070707", +"+ c #131313", +"@ c #151515", +"# c #0C0C0C", +"$ c #040404", +"% c #010101", +"& c #060606", +"* c #0D0D0D", +"= c #050505", +"- c #1B1B1B", +"; c #0E0E0E", +"> c #1C1C1C", +", c #3B3B3B", +"' c #2B2B2B", +") c #121212", +"! c #323232", +"~ c #5B5B5B", +"{ c #3F3F3F", +"] c #0B0B0B", +"^ c #111111", +"/ c #424242", +"( c #434343", +"_ c #222222", +": c #020202", +"< c #202020", +"[ c #4D4D4D", +"} c #2C2C2C", +"| c #030303", +"1 c #464646", +"2 c #414141", +"3 c #0F0F0F", +"4 c #0A0A0A", +"5 c #101010", +"6 c #161616", +"7 c #3A3A3A", +"8 c #505050", +"9 c #181818", +"0 c #565656", +"a c #3E3E3E", +"b c #313131", +"c c #474747", +"d c #3C3C3C", +"e c #494949", +"f c #333333", +"g c #2D2D2D", +"h c #212121", +"i c #515151", +"j c #555555", +"k c #282828", +"l c #232323", +"m c #343434", +"n c #454545", +"o c #2F2F2F", +"p c #272727", +"q c #1A1A1A", +"r c #4B4B4B", +"s c #000000", +"t c #252525", +"u c #373737", +"v c #242424", +"w c #080808", +"x c #090909", +"y c #141414", +"z c #363636", +"A c #404040", +"B c #393939", +"C c #1E1E1E", +"D c #353535", +"E c #383838", +"F c #1D1D1D", +"G c #292929", +"H c #171717", +"I c #2A2A2A", +"J c #262626", +"K c #525252", +"L c #545454", +"M c #303030", +"N c #484848", +"O c #2E2E2E", +"P c #1F1F1F", +"Q c #3D3D3D", +"R c #4C4C4C", +"S c #535353", +"T c #191919", +"U c #4F4F4F", +"V c #444444", +"W c #616161", +"X c #5C5C5C", +"Y c #4A4A4A", +"Z c #585858", +"` c #5D5D5D", +" . c #646464", +".. c #626262", +"+. c #5A5A5A", +"@. c #606060", +"#. c #595959", +"$. c #6A6A6A", +"%. c #676767", +"&. c #4E4E4E", +"*. c #848484", +"=. c #5E5E5E", +"-. c #5F5F5F", +";. c #636363", +">. c #666666", +",. c #686868", +"'. c #696969", +"). c #6E6E6E", +"!. c #656565", +"~. c #757575", +"{. c #7A7A7A", +"]. c #797979", +"^. c #7E7E7E", +"/. c #707070", +"(. c #6B6B6B", +"_. c #6F6F6F", +":. c #727272", +"<. c #575757", +"[. c #747474", +"}. c #737373", +"|. c #717171", +"1. c #888888", +"2. c #6D6D6D", +"3. c #A6A6A6", +"4. c #A0A0A0", +"5. c #828282", +"6. c #777777", +"7. c #7B7B7B", +"8. c #7C7C7C", +"9. c #858585", +"0. c #939393", +"a. c #7D7D7D", +"b. c #A4A4A4", +"c. c #AEAEAE", +"d. c #989898", +"e. c #818181", +"f. c #808080", +"g. c #787878", +"h. c #838383", +"i. c #6C6C6C", +"j. c #767676", +"k. c #909090", +"l. c #8D8D8D", +"m. c #9E9E9E", +"n. c #A9A9A9", +"o. c #AAAAAA", +"p. c #969696", +"q. c #7F7F7F", +"r. c #898989", +"s. c #8F8F8F", +"t. c #9F9F9F", +"u. c #A3A3A3", +"v. c #A2A2A2", +"w. c #929292", +"x. c #868686", +"y. c #959595", +"z. c #878787", +"A. c #949494", +"B. c #8A8A8A", +"C. c #9A9A9A", +"D. c #979797", +"E. c #919191", +"F. c #8C8C8C", +"G. c #8B8B8B", +"H. c #8E8E8E", +"I. c #A1A1A1", +"J. c #9B9B9B", +"K. c #A5A5A5", +"L. c #999999", +"M. c #A7A7A7", +"N. c #9D9D9D", +"O. c #B0B0B0", +"P. c #CECECE", +"Q. c #D0D0D0", +"R. c #C8C8C8", +"S. c #BDBDBD", +"T. c #ABABAB", +"U. c #ADADAD", +"V. c #B2B2B2", +"W. c #CFCFCF", +"X. c #C1C1C1", +"Y. c #CCCCCC", +"Z. c #E4E4E4", +"`. c #D8D8D8", +" + c #C0C0C0", +".+ c #D4D4D4", +"++ c #E5E5E5", +"@+ c #E7E7E7", +"#+ c #E3E3E3", +"$+ c #E2E2E2", +"%+ c #DFDFDF", +"&+ c #D3D3D3", +"*+ c #CDCDCD", +"=+ c #E9E9E9", +"-+ c #EFEFEF", +";+ c #EEEEEE", +">+ c #EBEBEB", +",+ c #DDDDDD", +"'+ c #9C9C9C", +")+ c #CBCBCB", +"!+ c #E6E6E6", +"~+ c #ECECEC", +"{+ c #F4F4F4", +"]+ c #F6F6F6", +"^+ c #F5F5F5", +"/+ c #F3F3F3", +"(+ c #F2F2F2", +"_+ c #EDEDED", +":+ c #EAEAEA", +"<+ c #C5C5C5", +"[+ c #CACACA", +"}+ c #D6D6D6", +"|+ c #C7C7C7", +"1+ c #B8B8B8", +"2+ c #B9B9B9", +"3+ c #BEBEBE", +"4+ c #B5B5B5", +"5+ c #B6B6B6", +"6+ c #F1F1F1", +"7+ c #D9D9D9", +"8+ c #DADADA", +"9+ c #C3C3C3", +"0+ c #BCBCBC", +"a+ c #AFAFAF", +"b+ c #ACACAC", +"c+ c #D5D5D5", +"d+ c #DBDBDB", +"e+ c #E0E0E0", +"f+ c #E8E8E8", +"g+ c #F0F0F0", +"h+ c #F7F7F7", +"i+ c #E1E1E1", +"j+ c #F8F8F8", +"k+ c #F9F9F9", +"l+ c #DCDCDC", +"m+ c #D1D1D1", +"n+ c #C2C2C2", +"o+ c #B4B4B4", +"p+ c #FAFAFA", +"q+ c #FBFBFB", +"r+ c #D2D2D2", +"s+ c #C9C9C9", +"t+ c #BBBBBB", +"u+ c #B1B1B1", +"v+ c #B7B7B7", +"w+ c #DEDEDE", +"x+ c #BABABA", +"y+ c #D7D7D7", +"z+ c #C4C4C4", +"A+ c #B3B3B3", +"B+ c #A8A8A8", +"C+ c #BFBFBF", +"D+ c #C6C6C6", +"E+ c #FFFFFF", +". + @ # $ % % % & * = # - ; > , ' ) ! ~ { - ] % ^ / ( _ - : < [ } | % % % ; 1 2 % | ; 3 4 5 6 > - 7 8 9 } 0 < < a % & b c # d e 5 f c g b | 9 8 h h i 4 % % % h j k % % % % % : # l m n 4 & o p : p _ % % : & # d a % % % % % % % % % % % % % % % % % % : q r % % % % % % s : t . ; d u v v > & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % : : = . & = | : % : % % % % % % % % % % % % : | : : % % % % % % % % % : | | $ = w x w $ $ | : : : : | x y _ } f z , A / B g p > ^ w & * C ' D 7 E b } p F 3 $ | : = # 9 v G m E E z E ! z B D f } _ q > H 5 ] | % s % % : & - I f m g p - x : % % 3 H @ + 5 ] . | : | & ) < J ' z , A 1 e } ", +"= 5 5 4 $ % % % % % % % % . 6 9 6 h K , | | % % = @ l 5 : y ! r L A ^ % & J r u $ & M z x x ; ) _ { v H ( v y d h % 6 ( I 9 N < q K f # $ % F n < D O % % % P N l % % % % % : > f ; 7 Q . G m , l N n % | 9 f m R C % % % % % % & 3 ) 3 % : : % % % % % % = y % % % % % : 9 N . s # [ S P f r k % % | h K % % % % % % % % | 5 * & % % % % % % % % % % % % % % % % | = # T C P > + 5 w % % % % % % % % : & 4 # 3 ; 3 # & % % % % % % % = . 4 ] * ^ 6 C > T 9 H 9 @ 4 $ : | = 3 - G M 7 A e r ( ! } < ^ x x + h m , B z M ' J C 3 | | ] q k ! 7 / R 8 K U e c V V 2 A u I _ l F @ 5 ] % % % % % : 3 > p M k v y . : % s . ] # # x & : % : $ ] y P p O 7 V N R r k ", +"| 4 ] = : % % % % % % s % = y H H d W } $ % % : : : : : . n / . ^ r a 4 : * H @ . & , Q * $ . 4 J O . G f | _ 2 C = } n M / l % ' X ' 3 ; % P E t 6 : % % l z 5 w # % % % % > d q P Y T % @ A Q J 2 p : _ { ) - A | % % % % % 5 h h N d % C ( u l < C % y C . % : : : | h Y 6 s s + j M % % g Z ) % : @ O % % % % : : : : 4 / X a $ w 7 i v ] - : % % % : : : : : $ v O t } o M g I - x : : : : : : | ] q P h < q q @ # | % % : $ ] + F v G k t ' O M o g ' I ' p < y 4 = $ x ) C k E V U S r B O C ^ x . ^ l f B E m } I _ q ] = ) v b Q V Y L X ` ...+.i 8 R e n E g G J < q ^ x : % % : % % = * F l < q + & : % % : : : | % % % : | 4 y C t k b d ( N R R J ", +"$ . & : % % % % % % % % : & ] ) g ( Y } . % % % % % % % % M B ; w / } : % % % % % 3 } > % : | % $ = % # ] % + - $ # / R l . % % h N ! H . = d i C | % : o 8 2 b ! q % % % = d d ) e 7 % % O 1 H ' B = H 1 ' % I O % % % % % 6 D - h 1 q P m o O 3 , O 9 2 N H % % % % y / ! % % : I S H % % - X ' % | % : % % % % % % % % % 5 L z s 3 a < . . F T % % % % % % : 3 7 m @.#.e f e +.[ k T = | | | | | 4 > I k k t h F @ . : | . + > I b u u d A 1 N e / / 2 Q , B z D ' < y x . ] 5 C M Q 8 ~ j ( M < 5 & : # _ g ! m } G t > 5 4 - O d e S Z Z +.@. .$.%.W ~ j &.c 2 B O t < > H # x w . . | % % | = ) H 9 H 3 = % % % % % % % % % % = # y P G o M m Q n e e N G ", +"$ ] w | : % % % % % % % % | $ 4 # 4 = | % % % % % % % % % % @ P h ] : % % % % % % 5 = % % % % % % % % % s s s s s b n ) s % % % = ; 3 % * D m A i ! & 6 E / / 1 ' ] : : % 3 ( A o S a # - 1 J - V M = u A # C , q % % % % ] B g ^ 1 f = q M ! + q u ) C 0 Q w % % % | m e 3 % % 5 c 2 : % % k Z l & I u 3 & J D h 6 q = % % x Q n T E 6 % % % P B % % % % % % # u B @ B R c D 0 *.~ b _ y w | | & x T G ' G t l v T * $ = ^ v o E { N U R S 0 ~ @.=.0 8 &.U r r Y e a f t > @ ^ ] ^ k Q i -.#.1 m P # $ | x q t G ' p p C ) ] 6 b ( R #.;.>.,.>.,.'.).'.!.;.X i V A D } J h F H 5 5 ) ^ ; w | : : : & w w ] & % % % % % % % % % % % ] H h p O D z E a / n / A < ", +"= * 4 | : % % % % % % % % % | | : % % % s s % % % % % % % % % % % % % % % % % % % % % % % % % % % % s s s s s s ) r 1 * % : : % % % % % > X P % k X < % : = 4 3 w % % % % w J C y m < % I E 4 ' 2 _ 5 A b 3 1 c O 5 % % % h N g f 8 t % % { g % z } % u [ 9 % % % % @ R M % % % h [ J % % & , R - J L e h k ! z h J Q * % % % ' X a 5 % % % % I c & $ | | : s l Y q x ^ P } z -.~.{ M v y # | | & ; _ k _ l _ l l H . # ! >.{.=.U Z .].^./.(._.:.)...X =.` +.` @.@.<.r u G J C ) 5 F E &.Z +.e } 6 . : % | ) > C _ h > y 4 ) p , Y 0 .).[.}.|.:./.}._.,...Z R A u M I } p h F q q 9 H y * & : % % % % % % % % % % % % % % % % % & @ > J M D Q a { { { Q d E T ", +"| 3 ; | : % % % % % % % % % : : % % % % % % % % % % % % % % % % % % % % s % % % % % % % % % % % % % % % % % % % J o u # % : : : | | | | ] B l ] J B 5 | | $ $ $ | | : : : : % % % % : % & w % ; 6 . ] G z ^ p f ; % % % % h A I u c I & 5 1 > J ' . 9 i 2 q & % % % J r C % : : , / 5 % % h i M | o +.I q _ d f % f 7 = % % | J j ' = w ; 5 5 a L h ^ ) ) 3 - R r 6 ) f G q 7 ,.Z M p C 6 4 | | = ; > - - q q q q # x 9 E /.1.2. ._.*.3.4.5.6.].6.[. .@.=.=.W %._.[.|.;.[ d b p C @ @ J A R U Q v # : : : : . 3 y 6 5 ] . 3 v D V K @.).].7.8.~.~.:.:.).,.X K 1 , m g ' k p p J h v h C 9 5 . : % % % s s % % % % % % % % % s % : w ) P G m a a { a 7 u o g p ) ", +"$ 3 * | % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % : : : : : | | = . w ] 3 6 F J p P ^ @ y 5 3 + 9 6 ) 5 * # * x x 4 & = | % % : $ 3 P t v < C T 4 | % % % % 4 y . @ v w % ] M ! @ = % P N O y & % % % G ( 6 & x H K E $ % _ N 7 ; y L [ C ; h / < * , P % % w } u S e < F t v J X +.} _ l < h f 0 g F Q +.E ] d ~ z h l b #.E : # f S O ) ^ 3 3 ; ] x H g &.9.0.a.6.1.b.c.d.e.^.a.7.:.$...=.` ;.,.6.e.f.{.%.i Q b ' h @ 6 g { a f > $ % : = ] ; + . = $ $ = > M A &.=.(.g.h.5.^.{.g./.).'.=.S e 7 } I t t J G g G G ' G J P y # : % % % % % % % % % % % % % % % % : & * C } z { 2 A Q B M v F y & ", +"$ 3 ] | % : % % % % % % % % % % % : : : : : % s % % % % % % % % % % % % % % % : : % % % : : % % % : % % % : : : $ . ] 5 9 > - H @ q C - T H - q C l h C F > C < v G G t t > 3 3 y q 6 @ ; # # q ' o f D ! } k C 5 : % % % % % % % : % : % : s % % % & 5 4 % % % % : - { H * H Q [ V f ' E M 4 # z !.[ z @ D c H E p & : ; D m 9 8 i.A ! f z e j.<.u z m E E #.` m l L ~ l ] Y , + ^ / ! { z : m o J q w w . . x x 9 G R !.{.k.1.l.m.n.o.p.*.q.7.a.j._.,...W W ,.[.8.f.f.j...S { o p T ] H O o I H $ % : @ &.[ @ : : : | ; p B N +.%.j.e.r.r.h.e.].:.$.=.K ( u J - T q F v G } g ! B D M I _ T x : % % % : : % % % % % % % % % % % % . - k m 7 A { 7 m p - 5 $ % ", +"$ ] & % % : % % % % % % % % % % % % % % % % % % % s s % % % % % % % % % % % % % % % % % % % % % : : % : | = & ] ) > k p v C F - < < q @ y + @ 6 > C h - @ @ 6 > p g } ' G F - C P p J t g ' J _ P l O m 7 E f k - = : % % % % s % % % % % % % % % : : : : % % % % : | 1 6 # 3 + @ 9 C F ; $ ] ^ o &.z - ^ O { ! h & : T n E t I c {.Z A a A $.[.&.V a / n e ].` f ( ).{ ) } U H | g r E _ w % m A y = | | $ $ w y I D !.W j.d.s.t.d.u.v.1.{.j.7.^.w.p.].i.x.j.2.*.q.j.q.h.:.%.0 2 O F ] . H ' m + : % % 5 n M : : | : = q f n S @.2.].h.9.9.h.f.j.(.-.&.2 b > * & $ . + F G g f E { V , m g v 9 & : % % % % % % % % % % % % % % % : & T J ! E a Q u g _ 9 ] : s ", +": $ : % % % % % % % % % % % % % % % % % % % % s % % % % % % % % % % % % % % % s s s % % % % % : : $ . # y ) + q F _ t F 9 F _ t h > - 6 y - P _ h < v < q 9 T < ' g t < > @ ^ @ h t l h h _ < P < t l h _ p I k P * & $ | : : % % % % $ & ; ^ ) y ) 5 5 ^ * & $ % : | ( 5 * ; # # ] 4 | = & ] ) q C - + # * ; ) $ : & v d D M 7 ` ).6.Z e ` e.-.R e c Y Y !.e.i Q ,._.j v 0 &.p % n S ^ : % % @ K h : : | = & # _ ! N '.@.f.v.b.y.z.m.s.:.$.7.{.,.s.h.~.g.A.*.6.p.f.'.{.m.5.q.z.+.B v ^ $ @ c 8 m C w % ' V 9 % % : | 3 k A K -.(.[.].8.8.{.{.j.i.-.i a G ^ $ % % : : # T I D A ` [.` e 2 u O P * : % % % % % % % % % % % % % % % : & H l b z Q d u ' _ H x % s ", +"% % % % % % % % % % % % % % % % % s s s s % % % % % % : | % % % % % % % % % % s % % : | : $ = w * 6 < v F q _ G h H y + y < G v - ) ; ; ; + > J p k ' p l v l v < P < q H y + q _ J v h _ q ^ ) P J v v h P > H > _ > T @ ] . = = x 3 H C p M O o g k _ > q 9 ; & $ $ * @ ; y @ ^ 3 ; & = . ] ^ H q T + x w . | : = * - I f Q ( N [ L 0 ..1.i.K &.Y R e r g.~.j r ).$.1 ' +.e k % 1 [ < J $ g | L T u } w $ w q } B $.!.` B.n.y.].{.C.|.#.!.q.j $.h. .@.'.D.z.].E.2... .F.z.g.5.~ A k ) = 9 #.E { 0 9 : N D . % % y v r e 1 (.g./.*.^.{.[.|.(.!.` &.a p * : % s % % : $ @ I u a (.h...j R 2 m k H = % % % % % % % % % % % % % % % : & 9 v ! 7 ( 2 7 o J q 5 = : ", +": % : % % % % % % % % % % % % % % s s s s % % % % * t l . s % % % % s s % % % : : | $ $ . x ) F l J P H T C t l C 6 y + 9 < _ P F H ) ^ @ > t b } 9 3 ; 5 6 F h l l t _ h P h J ' G C T - C y @ - < C < t I b G h v p J p v F ) 3 F G E a V N V ( { 7 b g t v > ) . = = 4 ; + 6 ) 5 ; x . # 5 ) y @ y # | = | % $ * C G z / 1 [ j j #.(.z.2.Z L K Y X &.0 x.#.K S S 8 2 B E k # : C o < % % O m I | r ! = = @ p z e r.;...G.p._.=.{.H.8 V j.W [ e.$.&.K ^.z.>.x.a.-.#.0 g.5./.$.[ f h ; % l 8 3 O +.+ q S 6 % % M 9 l ..( &.g.A.~.m.0.].j.5.w.8.S [ =.} ' ; % ; 6 w : | 5 p B N ^.j.` -.<.R Q O F 4 % % % % % % % % % % % % % % % % . 6 E <.N n n n , b G P y . ", +"$ = % % % % % % % % % % % % % % % s s s % % % % % 9 S V % % % % % % : % % % : : | = . 4 * y P J h F T > v G ' p > y + H P l k o o p l P _ t t p _ 6 + @ y T l I < H 6 5 ; 5 F k I p h P _ J q F k v v q + @ H @ H F h h P t < 9 9 _ t m c #.X Z j R 1 / d D ! O P + 4 $ | w * * # # # x ] * 4 * 4 * 4 & | | : $ 5 C ' z Q n U K #.X =.2.W #.L 8 Y V 2.=.|.` i i S K r / u p 6 4 % % s % % s s : | s ^ ] % . q l a =./.2.X ~.@.S ~ }.j.r , j. .-.5.i.i S F.W >.l.[.X L L ~.8.>.V B v 5 | % 2 , | r d | d d w s I u $ n i b Y <.E.[.l.x.j.l.r.r.^.;.<.i.8 1 5 y D Z k & : 5 k 7 %.9.[.5.g...K 2 m F ^ : : % % % % % % % % % % % % % : = y D R A 2 N e V a D o G ) ", +"= ^ | % % % % % & G h w C ^ : # & % % H g = % % % > c P % % % % % | | | . . 4 * # x ; H F < C + 5 3 ) - p G P y ; ; 6 < J P _ < @ 3 ; ) _ g O G t k l h v v l t l > ) 3 + 9 v J t _ P T @ H C p k < v t l k t 9 6 > t J J G J h h F T F _ u R X ;.=.L S e c A Q ! p 6 4 $ $ x x ] x ] . w 4 . = : | % % % % & 3 C } u 2 c U <.` @.-.` ` <.U r n A a ( 8 U [ U &.U R ( 7 M h ; : % % % % % % % % % % s s s : ) > } z ( i j 0 K e 1 V n V a =.=.8 |.;.N ..i.e !.6...#.S [ {.[.L B p @ = % # Z > z / 3 . +.G & . Z + P X ' l z N k.6.x.[.8.I.9.h.;.i #.$.m 9 x E c o F @ ] q O / *.r.{.J.e.` U &.{ ( 0 ^ : M u k H F & s * H ] | : % % : x q v M E A c R e 2 a z @ ", +"& y w % % % % w q V 2 k K E q j m $ J i <.8 , ; = 7 V x | : = $ : $ x 3 ^ ^ + + ; * 5 @ P q + ) ) 6 t G < 6 6 T > P p j :.<.< y I Y o - k M G - + # # ) < ' g O ' k _ l } M g I ' v T 4 x ] T _ v t G I g ' J _ p t k G G J v F + ^ H < J k _ J g E c Z +.<.i r c d } 9 4 : : : | | : | = & $ : % % % s % : * P o u { V [ 0 ~ -.` ~ <.&.c { , u ! f ! z 2 r 8 i R r / u } 6 = % % % % % % % % % % % s s s % x 5 - G E N S 8 R n E G G ! 2 [ S j j 0 8 e { Q n e 1 [ R r *.!.f ' q 4 $ % I <.O g ; % > j ! P C ~ I , X p P ! c k.8.6.).l.u.~. .~ [ |.<.@ 4 5 b '.f O I J o a ~ p.f.(.C._.U #.W k &.E * u l 1 ) p A . 3 M i 7 # = $ : : C E p _ ( K V U U d Q D 6 ", +"& @ 4 % % % % : 6 r Q M 8 { D R p > Y (.Y ` _.f k S 7 v l p O , 8 g 3 1 A P z p ^ ^ T _ - T F F > T F G g h P v l J < z $.i G l 2 U O p I _ y # x x * @ J o h C < + @ } V E l > k o p 9 q - _ v v J - q t q ; 3 @ _ g M O G J _ P 9 @ > p l > H C F q < f V ` W ` S 2 o H | % % % % % % % % % % % : : % % = 9 I D a V e K <.Z ~ <.8 r A E o p v l v t } u 1 R i &.e ( , G + | % % % % % % % % % % % s s s % % $ ) v z N e [ e { ! P _ ! 1 i 0 #.~ #.L e m ! u a %.Z <.#.-.d f ' h * $ : 0 ' + % % % ; g 3 % y Q 6 v 1 + 9 O R H.g.,.2.H.I.6.5.#.@.f.f + ; _ k !.S m u z { r g.l.!.(.k.j R j.u b ` 3 @ } ! m : D M 4 ( f { Q C - T + G 2 =.> _ K ..R '.$.2 !. .q ", +"x H 5 : s % s s M c @ m K _ ! B ' ! ,.}.i ~.8.r W !./ a c W r <.W ' b i &.I 0 a @ J 2 $.V > 7 j i 0 , I h 5 ; ^ C O o M ` R T m A ! k P t p F F q > _ p o o < ^ * # 3 ( ).j O ' 8 ).n v } O ' k J t p p } C 5 5 H F t O k I O p C v J k M p C q C F H - - < B Z $.%.S A I ; % % % % % % % % % % s : : : : 3 t b a / r K Z #.#.<.K e 2 m I C y @ T T > J g { e R [ r N A g y | % % % % % % % % % % % s s s s s % * C b 2 c [ e ( f h _ o a N i <.~ #.i 1 M g z ( 2.(.-.+.Y 1 2 7 b C ; ' X 5 % % % % % % % % % % : $ w : 6 G ~ 6.` X %.{.G.h.@.<.$.,.h ^ * f A ` R D , d / L H._.#.q.)./ +...< U e = ] 9 @.^ . 8 * v X l D t o m b o ' .Y # * / j a @.` i .0 q ", +"4 > 5 : : % % . r h 3 [ } ) 8 7 7 R 9.).'.s.[. .G._.L K ^.%.Z ^.~ f g M j p r O 9 S 1 i u p { Z X a - 5 * x x ; P O ' C &.K e m P ' o g , a p t ' } l P } m o } h + y D 2.S M t 2 ! ) 5 H < J p J o } g M F H _ O G g M t q 6 ; * y F k ' I p _ h > + @ q v G } z Y #.&.u 9 : % % % % % % % % % % % : % = T G z / 1 [ j <.<.<.L Y A f t y w $ $ w * ^ q _ m ( e &.i &.V D q $ % % % % % % % % % % % s s s s s % = F o A c R r 1 E I < _ o { 1 e &.&.c d ' k z ( 0 -.0 j Z #.S R a O b c V P % % % % % % % % % % % | 6 7 k A K c &.j @.....@.X j i ( t @ ; < d 1 M m D m A ~ f.W ).!.2 M i &.b c Y p ) f =.3 a ' % Q ~ 6 O z 1 e c ( X 6.g 5 ] 0 D ] @.i - ).! H ", +"] < y $ : % % l z # u c @ f Z i Y _.1.{.0.*.|.x.I.B.|.8.l.!.{.x.<.D 9 < X p o q A #.2 p ^ ; R S ' - 5 ; 5 ) @ F _ l v _ / =.M y T _ ' c Y -.k 6 V %.K v q F h p ' g G b ,.X Q e ' 5 x 4 3 9 F t b 8 , _ y * ) v O G G G ' M O P y T h _ J } I ' v q - C J } l C } a B u 7 J & % % % % % % % s % % % % : * l } B V e 8 0 j i U e Q b J ) $ : % s % = ] ) F I d Y U K r ( z h & % % % % % % % % % % % s s s % % % $ > M A R S L i n z G _ l p O f z 7 m ' l I u V R j ` =...%.,.X [ E k T 3 4 % s s s s s % % % % % | y E D z Q { r L #.X +.~ X #.8 n ! P ^ 5 y F p ' o f Q N R r Y d g P v l ] b u @ T M j ! J * $ m K o R ( K <.Z L *.g.j g B Y % ! [ $ z / v - ", +"x J 6 & = $ : + < < z f p 7 Y d 0 s.p.G.^.].{.E.v.C.1.A.y.*.r.x.K T * h Z E 9 y ` .p F q J ;.f _ p G G v l _ h G u 7 B ).Z I p l T 7 R d Q 9 > +.( z g h - + 6 t } k P Z ,.%.c g C T } [ 0 M g [ .m + ] ] ; > k } o } G O k < J I b I G t T H y 3 ; @ B a ' p L >.M F l l 6 = : % % s % % % s % % % | @ k m { V &.S j S U Y n z J + | % s % % % $ 4 5 9 < O A R U R A z t ; : % % % % % % % % % % % % s % % % | q ! Q R K 0 Z K ( m k < y @ > < v < P l f 2 r L ~ W >.>.).:.2.Z 2 b h 5 % % s s s s s % % % % % % $ 3 _ I f A Y j Z +.Z <.` ~ Z U { b < 9 6 5 + C v I f B B z M k C y * ; y 9 q h v p p h H ] $ ^ t M o c <.W W W x.6.L V @.b y Y T = [ a ! m ", +"4 J T 4 x & * < g f z u z ! ! ( ).4.j.{.^.a.a.1.E.B.x.k.s.~.].Z ) * ) { .M @ 6 Z ` m , T S -.p k ' J t P - H - J k p Q _., h l k I %.K a T + C ).N F 9 6 ) ] ; 9 } G F i '.7 ' l l m %.Y >.E A ^.$./ g T ^ T v M Q A +.d l } p q f d } t } g ' v H 3 p #.Q < l ~ i - ^ 9 F v 3 = : : % % % % s s % % | H G D { ( U i K i [ e / b F x | % % % % % | = ] 5 6 _ f { V a m } < ^ $ % % % % % % % % % % % % % : : | | 3 k m a r K j U ( D I > + 4 4 4 3 ; T l z Y i Z @.W %.$._.}.).~ 1 z t @ | % s s s s s % % % % % % : | y l o B n &.L L i i <.Z Z 8 N a m I _ 5 ] # ^ 9 F _ l _ < C C P F C h v t I O O G l H . : % | @ b e #. .$.(.(.>.X 8 j E b B 3 ) V m o ! ", +"# I > ] ] 3 < ! { N r 1 n A Q 1 e.0.2.[.].a.q.5.*.*.h.9.{.=.g ; ] ^ ^ S b 6 ) H M D t # ) c d J @ ; @ - C _ h t k < v r i.q + 9 I 1 a.#.{ I _ g &...t T 9 * x ] y C k ! ).8 J H 3 ^ #.+.=.{ _ / 6.2 ' G O ! b ! ` E =.;.o D [ d I -.'.u G 7 #.i.{ G } 0 >.B < 7 '.a t C P p ' v ^ & $ % s % % s % % % : 5 h o Q 1 e 8 S S 8 N ( g - & : % % % % : = . q + @ _ } ! z ! p F @ w % % : | | : % s % % s : = ] 4 * ) # & @ ' m Q 2 c ( 7 f I T # x ] x . ; q I Q U Z ` %.2.(.2.:.[.i.-.Y E ' y : % % % % % % % % % % % % % % . 9 l M a Y U i 8 &.S 0 #.j K [ n 7 ! h 9 6 y y q F h v k O ' g G g o b f z , 7 b J 9 4 : % | ^ M e <.,./.:.[./.,. .Z &./ f I k o E 7 P ", +"] v - ^ y F ! / R S L L 8 [ e W i.~.,.'.[.a.e.f.8.^.a.|.[ C ] ! c O , h ; 5 + 6 9 3 # 3 ^ ) H H ; ] * ) 6 _ G P + 5 m [ L A q v } B ).-./ G J Y A '.8 h.e T 3 q < v k B '.b h + 4 H ;.8 Q m ' X =.J H - l O g '.N e *.S m E W 8 d -.r D { '.m S S l m ~.[ g C 8 8 b >.c z ! V ` Y q H b ) > & % % % % % . 9 M d N [ K <.0 K r / ! P w : % % : : w ; @ L g F l v k ' t q 5 = % % : # ; # * | & 4 $ % ] - C P h v h ] . y l O M o I ' G < y x = & = 4 6 h b n 0 -.$.j.~.[.6.7.~.).-.Y E p ^ | % % % % % % % % % % % % % % | ; F J E N Y &.8 8 i j +.~ X #.8 e 2 f o g O ' G G O O M z u u B a Q 2 ( Y Y V 7 M F ; : % | 5 g V +.>.).6.a.^.{.:.,.X K R V { 2 1 c J ", +"4 _ F 6 _ f ( L X W W @.` Z U N 2 { r #.'.:.j.].j.:.,.2 + x ] < z t T 5 ; 5 H - T ) y - _ v > T ) 6 P h v v > ^ x x 4 3 + T t J - T M 7 _ y 9 2 V b A ,.M h _ ' g G Q W 8.S &.! 5 ' /.8 K m l ).0 h ] * 9 O i .k -.).m g 7 :.N u ,.E z (.Z t .8 9 A _.o t o 6.W V ~.B 9 e 0 @.~ E ! ` { r * % % % % ! 1 q 0 >.[ !.$.~ <.#.L c m _ 4 : % % : : & . x k H H - < v _ T ; = % % $ ) H H 6 + E ~ h % : 9 G ' g b b I 6 = | 4 ) y ^ ; + + 3 # . = & * H t b , [ -.(.:.g.{.7.7.6._.,.Z A ! P . : % : % : % % % % % % % % % % % = ^ F O Q / R L S 0 S ~ ;.;.;.#.<.L r c ( 2 2 a u E u d / n ( N &.8 K S 0 K Y { m J ) | % : * I V <.>./.g.^.q.^.6.).>.W ~ S i U j 0 I ", +"x > F < g Q R X ;.;.@.W ` Z U 1 7 f D ( 8 @.$.'.%.X d + 4 # 3 5 5 + @ q - q - _ l F - C - < v v J v h _ l l _ > q 6 6 5 y T 6 ^ ] 4 * H h < h k ' k I M G C @ T h I e ` W ` A O l ! ;...n A Y }.` u H x 3 J =.%.<.2.i.E @ ~ X k ~ Y m M 5.` L r.+.C #.&.t k i 6.( G _.' f ).Y U ' t u @.Q < = % % % - , a 1 $._.$.q.5.+.~ ).|.{.n t @ m f v y C $ . y * * + - F < F 3 = % % | l _ P < q y u V ; % : T M E E Q a D v ^ 4 & $ : : % $ $ : : | w y C G D 2 e j _.~.j.].7.a.].|.$.+.Y z t * % % % % % % % % % % % % % % % % % % $ + t u d N K 0 Z ` .%.$.,.W X +.+.Z L K 8 [ e n 1 R K j j j +.` X ~ ` #.j N Q o - = : % 5 k A L W 2.}.].6.[./.'.!.W @.+.Z ~ ~ ~ O ", +"x 9 - v O a K -.%.,.'. .@.X K e B } G o B r #.X i b y + H - 9 @ @ y + ) 9 - q q < - T F C H T C _ t v h P ' z ! G } I ' G l < 9 3 x w x * 6 G ! t q ) ) - P > - < t o m d M h 9 C < ' 1 ~ ~ &.8 j i f F h f &.&.O +.K T < ;.A D (.2 V f [.G +./.D D ~.<.G - %.` v , 0 h i ~.M t h q 8 8 > > x | : % s ( j > [.7.#.B.2.Z |.B.i /.,.! U ' e 5 } { 5 v &.M ; 6 V >.( 6 w : % = F -.Y A o P - @.} $ % : 6 b { 2 n e n E M G v h H ] = | | $ ] @ P I ! { c i ..a.h.B.].].8.8.[.i.W U A o @ : % s % & | % % % % % s s % % % % s % % . > o E / &.<.X !.,.2.(.'.@.` -.;...-.@.W +.Z Z Z =. .!.W @.;. .>.%.'.%.W 0 1 z < ] % $ 5 J Q K =.2.}.~.|.).i.,. .` Z Z +.` ` ` M ", +"w 5 + _ I , R ~ .'.,.-.` j R { M _ v t g ! , 2 I + ) C < 9 ^ + 6 ) ) ) @ - P q q @ + P ' h y ) ) 9 v v - _ k p k I g I _ k 7 1 2 g 9 ^ T C < H 3 4 w w ] ) > _ g M _ F < C 6 6 T 9 k E , z f f m M B D b B n ( 2 1 D 3 y b } b A } I m { / R J g 7 %.S , / g.a D K > 9 X ~.g ( T ' !.} < v > ] $ : 6 X + k }.&.L e.#.X l.~.[ 9.>.z ( B f % B ! ; V @.G 5 c V [ A & % % % 3 Y /.K 8.j I d ,.4 % % = J { ` V R .#.K U Y n Q z } h q T F v } m d 1 U j ~ E.}./.j._.[.:.).;.#.U A o F & % % # m E x % * 3 | % % | $ | : % % s % % x C } Q n 8 X ;.(.2._.%.W =.W ;.!.%.'.(.>. .>.%.'.(.,.!. .%.,.i./.:.}.(.@.S Q ' 5 : : * J , [ #.,._./.i.,.!.-.X 0 i 8 j #.+.#.' ", +"& 4 ; F J z n L +.-.-.<.i Y 2 f h H 9 > P h k p H ; 6 q T + 3 # ] ] 3 ) + - - 5 * # 5 F P ) # ] ; y C J I k < 6 6 P I F + < ! D g O _ p G p } z B _ ; * * 5 @ _ v > ^ # ] 3 C p F H P k M ' _ 9 y @ _ ' B U +.#.0 &.7 P q < k t H T } o P y h ' b O m ! E 8 .S X { l T 1 ;.[ M } c [ 3 @ G g _ w = z f & S i ! |.).~ ` A.@.Z e.8 p ' >.^ 4 i # x <.Y * v ;.o m $ % % : * q !.!.{ *.i.E =.Y | % $ E @ j $.Q ..A.:.}.d.>...#.[.^.[ n 0 8 r K r K Z @. .5.p.(.i.$.$.'.%.X S e Q o < x : % $ : +.{ . % } { x % & ^ 6 + ; w : : % % % 4 C O 7 V L -.;.$.2.%...-.-.W %.$.2.2.$.,.$.$.(.>.....>.$.2.}.g.8.7.j.'.X 1 M @ | | ; p E e <.@.%.2.%.W ` Z j S &.r r i L j G ", +"$ = = 5 C O 7 V Y i 8 r e Q o > * 4 ] ^ 6 > < ) 3 ; ) y T T 9 5 # 6 o } < + 4 4 * > > 6 3 * 6 J m f G G h + ^ ; 6 J o G _ v < - P } o } t ' E e Y z p v ' o G _ _ t H w = w 5 > h h J O J h k J H ^ + J z Q d , m I k I p p u { u o m b 6 # 9 J ! u b p u A { ! I } p P h J G g O m b + 6 } b J ) ] d 4 + [ } z }.;.#.+.r.<.|.,.! b Y i.v 1 D = } =.t * d +.w : : % % w 9 M ].8 Z B.=.V 6.G : % e _ T (.2 u %.7.F.).K.~.:.d.}.L.'.|.^.h.7.a...!.$./.7.m.y.{.).h.].|.#.i [ 1 f k 5 | % : = ^ X ^ % % ) H : : 3 - < < 9 ^ 4 : % % % % . - p m ( &.+. .,.,.!...W >.,.2.:.:.i.'.>. ...@.-.;.%.'.|.j.7.e.h.a./.-.r m > & = ^ J z V i ` @. .-.#.L i 8 R 1 V 1 N r U I ", +"| % % : ; P G m E a a , 7 o q x | | | & * y 5 3 ; * ^ C l C - H C g k h H 5 + J M J q 5 T b / [ S ( _ ; ] ] * @ P C ' , o k > 5 ^ q f I y H } D M J v f ! } t h o N 2 J + ; @ l I k - ; 4 w x 9 _ _ 9 > k I } f G - q > F ! R L 8 S S V } P G p ' } P k O l @ 6 p ! p h p t - q T 6 F v l t P H q ) 4 $ | ; - g N c e 8 -.!.-.u D E e >.n ! - ^ Q U < F { L 6 M : : | ; C [ |.R [.:.( Z |.5 | G c & c ..o B Y $.y.$.y.~.s.L.1.x./.6.E.G.7.:.)._.:.~.a.v.}.$.e.x.'.G.i r +.j.d #.| % % : | m r % % ; ; % % w 9 P t v < 9 y w | % % : s = 5 P o , N i X ` @.@...>. .$.).).E.p.'.q.9..._.{.$.2.{.g.q.e.F.8.|...&.z > $ $ ) J E A R L #.~ Z S r N c 1 2 a 2 2 e Y v ", +"| | % % : ] + T l G g o b g C ] | | $ w 5 3 ^ 3 5 + H H H 6 @ @ 6 q q @ H P J ' l < l k B e 1 d 7 b h - t u , u ! p I l y * ] ] 5 J z g _ C p G C + @ P M } - C ! Q E g g g J J T H C ; & = & w ; q l h F > h O o < + y > t O b z , m p _ t v p B Q Q Y [ a v + P u M < t e ,.-.( t ) y J g ' _ 6 y H x $ | ; < ' D A c Y n , z u E E B z k h - t l x % P E G % % : 3 H k (.|.=.i./ { >.!.m 3 / 1 D X @.{ { N 2.A.2.[.j.4.p.6.[.~.{.4.a./.}.}.}.}.:.r.0.%.'.0.i.@.r.S ( [ @.V l : % : : = j ' % 6 E Y 4 w , <.h <.(.t _ o / T w C $ % = $ ] - } B n [ i Z ` ;.;.!.i.).(.G.J.;.{.A.Z r.e.i.r.J.h.x.M.v.7.|.@.&.z T = $ ) t z ( e K S S U c V a a Q E z Q 2 / ( C ", +"$ | : % % | . ; q f t _ g -.A # $ | . 3 + ^ y ^ ) + ; ; y y ) ^ y q 9 ) 6 h p G - 6 _ I ! M k h G Q e e S <.c d b > ) F G h 6 C J h q } Q f p > 5 * 3 q g o l C J } J p } g k v C t f J J F 3 + q _ I h + 5 * ^ l v > C l l p f D k C T H J o 7 ` ^.H.D.y.5.W 7 I g } C 9 n a.B.e.>.M q g u b p T ) y ) w $ = ^ < p m Q A d f b M o M ! b g p P @ ; w % s % % % % $ + C 1 j.L R a E 7 U n ; x m m I Z #.A a 1 _.1._.>.j.v.w.a.9.[.w.A.'.i.(.(.,.,.$.s.7.X _.B.&. .a.u q c V : : : | | w l -.4 = l L [ . k M i &.0 %.G 7 Z |.} E Z & . O i % l ` v D B { 1 U Z ` @.>.i._.f.N...|.0.:.[.#.(.l._.:.j.u.F.:.$.Z c b @ | | ^ _ m ( c &.U 8 c A V ..! b M M z d , 7 q ", +"| : % : : % | * A U l q l #.C & x & . ; 6 > 9 ^ ; # 4 ; 6 @ ; * ; H q 9 H + y 9 q H 9 < p k J 6 > ! a n 1 E M O O J p 2 8 V , B ! J < I _ @ q G < 9 _ v v o O v v - 5 ) P p h H T p z u b I ' m O J I p q * . x ; > p ' g v _ k _ C C 6 ) T C } &.2.9.p.N.F.2.N I I M k F k a N R 1 D k J F q < f G y < H & $ & ; T p b D b I p I p o b m b I _ @ ) x $ : : : % : 4 q f 2.>.u m ! M o I P 4 % = . y ' o m 7 r 8.:.Z =.i.l.G.7._./.F.j.~ Z X X ~ +.).F.X 8 !.'.Q '.i 3 < S T : % : w * > [ [ ^ # I +.- s . / +.b '.K m A W !.a ).u & + q K 7 I O 4 q t G b a N &.S X >._.h.4.$.i.y.{.~ !.9._.$.i.8.I./.$.;.S { } 5 : : # - , >.r e r r ( d a ,.' p k g ! m z f 6 ", +": % % % % % % T ` N < 6 c Y T 5 ] w 3 H @ H 9 H ) * + _ H * x x ; y - > + ; 3 @ h _ q 9 6 y H @ 9 U 1 o g ' J > ' z 2 S ..i a m O l 9 y @ _ a r E ! b k J l @ * 3 * ] 5 t b O ' C l } k > 6 q p _ _ } ! O _ ) 5 @ P F 9 H ) 3 y l p p t h - C g u , U $.,.e 2 d f D O I z , I T - > J G l F T y 6 C > F k y $ | $ . H _ l _ F _ t p ' O o O I v F @ 3 4 w $ | | | # p [ $.#.b o O O G l 9 . % % : ; h / Y V Z ;.r U L #.=.W -.~ #.` K Y c Y r [ K /.6.( Q n <.V A ; 4 Q ( % % $ ] @ P z /.K M _ L Y ] $ l 0 t ( (.E , U ~.S .~.I 6 w 4 ( f % $ : | w ; 9 I f 7 A Y L -.].m.]./.D.$.-.f.[.@...%.l.z.8.D.'.R 7 p > q < # h X |.{ ( 1 1 , } _ O C C J k ' o M G 3 ", +"s % % % % % % } L _ q H !.O / @.^ 4 5 A +.v - C T T m r J 3 w 3 z 7 ^ * ] * H h _ q 5 3 5 T l h F e O T 6 h C + v ! { ].[.{ m b v h } E ( 0 0 / M ! E M ' } ' g l + 5 T p g g J _ P P 9 ) ) < D M I o b t < J J G G F _ } } l P 9 9 9 < t v ' g ! b B , ! h G u K ].7.~.~.'.d @ ^ P l < t A Q p 6 ) l M b J w $ : : & ; ; 3 @ > v I } } } G ' t P > H ) # w = & x # 9 ' D , D f b b O h 9 = % % | ; t U Z U &.n N [ U 8 0 j i r ( { / A Q ( r V <.:.[ u f g I F x % 4 h 9 | ] ) _ I b n ).i ! o =.d C @ { ! l >.W &.Y ~.B.i.~./., I l C [ O % % % : : : & 3 F v ' z A &.!.p.6.G.p./.:.}.X -.@.).L.q.8.d.,.R { 2 T V ( 3 E ).#.V 7 a 7 ' b a p F < u , p v J < x ", +"% % % % s % % N z x * b @.z ' ` x . S P !.k 6 > 9 q g U S d G U i.K U { M N 0 Y O # ] ; - C P > 6 6 5 ^ q I P y @ H T !., h g } v g Q Y N n d M g I v l t (.` V D t l k l o D + 3 q < ) # y ' f M } t _ < p g } J J m [ 8.E.^.<.z _ F h _ v J 9 t M p k } _ C k ..O.P.Q.R.S.H./ 6 T C @ k ).4.w.N 3 ; < h P ) = : % % : % = * 9 h v t h l t v _ C 9 ) * * ; 3 + 6 + > h J G } o m b g t H = % % % x T O 7 u B Q / n 1 c Y R 1 2 B B d B B 1 ~ 0 i 1 t h F 6 w : % % : % : * > G D , A n N d M I D > % y b 5 J #.N { U ~.j.(./.$.r Y +.( / L P ' 2 - % s : = 4 # ) q G E ~ k.f.{.l.x.2.L #.+.@.8.s.,./.k.0 U ..o 9 &.q ; a !.O o b o g z i W f C { +. .k T 6 3 | ", +"| : : : % % ^ +.5 : | K r # J n x , U B D ) ^ 9 - > g X C > O ( $.h 8 e.@.L ..c X ) t r !.].6 H m b ; y P m u B _ T O ..^ 6 G h 6 > l p l F k G t < P I E 2.Y ! t f O l > @.W h l z Q J H @ C O I P F < t C 9 _ J h } A =.X N E g ' G G k I ! J - 6 3 T I ' v l 7 -.7.9.r.F.6.V l h p h t R 9.T.F.M 5 F F h 9 4 = : : : % | x + F C > - C < F - q y 5 3 + @ 9 - < h G G G O o g M b g t q . % % % & 5 P } ! D B Q A / V 1 c ( a { a , z g ' ! z _ + ] # . : % % % % % | ] - g E ( 1 Y r ( a D k F 3 : : % & H J b a c K L i X i V #.~ M D Y 9 v 1 H | x # ^ * x & x T } R g.;.=.x.a.~ i L 0 .r.g.;.^.^.S !.+.9 ( { | 9 U c J p J J _ M ;.+.h k j Y } P H ; & % ", +"| : % % s | m X - . - ` C 4 1 t ) =.e w w x ^ 9 q > P ;.O _ v 1 -.I $.q.7 0 S E V b X ^.Q { 9 D (.'., a N g d $.v ^ Y ( 6 C P P p G 7 M J ; F < g J > o D b ! m 2 ` v J < ).i Q U <.V M I h > b _ * ) / ;._ < g O _ Z { ' _ < b m l } { j 7.F.x.}.K g F v D b k ' m D z u f b M M o ' J p f d &.( k P ' I t ) * ; . : : % % $ * - C T T < l _ < h F T > < h t J ' ! E u u E E z m b } v - ] % : : $ ; > g u B d { A 2 1 N r c [ r / 7 o _ - ^ ] . = : % % % : : | & = * > } u V Y [ i U r / , b h 3 % : : x 6 k m Q ( e r Y c ( ( n V 7 ! ' v 6 6 y y C l t P H w | 4 P , R a Z ).-.Z 8 8 S :.*.>.].*.@.=.[.<.7 8 f = M ~ M _ < P < < / ;.7 h t 8 =.p _ 9 * = : ", +"$ : : % s & D V ^ 4 f { 9 - n # > '.e H J x y ) 5 H < ( K T v !.1 O ).D } i./ 7 f c !.8 h ) F -.k.>.N #.=.y ( r @ O 6.c a o y - P d Q 8 g C N A z 0 C O 8 c P o ;. .G ' &.f.e r &.A G J J F t @.} ; 3 N X k _ v b m ~ Q o 9 9 g G 9 ( {.:.g.x.5.a.'.a Y Z c o I } I l h p } M ' C v p k ' J _ I G k g g t q ^ 5 + 5 = : : s % 4 y 6 H > > l h v J p J I I g o ! E a A A / / ( A Q 7 f k - # : % : & 3 q k D B d a 2 1 R K 0 S j U 2 f p > * : s % % s s % $ w ] * ; 5 q p m 2 1 8 i L L i c { f v ; % : % 4 q G D { V r r N c ( / e r 1 A 7 ! I J v k o M o O v @ & $ 5 h ' D n K K S i K j (./.[.^.(.X ` (.&.E n } y { =.a t F < - o ` ..d f O n .d t > ^ ] $ ", +"| : % % s % 4 ; % $ H H P F & x - e 1 P * ; ; x 3 I 1 M Q 3 7 .O ~ z - u (.2 D o O (.g t f i k.a.b M >.f p ..B R g.B.a 7 G @ 3 3 V f c P <.` 2 Q ;.! n >.U ) } ).o P h '.+.V j.r M H ) P o <.7.V ( K 1...B F _ p F < G _ @ q _ l l k ! ;.i / A A z v Z j.r m v _ P H y H - _ o ' ! m z ! F y 6 T _ t T y y 9 > l } ^ | : % : : 3 # ; 6 6 F t t G I M m u B a 2 1 c 1 1 Y Y N e 1 2 u ' C # : : : . H h k ! , Q / n r S 0 #.` #.8 A M l 9 x % : % % % : x y @ 6 + + C J O E 1 r S Z <.0 S N d ! _ x % % : 5 C g B a ( e e n / 2 V n c Y 1 / d z b o O E , , E g P y & x 6 v O Q 1 c r r Y U K ~ ..!. .X K Y m q > # . I D _ F > q T O L R b 7 1 K L , G P T 5 $ ", +": % s % % % % % % % % % : $ . # 9 T 6 3 # ] x ] @ p E t w q j ` m H ^ 6 b +.( f k k ~ O d A Z 9.~ N 2 >.M <.g.&.#.8.W ! g - 3 @ g =.[.c e 2.U C e d 3 B -._ q &.%.> @ I ~.r g ..M t ) y k Q g. .c n #.g.( 2.&.k a ,.j.;.U <.j f _ 1 X ).].2 O b m b G ...C v D %.=.V O > H _ ' 7 .d.U.u._.O 3 * y l _ - y 9 F J M v . ; ) # % = # ; 3 + T h _ J I ! B A ( 1 e U &.&.8 K K U &.R 2 z } l 5 | % : ; F p } f , Q A N [ 8 L #.X <.R A f k - w % % : | x 5 9 < > C C > l } M Q e &.0 0 j L 8 V , o - & % % $ 5 > ' z Q { ( / Q d , { Q / c e N V 7 m b b B a V A f J H w : * P } z 2 V c c r &.0 ` ;.$.%.@.j / ! T = % | * ) 9 - T 6 @ > v I p g 2 r d D b I h ) | ", +"% % % % % % s s s s % : | $ x ; 5 H 9 H @ # 3 g d ) & x < r @.F w x ) h k g J 5 @ < B B - @ ! &.! _ , K D ~ (./ e ].=.1 < h ' c #.:.q.z +.W J O @.H H ~ c C g -.n o } &...> T X F < y @ h , :., o B %.L c X >.@.l.V.c.x.[.{.W r m j.2.K I > @ @ F _ M [...~ a.o.W.X.O.H.@.r X 5.K.Y.Z.Z.`. +s.{ 9 _ O D e ' 3 5 T > @ # u X x s | . 4 . ] @ 9 > h ' m d / Y Y U U i K <.<.S U &.Y A E g l ; : % % # C } O f E a / c r 8 8 i S U n a z k C w % : . 3 T C h l v k t t k } b { N &.i K 8 R r 2 D p 9 = % % & ^ C } m u 7 B u D f m z u 7 d V e V A u O ' f Q / A f J 6 & | w > } z a A V r [ Z ~ ..%.'.,.;.#.r u P & % : ] y q q F T T C h _ J G O f d d u o J H $ ", +"% % % : : : % % s s s : | & x # # + ^ @ y 5 q G @ w x ' ~ >.Y ; w # @ y ^ ] x ] > G t - @ * x * ; @ J J T k O + h c f F - p u / A K .a S R ' 2 } P { (.<.[ Q ,.V P t 0 D ; { K p v H 5 F [ <.q v c _.b l /.|.}.p.K.7.-.+./.! D B <.k C 9 q q q v E -.C.v. +.+++@+#+$+%+&+*+`.=+-+;+>+>+Z.,+Y.J.,.g.'+I.n.1.u 4 x 3 < _ A / : : = 4 4 $ | $ . ; 6 t O 7 ( N [ i L S L j S i &.r c a , o O w % % % ] F J k M m B a V / c c e R c A u g v + : : . 5 9 C v J J p k _ < l G g u a ( n V n / , z I F ^ | % : | 3 > G o b b O I k v v k p ' b 7 a d E ! p C h ' ! f k P ^ = = . T J o ! E A e U Z ` .. .>.!...#.r E q | % % & 3 y - C q q < h h _ p O m d , D o v 9 & ", +"s s s % % % % % % % % : $ = . w # 5 ; 3 ) 6 C T + * + p E A u - F f J * w . . * 6 q - H ; w . w # T h l C 3 ] 4 * 6 h > H _ G J o , a ! M r n ' J g R %.Y B 1 <.b y b K h ! r l - p k - M ;.R < k #.S ^ u _.e +.*.%.D b Q i.R D D ~ B.g.-.U c 0 ~.t.)+,+,+$+!+-+~+~+;+{+]+{+^+/+(+>+_+~+:+++!+&+<+[+}+}+|+1+0.=.< I y 9 ..Q ; ] 5 @ ^ w | % : . @ h ' 7 2 N &.0 <.Z <.!.-.i [ Y V a ` [.B = % : : # C G G ' M m B { 2 A 2 c N 2 , ! k < ; | . H > P v p I k p v F - P v M ! m B B u E D g J h T # : % s | ^ > v I I I k J < q 9 > F < p O z u f o t 6 ^ 9 P v F 6 ] | = ] 9 h } O D 2 e K Z ~ @.W W -.+.S 1 z q | s s = ; y - F > q h _ J l k } f u u D g l 9 . ", +": % : : : $ = | | : : $ & ] # x ] ] ] 3 ^ 6 q @ y 9 - 9 5 * * C M G 6 4 w * T h 6 3 4 w . 4 ) t O _ @ ^ ] w w 4 + h ' _ - H H 6 q p k 9 q ' ! m } k O b o G h T * ; M D ! / } q T q + ; p L E C B ..V 7 Q z G #.g.Z c f 7 +...Q .L.2+X.3+4+5+X.)+`.!+#+$+#+~+6+;+6+(+(+^+(+^+{+{+;+-+_+=+@+#+7+,+,+W.8+&+9+0+a+{.` H v #.o Z -.- O Z #.y $ | $ * H v M Q e 8 j <.#.!.x.#.r r 1 A d 8 !.5 : % % % . @ J k G k G ! f b f B Q 2 Q E O _ - # $ ) l m { G O g t C 9 @ @ 9 _ G I g I p l J < > T T 3 | % % % $ 3 6 _ J l l l C T 5 ] * 3 @ F l k O g k P ^ 4 3 + 9 y w : | & * - J o ! z 2 e [ L Z <.` #.0 i e d g 6 | s : $ # 6 F C T H P < h v k g ! z D m } h 9 . ", +"% : = & # y y 5 # & = & x 5 ; # & & ] 5 3 3 ^ 5 ; ) @ ) ^ ) 6 P > T 5 ] y v t T # . & 4 T G z d k 5 x w x ] + _ _ H > k h C @ 3 + h < ^ 5 T l l v p O p T P - y 9 F T - l g g l H # 4 4 ) h C > M a 2 i o - P / &.M P B U 1 V -.b+c+d+e+!+=+_+~+~+;+_+f+!+:+6+(+g+/+/+/+h+h+]+{+(+6+g+~+f+>+i+%+$+d+}+%+&+|+)+Y.U.z.M u Q 9 ( b } i Y A H 3 | : $ * > } / -.}.e.-.@.a.1.+.e c 2 Q a W / x % % : : % * > v v h l p t v p O f V #.B g v 6 w w < Z ( $.a } I h 9 @ ; # ) - _ _ h C 9 + ^ 4 ] 4 = : % s % : & ; @ > h P > 9 y # & % : | x ; @ C l v P T ^ w $ $ . & % % % | 3 F G o m z Q n 1 &.i L K i r ( Q ! l 5 : s s $ # ) q > H 9 q P F _ J g ! D 7 f I _ @ = ", +"| 4 3 + y > < C 6 ; x w 4 ; * . = $ $ & . 4 ^ ) # ] @ + ) y C _ F > T 6 F _ > T 9 9 > g m k v < ; * ) F k J J k T @ @ 5 4 w x ; F } J F @ @ 6 ) # ^ J o ' m G P k I ' M O J + 4 4 ; 6 - p ! b ' k } g m v ^ 3 ^ @ q F t u a j B.X.,+++~+g+6+6+g+/+^+(+;+>+>+/+g+6+6+{+j+k+j+h+^+6+(+_+f+;+:+i+++@+8+e+$+}+)+Q.Y.4+t.[.8 f m P . I @.+.G P @ ] $ | x P ( W &.].a.0 !.x.2.K r c / Q [ $.v w x k n I % w ^ p } o h q F < _ t 7 !.).u } _ ) # 6 R S G B I J v P H 3 # . * y 9 q H 6 ; = : : % : % % s % % : x 3 H P _ F @ 5 * = : % % % & ; ) + 9 - 9 3 # : : $ $ % % % % % * F } ! m b z , 2 n N r [ N / d B o P 4 % % % % & ; H H 9 @ - - - h I O D u d E } t - . ", +": 3 @ @ H P t v P H 5 x w 5 ) ] & = & & . ] ^ * 4 * H 9 + * 3 y y + 9 > < @ 5 H I I G G > q P C > T > ' O h J ' 9 * x & = $ w 3 6 9 6 - 9 3 ] x x T b b v J C v b G I l F J F ^ + l M g ' G ' k I O M b J C _ I ' o u n Z ~.L.4+Y.$+=+g+/+/+6+g+g+(+6+-+-+g+(+g+/+^+h+^+(+{+(+/+6+g+~+=+@+%+d+Z.$+d+e+l+m+W.m+n+o+c.v.!.2 / * y h 8 %.z _ T # $ | x f ~ 1 j 8.` 8 :.f.j &.N V 2 1 !.~ 9 ; g / f Q : ^ } p c U @ 6 , ~ e v [ [.@.f J P @ 5 o @.u _ J _ C - y * ] = = = x 3 * x ] & % s % % s % % s s % % : # @ - > 9 5 * w $ : | * $ 4 3 3 y H ) ; w : % : | % % % % % % = ^ < p _ t G b z B d A ( A Q 7 ! k - . % % % : | 3 y 6 + @ 9 - P t ' O u d { B o p F . ", +"$ + > 6 T P v t P - 6 # w 3 + ) 3 # x w # T ^ . w # ) + ] 4 ; H + ^ 3 ; 5 3 3 @ < h l h q + ^ q l > T P t _ p F # . & = w y > t _ y 3 x & $ | $ # - J } J - y 9 H @ C > q J o t v ' g o ' h t o ' v ' A S $.[.7.f.x.k.d.u.V.3+)+`.!+_+/+{+{+(+-+;+-+;+g+/+(+(+/+{+]+p+q+p+k+/+~+_+~+:+@+e+l+8+l+,+d+7+.+m+r+s+t+4+5+u+'.S %.c n m e #.n 2 J ; = | # 8 +.{ /.(.r @.7.$.&.c 2 2 { L ).1 < ! Y , } ] * z M P &.m ] } V q J p Z (.B M G > F k U L o v B ` ( l + h m k < 9 w x . ] 4 | % s s % s % % s s s % $ 4 ) T q 9 y # x & | x J + 4 ] 3 3 ^ ; = : % % . 9 F 5 | : : % | = 3 @ @ H C v } M b b D m m f M l 6 $ % % % % | 4 ; 3 y 6 > < k O f m , A A B b t - & ", +"$ H C - F h t v _ F y w & x ; 6 C F 5 ; + 9 x . w 6 ) x . w ^ T - 5 4 # T C H + 6 ) ^ ^ 9 ^ 5 - J l _ _ I _ @ F > 3 * T k I g o F x $ | : : | & ^ ) 6 C 9 ^ * ] * q } v 9 q v f D u f E g G M M k D 8 i.f.k.m.b.O.v+2+X.Y.`.w+$+@+~+g+^+]+^+(+/+/+(+-+6+/+/+6+;+;+/+^+{+q+]+-+;+_+f+=+!+$+l+8+7+}+m+c+c+Q.)+<+3+v+4+T.:.U -.n b V S z m ..D 4 $ : 6 0 X L ~.2.K }.x._.i 2 a / n (.:.a g i [ @ s % f A _ c [ - ^ G U G T D ;.j o ' G P C O e } @ / [ G R c < 2 Z Z c ' * x . x g 1 F } m 5 < p x s $ 5 # & ] 3 H - q + 3 ; ; 5 * h ! . w 4 ] ] 4 | % % % 4 , ` Q w ^ / t s $ 4 x # 3 y - < v t I ' o o ' p C 5 | % % % % : w * ^ T - v G } ! u u { / 2 7 b p T x ", +"| + - T > < v _ F - + w & . # 5 y + ) ) ^ ] . . # + x & = ] T ; w & w ] 9 h F 9 ^ ; 3 @ < F 9 5 3 5 ] # 6 h T > P T < G O g P y 3 4 & = & x ^ F C y # x = = = = . + t p p l P v _ > q l } } ! Q r ..7.0.b.o.O.V.x+9+)+`.w+@+>+_+6+6+{+]+^+^+^+^+(+g+;+-+(+(+/+/+^+]+{+/+]+;+>+6+;+f+++$+l+y+y+}+c+r+r+W.W.[+<+X.1+U.u.6.Q f O l T > > u +.k & % : ; u , d +.i c ).].~ n { / / Y :.).&., <.N k q + r n D .e F q F L V - N -., g I v > T d 2 5 < i m G ;.n C 1 W R M C 6 ; 4 3 2 [ O N r I N n ] | P N N H & ] + q 6 H C h < P > z e | = w . = : % % s | ] Q [ x : v c | | $ x w = & # ^ @ H - P l J p t < y # : % % % % $ # y 9 > h I o D B , Q A n V , m ' F . ", +": 4 @ + 6 F < p m T y x & & w 4 t .9 T + 3 ^ ) y ] . x ) v @ & $ = ] 3 5 ^ # x x x # + T P < ^ ] w & # 6 H ^ 3 ; 5 + @ 6 9 ^ 5 C v 6 y q C C v F ] = | : : $ . 5 q C l g G @ ; ; 3 3 ) C O ( <.(.z.v.u+O.c.2+<+W.}+w+Z.=+f+:+-+g+(+(+6+(+(+{+^+{+(+(+_+_+g+{+^+^+]+]+]+]+(+g+g+_+f+#+w+y+r+&+&+.+r+P.Y.P.|+X.0+1+O.I.[.o q t q ^ @ F } J 3 $ : : x @ h k g 7 c j S ( A 2 / / 1 #.[ ! p / [ < = 5 ( a 7 -.c l { I R Q _ X ,.n ' v C q q &.m : ' [ _ m .., _ +.<.' G p _ > y 5 a R _ ( [ p 2 o % G Q u u 9 = w ) 6 P v I 1 L b < / S y & | % % % % : % & C 0 d $ $ k O : | w # & | | & w 4 # * + q < h F > y ] | % % % : . * y - P v k o z d { / V N Y / , O _ w ", +"| : & & # @ < L / q 6 5 x . & w T { @ y 5 + P J P ) ; F X +.x . w ^ l C ) w = $ = . 5 - _ 5 ; . = & w ) > h q ; # 4 w x ; 6 y 5 y v ' } ' l @ - v ; & = & 4 ^ h } p t I J q ^ 3 + C p Q L ,.~.f.l.t.a+3+[+&+8+w+Z.Z.=+:+f+:+-+6+g+/+{+^+{+^+]+h+]+/+/+(+6+(+(+(+^+^+]+h+/+g+-+g+_+:+!+i+d+`.c+&+r+&+Q.*+P.|+z+0+1+A+u.[.O + l H # + T 9 ) x = : % w ) C v O 7 N R e 2 2 ( e e Y ( B O J - ; | % & > _ t B I - z N u < I S 8 D J P h @ I U - % ' ! > j / h c 2.c b M ! O k _ d j h t [ h k M # 3 &., v 5 : $ x 3 _ G M b c 0 m v 8 8 H $ % % % % % % $ 4 7 X I $ & 4 : 9 7 B t p - | w q P + ] ^ 9 C h _ C - 5 & % s % : w * 9 C J I o D Q n c r Y R [ c 2 m P . ", +"% % : : | ^ , !.m - k I @ y = & 4 3 # * 3 3 ) @ + y T g ~ M ^ 5 - p > H 5 w = . x + M %.n $ : : | & ] 5 3 ^ + * . & & w + l v H ^ + ^ 3 + ) 6 t F ^ y F p k _ J p k v T v } M d i '.a.E.C.C.L.D.'+U.<+`.w+%+$+++@+@+=+>+>+;+6+g+-+6+(+g+/+{+{+{+/+/+{+^+^+(+;+_+(+]+^+(+6+(+g+-+~+f+!+$+l+7+`.y+c+}+m+*+Y.<+n+t+1+a+B+e.b # q + * 5 ^ 3 # $ | % % $ # H l g u Q { E 7 a / Y &.r 1 E ' h @ x | : $ ; 9 q q q 9 - > T T q _ J _ < C 6 3 V f 4 : & O a J q C K Z E m E B u ! k #.a 9 i O $ n b & G ~ v & % : $ ] 6 J G g O I ' t o W 2 # % % % % % % % = 5 K U 9 $ % % k g f O H 1 I | I { j } * ) q h J I J F 6 4 % s % : & ; - l I M B a V Y [ r R [ [ 1 d ! P = ", +"s s % : | + r &.h g n W 2 1 . p { - . 5 Q A > 5 ; 9 h d #.3 5 ) - h ) F t @ ^ + C J g ..> . = & w y q H 3 H ; | : $ . ] + + H q ^ ] x # @ H @ F l g g t < h < T I z h E Z W ).x.m.u+S.X.S.4+O.4+ +)+.+w+$+#+Z.++++=+:+=+~+_+g+_+_+_+_+~+6+/+{+/+(+(+g+{+h+^+/+6+(+^+/+/+]+(+g+g+_+=+!+i+8+&+.+c+7+8+&+r+P.<+ +S.5+T.b.q.B 5 5 ) 5 5 ) ; w | : % % : & ^ C G ! E u f z d ( e 8 S r { M < @ & : % | ; T - - - T P F H 6 9 - P P T 2 _ l c + : % | $ 4 5 H P M m o m Q { / d V 0 ! ! n 6 ; V l = J i g I # : | . 6 < v k 1 / O k R .G * % % % % % % | & p =.m # = % % O l { l @ V T _ e Q / t ) q C p O o ' l q * : s s : x ) - l O u { n [ S S i 8 U R 2 f k ^ | ", +"% % % % : J <.! H M c Z Q l p K K q * f { N G y k z D i a ] 4 ] ^ 9 5 + l g O J T F R ~ ) 5 5 6 _ I _ ; - A H : | & 5 C > ; x & = = = ] y @ ) ^ + H T q q - 6 k r Z W ).h.F.N.O.C+R.r+&+.+r+}+`.}+7+d+%+e+++++++Z.++!+++f+:+>+=+_+g+~+>+-+6+/+{+^+/+(+{+/+(+/+g+/+{+/+;+{+{+/+6+_+>+++$+d+.+c+}+c+&+&+m+Q.[+<+C+S.c.b.5.Q H @ + + ) ^ ] . : % % % $ $ * T v } ! B B d / N &.j <.8 n 7 I H $ % | * H < l _ C F < > 6 + @ > P C H 7 } M ) : : : | & x ] ) q v I b u A n 1 n 2 7 ! ' h T ) H w : # _ I $ % | | & ^ > v ' X j O b >.Y v @ $ : % % % % | = c ` - x : % % = Q D ] u } * Y A ! H * 6 > v } o f O J F * : % % | x y C p f d c U L #.#.Z L K R A b h 5 $ ", +": % s % w 2 K < - g 8 M ) ^ } ` f | ! R ! ' ] C / l @ / l ] x # H v v T ) 5 ) H ) k @.c F P a W c _ H k V K + # q t h 6 4 = | | | | = # H - - P q ^ 3 ; ] # k <.a +.^.r.C.o.1+D+Q.}+8+l+,+w+w+8+`.,+l+w+$+$+%+i+e+#+++Z.f+!+!+=+>+_+~+-+6+6+(+^+^+{+(+g+g+_+;+-+_+6+/+(+k+p+{+-+:+!+Z.#+7+c+&+r+W.W.*+[+s+D+X.0+v+T.v.{.E q C H 6 @ + ; w : % : : % : . y C G f A V 1 r L #.+.` +.S ( f > $ | 3 t k o g J < > _ C y ) 6 > q H + H H 4 % % : | $ = $ & * 6 C t O z Q n V V a E m M J h H # & : % % % % % % % $ * 9 F h 7 ! o ` #.o l H x . | % % : . T U U 6 . % % : w j J - a ^ @ <.u H ) + 6 P k O b M ' v H 4 : % % : w H _ g z { Y K <.~ #.~ Z S r a M P ^ & ", +"% % % % > ~ <.k p N V ^ # H r S q - K a ] = ; A E | O z . x * @ H @ 6 3 * 3 H h @ , j < 6 E r p N n h a ~ n p m 8 .c w $ : | $ & x + v J h < @ 3 # # 3 ^ G W g...~.*.0.3.v+z+P.&+c+d+d+d+d+d+`.`.8+w+!+!+i+w+,+$+$+$+Z.=+>+>+=+=+~+>+~+6+;+6+g+g+~+_+_+>+:+~+;+:+~+;+;+6+/+(+6+~+@+e+l+}+.+Y.[+*+Y.R.s+R.z+z+3+4+o.v.g.B > h t t l h 9 3 w | : % % % | ; C G m ( N R j -.!.,.2.(.;.K Q v 4 3 h l k ' O G P - < q 9 - P C > 6 y 6 ^ . | % % | $ = | $ w 3 9 C G M D , Q a , E m b G l 9 * . $ % % % % % : : = ] @ H T P M j <.b } l T H @ 5 4 4 4 # T l ' 5 = : % % $ , g v 5 % * Y , p F 6 C t ' o b o k F + 4 % % s $ ] - t b 7 / N 8 j j <.~ ~ j r , } - ; . ", +"% % % % P K 2 l B S k & x t Z Y I Q W , J 9 M N < > R z 5 H y 5 ; ] x w x ; 9 T t L 7 3 F e b < @.( ) / 8 _ 6 u 2 > g ; = & w # 5 H l o O _ H _ E &.d T ' .0.0.9.r.l.D.T.0+R.Y.&+}+8+y+7+w+8+y+}+`.l+Z.Z.,+$+$+e+%+$+$+#+f+f+Z.!+:+:+f+f+#+Z.$+l+`.w+#+Z.Z.f+~+~+_+>+;+g+-+;+-+_+++$+,+7+}+*+s+[+[+[+Y.[+<+9+3+1+a+4.a.( ' b z E z b } l @ x | % % : w y F I z / Y i +. ./.j.[.:.'.X Y f + H P l k J G k - @ > T - _ v v h P > F 6 # = : % | = w w . x ; @ q _ I o m m m f ! o I t F y # w $ : % % % % : = . ] ) ) + 9 D V v G I t v l _ P q y 5 # # ] x & $ : % % : | = = s s : T v 4 * 9 h p O f z z g l H x % % % x + C ' z { n Y U i L <.+.<.U 1 z v 6 ; = ", +"% % % % ; t l v } G * = . > Q O ^ _ c &.b 9 a &.p { <.[ J 6 9 < l _ q + ^ 9 @ * E &._ $ J c - O W f > r o . & t r k T 6 5 9 h G p C < _ T y _ R f } W L X y.B+N.4.t.N.b.A+C+R.Y.*+r+r+}+,+$+%+l+`.y+w+++%+,+l+8+8+}+7+,+w+$+i+l+d+y+}+Q.9+x+t+C+z+|+R.[+*+r+`.,+#+>+~+~+>+_+_+;+:+@+i+8+8+.+Y.R.|+)+W.W.D+n+X.C+x+O.v.^.( g u , A A d D ' _ 9 5 | % $ ^ q _ G f Q c 8 ` !.}.].6.|.$.=.8 , h F l p p k ' t C @ C - > t I I G I p t C y * & : $ w ; ^ ^ 3 ; @ H - l J I ' g I G p t < 6 ^ 4 . $ % % % % % $ = = ] 3 ; * # 9 9 C p I ' } M o O ' _ H + 5 ; ; 4 . : % % s % % s % % s s % = ; q t ' m a ( A d b l ) : : $ ^ F p o 7 { c U j K <.0 0 i n Q g C ^ ] | ", +"% % % : 5 < t v l ) . = = w ; 5 * ; y T 6 6 _ ! g f V J 3 - E W e.q.=., k v y . A Y z ; I o 6 8 d ^ a K } = ; + S Q - k O O O g k t ' } J h e +.m %.k.8.H.4+4+5+0+0+3+3+<+)+W.r+r+W.P.c+%+,+,+++w+y+i+#+7+`.7+`.d+%+w+y+}+c+s+C+t+U.v.m.u.U.O.u+A+o+V.A+o+5+0+D+P.}+i+!+=+>+=+!+++Z.e+l+7+r+*+Y.)+P.Y.)+D+z+9+n+3+A+K.*.R m { n N ( { B M ' J 9 . : x 9 _ t G M 7 V [ 0 W ).~.}._.,.` K Q p q C G I ' o I F 6 F q > p O M f ! ! ' v P y 4 = = 5 F F C T 6 T T T P _ v v J t t l F 6 ; 4 4 & : % % % % % | . w ] 5 ; w . # @ C } M b f m E 7 z ' v - + ) ) ; . | % % % % % s s s s s : x + P } ! , n &.Y / E G y $ % # q J O ! u d n K S S L S &.n , b l y $ : : ", +"% % % | ^ < k I J 9 4 & $ $ & . . ] * # 5 ) ) ) 5 5 @ 5 ^ P D Z }.` z J C > - ^ g b # w * D r b ^ & 7 e t = O h U u @ - q + 6 C J v < P ' z |.%.S k.u.d.A+D+<+Y.&+&+&+&+&+y+y+`.}+}+.+8+e+8+d+++,+8+++8+c+}+d+7+r+}+R.v+2+ +3.3.K.9.f.s.u+2+K.K.0+3+2+T.3.b.'+w.y.3.A+S.D+P.}+d+l+`.8+y+&+W.Y.[+Y.Y.*+|+s+R.<+9+3+4+M.x.8 a '.f.#.( 2 a u m I P ; = * T _ _ k O D a 1 &.0 ;.'./.i.!.` U Q _ * ^ G I } o v - F > q v ' g f ! m b ' G h T ; & 4 9 C _ < > F h - F h > - C h h _ P H 5 4 . . $ % % % % % % $ & w # ) 4 w . # y P } M f D E 7 Q 7 f G l T T 6 * x | % s % % % s s s s s : * - J D Q c K <.L r a M - & & 5 C ' ! m E Q n U U [ &.r / 7 b t 6 . : $ w ", +"% % % $ y l k k h @ ; x $ $ : : : : $ . ^ 5 * # # 9 C + ; ) 6 6 H 6 ) * ] 9 g l @ ) q l k J y w $ | y q . w G ( Q q * ] ; ] x . x x * q o f (.-.8.b.t.n.[+*+*+y+l+l+,+8+8+8+7+7+y+y+c+,+,+}+%+e+`.w+#+7+c+8+8+)+m+&+C+v+U.S.c.B+B+0.D.C.D.H.7.8.p.J.k.6.g.8.x._.` -.%././.h.b.C+*+*+W.m+m+r+*+D+D+[+[+R.s+D+9+n+C+4+o.1.S a i.(.N V 2 a , D g t ^ | * 9 P C J ' b u / X }.>.` '.2...0 N u q x # h J J k < F 9 T > _ J O o M O g } p P H * x ] 9 P l < F l _ > F q @ H H 6 y ) 3 x x = . | : % % % % % % : ] # * 5 4 & & ] H C k o M M u d { A f g v F F > @ 3 & % s % % % s s s s s % * F G z A [ Z ~ j r Q g 9 . $ 3 < o m z u 7 / Y Y V { B o k h ^ . : w + ; ", +"% % : $ y h t v J H ^ 3 # . = | : : | $ & . x 9 ! ' T y ^ ] 4 x w w 4 4 # 5 > q q < 6 3 5 @ + & $ = . ] 9 h v _ y 4 . $ | : % : | w 6 h J ! K ~.k.k.m.A+P.s+.+l+w+w+w+d+8+d+8+7+&+c+&+%+7+l+%+`.c+i+d+`.`.$+`.y+%+}+[+z+0+R.0+4+3.t.A+n.v.0.F.C.b+0.g.%.|.].=.N c &.L ..;.` @.7.K.x+0+z+Y.}+m+[+}+Q.D+)+m+<+z+*+n+u+n.r.Z +.{.` N c / Q E ! O v ) = * @ q C l J ' D , !.a.X 0 $.5.(.[ Q I ) # T C _ v v l T ^ 6 T C v k f b g G I J > y 4 . 5 H _ _ P P _ _ < - T ^ # # 4 x & = : = | | $ : % % % s s s % w ] 5 y # # x ] + q _ } g b E 2 / d D g v J P T y 3 w : % % % % % % % % % : * > G z / 8 j j K r a ' T ] = * 9 ' f u u , A 2 7 ! g h q 5 w : | * > p + ", +"% : $ . H p ' G v @ ^ 9 T @ * ^ ] $ $ & . x p X +.J ] 3 ; x . . 4 ; @ ^ 3 ; 3 # # x w w ] H 9 @ @ C _ v I o g - y 4 $ : : | | $ . ) h v O ( Z i.f.A.u.<+Q.Q.d+,+e+i+e+%+w+,+w+d+7+y+l+i+,+d+7+y+8+++$+$+$+@+e+%+i+.+R. +x+)+R.3+v+n+*+0+A+5+S.Q.r+C+T.C.F.u.h...0 ` ..,._.!.W (.z.b.A+t+)+`.W.}+7+*+*+m+.+*+W.7+s+o+u+u.7.8.~.#.U #.(._.Y B 1 E v H + q P l < l k o E i.` Q 1 L W <.n ! P . 4 q l k k G p q 3 H h k I O u m O p l v - 5 x . 5 F J p k J J t C q 6 ^ ] w = $ $ = | | : | . = % s s s s s : & # y T y + ^ ; ) T < p } ! u A 2 Q , D o b t q 6 ) 4 | % % % % % % % % % % w T J D V U S <.<.S V ! P 3 & # C o D 7 a , d B M k < y ] : : ] @ h M f > ", +"% % | 4 - p ' I h ] ; 6 y ) @ - @ ) 3 5 ; q U #., H w . . . w x # 3 ) ) 9 q 3 x w 4 ] # 5 H ' u M m m ' k } T 3 # = | | . 4 4 4 @ J ' J f c <.'.w.c.a+s+[+r+l+,+e+e+w+%+w+l+`.y+8+7+Z.,+d+`.`.y+8+e+%+,+$+Z.,+8+d+Y.|+n+D+y+*+z+9+P.}+s+P.s+&+e+c+s+ +3+U.t+u+s.j./.$.>.).2...!.7.p.u.U.<+R.)+8+m+|+z+Y.c+R.Y.W.X.o+C+K.@.j.=.U 0 8.$.{.8 , .<.8 } y H q < > > P h { @.z G E n ( { f < ] % & 6 < v _ t h H # @ l } ! m B z O _ - 9 3 & : $ 3 T P , B v h C T ^ 3 ] & $ . | | = = | | = . & : % s s s % % w y 9 @ y + @ ) + y - > < k g m d a 7 u u f p F y x | : % % % % % % % % % % | 3 > } B e i j +.j 1 D P w : w q } m 7 B z u b t T * $ % % ] T l O u , < ", +"% : & 4 T k I k F x x 4 ] 3 5 ) + - 9 > 6 l d M q # 4 # * # * * ) y # # 3 3 # 3 y > < < h 9 - P T H - q ) 5 w $ | : | ] H F P F t f } G u V Z $.*.m.u+2+[+c+w+%+%+e+w+,+,+d+l+,+d+$+f+l+y+7+`.`.7+}+y+8+l+`.y+m+*+<+X.n+W.&+D+ +X.D+Y.W.<+9+P.&+s+<+3+X.S. +v+v.0.x.~.)._./.2.i.].G.L.b+s+n+*+`.[+|+z+m+<+C+m+ +4+3+X.p.%.|.U r 8.6.[.#.7 f >.e g w . ) @ H y 9 T 9 i n y C V ;.Q k , S ) J <.p > k 1 7 h p 9 > I f f b ! b I _ y ; . | % | 4 - 0 n h < h C 6 3 ] . = $ $ & & % | $ & w # x & $ % % % $ 3 q < h C - q q y y y y @ T F G m u m f b ! M k P # : % % % s s % % % % : % : | . 5 P b A &.<.~ #.R Q v & % = @ J b u f o o I > 3 $ s | ; F J } m A ( l ", +": : = 4 F k ' } - x = & . ] 4 # 3 ) 6 6 6 _ p y 3 ) H 6 9 > < _ G - * 3 ) 5 ^ y 9 _ G I P y * # x & = = $ | : : : | & 5 > p t G D / B , 1 U ;.}.1.J.n.x+*+`.#+$+$+#+$+#+Z.i+$+$+i+++!+i+d+l+d+7+`.`.`..+y+c+c+m+P.m+z+R.P.[+9+ +2+1+A+A+V.b+b+U.o.T.U.O.V.u+B+b.'+w.x.^.{.g.g.].f.1.E.a+z+R.Y.r+P.R..+m+0+[+)+C+o+|+a+0.G.:.U L r.|.&.a ! , W - : : $ # ^ ^ ^ y 6 _ ;._ . T U W p M D / D M [ T J n |.Q b #.g t V :.z m '.z h 6 4 | : % % % 3 S 1 l q T 9 H 5 * # x & = & y b + $ & ] ; 3 # # x | : % . 9 v k ' p l > q H y 6 @ 6 T q I m o I I ' I I l < ] % % % % s % % % % | | : $ | | & 3 _ u N <.-.X j 1 ' x % = ) _ o o } k v - * $ % % 3 h G f d / r 8 ' ", +"% % : 4 F I O g _ y x = = = = . ] * ] * ] # 3 ; 5 T > P I k l y q P J J T 5 5 6 C h F q T 5 w $ : % % % : : : : | = ] + > P v } 2 n E A L ;.(.g.r.D.n.0+*+`.e+i+Z.i+#+!+++$+%+e+e+w+w+8+d+l+`.d+d+8+}+r+Q.Q.*+[+|+)+z+3+t+x+t+1+a+u.d.E.H.z.h.5.5.9.B.l.w.A.p.y.p.A.H.*.a.{.7.^.5.z.l.u.V.5+<+[+R.Y.`.D+5+s+X.A+o.2+L.B.L._.>.W G.'.X N o ..N = : : : = & & . * 5 7 [ # x T ` M ] * D i 5 A m ; y , j P S , H f f ..Z A / - ^ . : % % % % : f 8 P y + r u h 7 < @ l y . = c 2 # | w * 3 5 3 ; 4 . % : * 6 h J I I t C > H 6 @ H @ 9 > p M g I p p _ _ > @ $ % % % s s $ : % % $ | $ % : : : $ 3 J { i +.+.j Y b 3 % . ^ < p J v _ ) w | % | * < G f d c &.0 #.g ", +"% s : w C I ' ' t q ; . $ : : $ & . . 4 w w + @ y @ ) + 3 ; x x * h m M h - - F q H > I p - # & $ $ | | $ $ = = & x ; 9 _ J } 7 ( d V U @.>.:.9.y.4.V.n+Y.c+%+e+i+!+#+$+$+e+%+w+%+e+,+d+8+d+7+}+`.7+.+W.W.)+<+ +2+t+t+A+u+c.B+L.1.{.i...Z <.<.@. .~ L =.%./.7.z.H.k.s.1.8.8.{.7.h.l.p.t.T.x+X.D+[+)+R.x+5+2+u+n.4.J.k.%.'.j N j ].~.r E E @.v % % : % % % $ | & & Z / O w 1 Z > $ 5 ~ 9 ) i x w ; S ' f ` H 3 l _ [ 8 q 3 w w | % s % | : * ~ p * ] _ W ( u -.d o =.M & t Z f 5 - d ( J ! P ) 5 ] 4 ^ ) 9 _ p k I k > - 9 H 9 - > P _ g o O I t l F T 6 ] % % % % : z S @ : % % : : % % % % % & @ E r S j U V f 6 : . ) > q - 9 * : % % % x > g z A n 8 0 +.` } ", +": % : w T k } G _ @ y ) # 3 x $ | | | = & 4 6 9 6 3 # w = & w x 3 F ' ! o } l C P t D A B } v > C p t q + ] # # # H _ J I G o Q V 1 e <.%.|.^.E.t.T.v+<+W.&+d+e+++++=+$+$+e+i+$+#+i+i+,+,+7+8+d+`..+&+c+Q.)+<+n+0+v+V.U.u.4.E.:.<.&.U j +.=. .}.~.-.8 i U &.0 ;.g.x.x.f.^.{.6.^.9.H.D.t.a+2+z+[+)+|+<+0+5+u+o.4.E.^.'.8 G l ( U U R d ! O g ; | : : : s % : : % % e f - w 8 2 } 4 E V % 1 A I ^ , '.N [ 0 T w > - K c x . | : : | $ 4 4 & b =.] w * 6 ..1 } W ( o ` F & D N . P 7 m 1 > j f + 3 + l <.- M ).' } -./ G / k l z } t t n U b g k h q @ ^ x | s : s s s , z x s % s | | $ : % % % J =.1 2 1 N A d b - | & 5 H 6 y * | % : % . T ' z { N U j =. .!.b ", +": : : w T t G k - ; + q k &.z y x & = = & w w & & . & w @ - ^ 5 + H h I C l P F g c K [ V d z D D , / { ! p h q y q < t k O m { N r j %.6.^.B.C.c.1+ +R.Y.W.`.$+$+Z.$+i+#+$+e+#+#+e+i+,+8+`.d+8+7+.+r+m+r+*+s+ +4+a+T.t.H.{.(.U { , d / / d B u z z 7 / , z E , &.%.[.x.r.6._.[.7.9.w.u.u+t+ +|+)+R.X.x+c.o.v.D.*.|.~ a h h A L N { m M t T ; & | : % % : % % s % * 4 % : _ P $ % D T : { I 4 9 N Z Q ( e _ 3 f d O =.G P $ w ; 5 @ 6 5 ; 1 R ] x # E L @ 7 X l E Q # x <.G & ! < #.J 9 (.p + 5 H # Y 1 B / _ { :.e a ,./ { /.1 J 7 |.W $.` O > o / g = % % % $ $ 5 Z 9 : % s s : | $ : : % % l e J f , A d D G + % : * ^ ; 4 $ % : : $ + l f Q c 8 <.=.%.2._.b ", +": : : & H l t t q ] * ; - g v q H 5 4 ] 3 # . = w 4 ; @ _ _ < t t 2 j } y p z p / ` Z [ c V a B f z d Q 7 , { M G ' o M m , A 1 r 0 ,.8.9.l.y.K.4+x+C+D+Y.P.y+,+w+w+e+%+e+%+%+e+w+8+8+7+7+y+`.l+`.}+c+.+c+c+*+n+o+u.d.B.g.$.;.<.U 1 d E 7 / n a { B q ; 3 H G ' b S ~.h.*.].:./.~.f.0.M.U.4+C+D+Y.|+3+4+b+v.L.1.{.2.L E h G r L Y 2 ! } v 9 3 w $ : % % % % % % % : % % % % % : : % % % : | 4 9 J k q g t . + m 5 | a C $ & @ - > h h - q N n * x x <.h ) @.' ) @.l 5 t @.) 4 ; m 8 6 M j 6 ^ 4 $ % a a 3 H T J i.c b %.N A 2.b l V /.J 8 _._ h e B k . = | 4 G M Q Y & % k g t * _ | % : ] : U M ^ k M D D ' - = s % & & | | % : : % . - p f { Y S Z ;.'.:.|.m ", +"% % % = l n U u ! - x 5 6 + @ y @ 9 q _ - * x * y + T P G ! ' < ^ V ` ( V W ).[ i +.j Y N V 2 Q Z ..2 B D B 1 &.R n d a c [ i X ,.|.7.x.H.w.m.U.1+2+S.z+[+P.r+7+l+,+i+e+%+e+e+w+w+8+y+.+c+}+l+l+l+d+d+}+7+d+y+y+&+<+2+o.'+p.C.L.A.1.j.>.K @.x.d.E.g.v & & 6 f ( B V >.].e.^.[.:.j.5.E.I.U.V.n+s+[+z+t+O.M.'+B.^.~./.i.` a ( <.Z &.a b J F H ; w . & . 4 w . = $ : % % % % s % : : % % % % % # @ - q q 9 # | % % % : % | ] 6 < J p p J t F B c ; 4 F 7 x I Y * J ` < H A ~ } + 5 R 2 - Z v } l ] * 5 1 A 4 3 + a X F A =.o c R _ < 8 #.- j +.+ @ ~ y # + @ H / S # u } : u v { v + Z | % > B G X 3 = 6 t G J h # % % % : % % : : % % : y p M a c U <.X ..'.|._.f ", +"s % s @ , V <.f i b @ } [ J 3 + E @.O ^ D { z < < ' h J g J T 5 J ~.8.).i { { 2 i 0 S R Y N n ( -...N { A V #.h.).8 Y Y ~ $.%._./.}.q.r.w.D.M.V.V.4+t+ +D+)+m+.+y+d+,+l+d+,+w+y+`.`.}+.+r+&+y+8+`.`.y+`.8+d+l+l+,+8+}+W.n+S.x+5+1+5+b+C.z.q.9.*.l.~.m * x P B [ ( [ ).e.B.f.|._.[.*.w.I.U.v+X.R.|+ +A+3.A.5.g.{.f.*.B.a.=.+.@.Z N Q g C 6 3 ] x w ] # 3 + + @ 6 ^ = % % % s % % % % % % % % ] @ H H 6 + . : s % % % | * q l k } g } } J F J i * x & w & 5 @ 4 9 G ; * k D * 4 ^ a ( E k T ( &.+ D O t +.g k H =.g - ` G 9 %.} < v .u v ,.t * x &.Q H > F ! :.o _ 0 y : / + c & T 8 % P 8 = 6 1 % % | * 5 ] 4 | % % % s s s s s s % & h b d N K Z Z X >.$.2.(.g ", +"s % s t J <., > #.t > N ` C x [ v j G h M R &.b d ~ k i E @ - 2 B.5+0.K B ( g m L -.X 8 R c 1 N R U &.K L #.2.^.` S K Z [.'.!./.6.a.H.A.N.3.a+u+O.A+t+X.D+s+W.m+.+8+d+d+w+w+8+.+}+l+y+c+m+W.r+}+8+}+c+7+8+8+l+w+%+w+7+c+Y.D+ +1+5+5+2+4+5+5+K.w.1.6.j I P O 1 L <.-.6.*.h.g.|._.6.h.D.B+5+ +)+)+s+t+U.D.*.8.f.z.B.l.E.q.$.-.W +.e d } T 3 * 4 # # 5 9 h v t t t h 6 w % s s s % % % % % % : . y T T @ ) : % % % % | * > l k M z E z b t > l V 4 = | | $ = 4 4 x ] x . . ] ; # ^ T F P C < V &.* G x = D q # ' ( H M ( 4 p @.g J , .G ` I ^ H J b <.F ' > 0 S v a W T * * Q p % B J ] S v % o t % % % % : % % s % s s s s s s s s : x < f ( [ Z @.-.;.$.2.2...J ", +"s % % : G S C t S + 6 +.f $ b Y , k = f 6 ( < , { X I |.( u ).b+&+t+_.[ ` [., 2 |.F.h.>.8.S r %.).` =.%.q.^.'+z.'.W X a.:.(.[.h.G.p.'+t.B+a+u+V.u+1+0+ +<+*+r+c+`.`.}+y+%+@+Z.8+}+8+w+++i+`.`.l+8+l+e+%+e+%+%+%+i+#+Z.l+.+W.|+t+a+b+V.t+|+P.z+5+a+4.s.}...Z j ;.|.~.1.l.r.8.|.g.5.l.t.O.t+s+&+y+P.0+3.H.*.h.h.x.z.r.H.q.>. ...~ i 2 o C 3 # # # ) T p g o b ! o } P H . : % % % % % % % % % . ^ 6 ) 5 w % % s : : x @ _ k b u Q Q B b v q H @ * $ $ | | | . w & & $ $ = 4 ; ^ 9 C _ t p M m P : : : % % = # + T y 6 H 5 P ! > J 0 <.7 9 3 # q V b ' G 8 p ~ Q f @.+./ H 6 #.^ - Q w ' i | + K 5 % % % % % % % % % % % s s s s s % & ) v z c U ~ .$./././.(.` h ", +"% % % % Q 2 6 [ J ) Y -.C = 8 [ w : : 4 u d 4 L d k t ;.K H.z+.+m+E.<.8 7.]./ 6.].0.}.W l.@.i.0.A././.w.J.'+V.l.^.6.*.h.[.7.J.b.M.I.u.3.o+o+O.o+O.5+0+C+R.Y.m+.+c+}+}+}+&+$+$+w+`.`.d+l+}+.+l+e+,+,+,+d+l+f+!+%+e+e+e+i+d+}+m+R.t+A+o.b.c.5+x+2+o+A+3.'+y.1.8.6.5.D.N.t.d.*.{.h.F.0.b.u+t+R.c+7+*+0+v.r.8.6./.|.[.g.q.}. .X @.Z i ( ! < y * # # H J M o b ! u m ! J C 6 . % % % % % % % % % . ; ; x $ % % % s % | # @ l g f B Q , D I F 6 ; = | % : : : | | | | | : : | = * 9 P k I } g M J y = % % % % % . ] * # ] * ; ^ q h d !._ ^ * ] & w ^ * = p [ > o z C 2 A P T l &.t h 5 & u Q ) , L t f 8 # % % % % % % % % % % % s % : # + h M 2 [ #.!.).[.j.).'.<.F ", +"% % % % O 7 ' p 4 3 <.U Q ) ~ R 9 I & & W I ) ;.O y 0 f.a+c+.+c+C+~.<.>.F.=.S ].f.w.;.!.7.>.s.a+p.h.J.a+m.M.4+L.A.E.4.*.h.J.3.d.5+M.K.U.R.x+X.*+b+1+Q.z+[+P.7+w+}+}+c+}+c+e+$+8+c+y+w+c+&+c+7+8+y+}+8+}+}+Z.w+7+,+w+e+#+%+.+m+)+9+t+U.I.A+x+4+T.b.u.v.v.3.b.t.L.m.5+0+O.K.A.G.A.C.J.n.1+z+*+`.l+m+S.J.{.i.W j i 8 #.>.W #.#.~ j S 1 E t q ; # ^ q I O b m B B B E M G t H & % % % % % % % % . ; * . | % % : % : . 3 9 J } z z E ! I P + # & : % s % : | : | : : % % : | | * > l ' g b z D M k ^ : % % % % = x ; 5 5 ; 5 y T M #.~ h ; & . $ | : % 4 h P : | & x ; ^ y 9 ) 6 ) 4 : & q G 6 q M 3 l { $ s % % % % % % % % % % : % $ * 3 - O a U -.'.:.6.g._.>.i q ", +"s % % : & * ^ $ $ . O O 6 5 B ( l x w 5 8 2 m =.J 1 J.|+$+!+}+`.A+x.@.r.l.:.$.i.d.[.;.9.(.e.3+ +N.N.C+V.a+ +2+B+3.v+m.E.w.o+D.D.3+a+n.A+|+3+z+s+1+t+Q.9+|+`.c+d+.+c+y+c+y+%+i+8+8+++l+}+c+7+l+c+}+.+}+c+e+@+l+d+d+,+l+d+d+l+,+8+.+W.R.C+ +C+C.F.l.H.A.L.t.K.b.O.[+m+[+2+o.3.u+v+B+b+A+C+[+r+y+c+Y.3+m.{.>.K V B b } 2 e 8 j L K K c Q M _ y 3 * - ' f , A ( 2 { Q E D O h H & % % % % % % : . w ] . & | % % s : w ) - J } M M O G > 3 . $ : : % % % % % : : : : % % % : | ; P J k O ! u d , E t . : % % : = 4 ) H 6 y y 9 P D N V G ^ ] = | % % % & w % % % % $ w ] 5 3 # # ; ] = $ $ 4 * * . % % | % % % % % % % % % % % % % % | w ; t { U @.'.~.^.h.8.:.%.S > ", +": : % % % % : : | | $ . # 5 ^ ; x * p k h J J a 8 q.D+_+-+>+`.Q.b.g.).D.k.9.:.;.A.(.~.5.{.5+w+.+)+ +R.A+C+r+0+5+3+c.u.4.u.5+9.v.n+U.o.t+z+A+9+Y.O.0+n+C+<+`.m+W.Q.Q.&+.+.+l+e+8+i+l+y+y+7+%+Z.`.c+`.l+,+!+,+7+7+w+e+i+w+%+w+i+w+y+}+c+r+`.)+U.'+s.z.G.H.k.d.K.0+m+*+z+S.A+n.1+<+v+4+v+n+y+`.Q.W.[+0+w.V y 4 = = . x - M 2 n Y &.Y V a M v @ # 3 - G f Q A n ( / { 7 E o ' l * % % % % % % : $ . & $ % s s s s % . ) P v J k J P y 4 = % % % % % % % | ; 5 ) # & : % % : : ] h G k o m , A / Q b @ % % s : w * H > F T q F > C P C 6 3 x $ % % % % % % % % s % : = $ . x x 3 ; * ] 4 3 5 @ H 3 = % % % % % s % % % % % % % % % % : 4 h a L !.j.e.1.E.w.x.7._.+.C ", +"% % % % % % % % : : : $ . ] ] y H v < * x # y z _.'+7+k+]+~+%+*+o.l.f.z.B.a.}. .].:./.2.J.,+_+!+7+W.*+ +D+P.9+z+C+n.b.I.b.b+l.t+x+B+c.|+u+a+[+x+U.X.A+3+ +P.`.)+Y.P.r+r+m+l+Z.c+y+r+c+c+y+Z.i+y+y+i+8+c+#+7+}+y+$+,+@+%+e+#+i+@+%+l+7+`.Z.`.R.x+b+I.d.d.p.4.o+b+[+z+S.5+5+4+0+z+D+5+t+X.&+)+)+*+s+C+J.c w = = & ] 6 - ' / *.<.8 e 1 7 } v H ^ @ C g u d A / / / / { , f O - $ % % % % % % % : : % % % % : : : : & y < _ < _ > 3 w & : % % s % % % | + C _ p t q 3 | % : : = > G g f B { c Y V z _ = % % & # ) q l P < _ t v t J l F y w | % % % % % % % : : : = w . & * @ 9 9 9 + ^ H q P > y 3 4 : % % s s % % % % % % : : : : : * b [ .{.x.E.N.I.m.p.x.{.!._ ", +": % % % : : = w . | : : $ & 4 q < - 6 3 3 4 # N G.n.&+]+j+g+Z.7+R.2+B+v.t.B./.W X -.;.}.u.`.>+>+#+c+*+D+C+S.1+2+B+M.b.K.I.T.4.a+o.B+4+3+n.0+ +b+5+x+5+2+|+ +8+R.W.Y.)+W.*+}+i+d+*+Q..+&+7+++y+c+,+%+&+8+#+8+`.i+i+$+w+8+e+++l+++#+`.c+,+!+7+r+)+9+1+b+T.O.z+1+3+W.S.v+V.v+S.2+2+*+0+S.X.r+z+D+|+ +x+B+$.> . & & x * H I 2 2.-.i n / m k < 6 ) 6 P I m 7 B d Q A A , B O l x : % % % % % % % % % % % : : : : : : $ ^ > - C C - y 3 $ : % % % % % | * F ' ! m D o t * : % : $ ^ J M m , c K U c , k # : : ; 5 9 F _ P P v J I ' ' ' v T ] | % % % % % & x * w w ] w . x y < _ < h P F h v J v q T ) & : % % % % % % % % : : : : : : @ 7 0 2.h.w.4.n.U.o.I.p.z._.J ", +": : : : $ w # ; ; 4 | | : | & 4 ] * ^ P l # 5 V z.B+t+#+^+/+~+++d+&+|+1+3.x.].[.>. .).q.L. +i+6+-+,+Y.z+0+v+V.u+c.U.c.c.u.p.A.'+u.3.a+c.o.4+U.M.1+A+B+1+R.D+Y.9+c+*+<+R.R.Q.l+P.W.Q.*+m+w+%+.+c+i+}+c+w+,+.+7+Z.w+8+l+8+!+i+%+f+$+y+c+,+e+8+c+W.P.R.0+x+9+|+z+)+m+2+v+5+5+D+4+o+[+9+1+X.R.X.9+|+t+2+u+l.2 n O ; k h w 3 _ u [ N 7 M k P 9 + ^ @ C k O m D u u z m O J q * | : % % % % % % % % % % % x } = % % % = 5 @ F h J _ < T ] | % % % % % $ ^ < b B { , , M - = % | $ w q I ! 2 U #.Z r A g 5 % = ] 5 6 > h l v p G O o b O g C ^ = : : : | w ^ + ) 5 ] 4 4 4 y < p ' I I ' I o b g J < F - 3 = : % : : : : : : | | : : : $ > A X :.r.y.B+o+A+u+n.I.k.].} ", +"% % : | & x 3 ^ 3 4 . & = = & x 5 ; 4 ] ] 3 5 b [.'+u.4+y+-+/+>+++$+}+R.0+n+|+v+D.a.f.k.J.T.Y._+{+Z.Q. +5+U.U.b+T.T.a+T.4.y.w.I.3.B+3.b+o.K.M.T.T.u.u.o+C+S.0+X.W.[+n+<+9+|+*+s+W.W.)+W.%+d+&+.+%+r+}+$+,+8+d+!+l+%+i+w+:+,+Z.:+e+l+l+Z.d+}+.+r+}+P.s+&+s+C+ +W.Q.0+x+v+5+R.v+5+9+P.x+[+z+n+n+9+<+X.4+T.m.f.h.i ~ #.f c ,.i ! N $.I } [ < ; + ' D g } o M g ' ' l H 5 . : % : % % % % % % % % % % % 3 K = % % % = ^ H P G o g } I > w : : : : : $ ^ J D , / / ( u p ; | | & & 3 F b n S @.X j c m 9 & $ x 3 @ 9 > _ l ' b z D z b I l 9 x : : | 4 y - P < 9 ; w 4 @ < ' } ! M ! D m B u b I k l > + 4 $ : : : : : : : | & w & $ $ @ a ~ }.z.d.o.o+1+o+O.n.N.*.f ", +": % | = ; ) y ^ 3 3 * y 9 C q ] 4 4 ] ; 9 ) 5 J Z k.v.y.t. +7+f+~+~+:+!+~+/+6+6+l+0+B+K.U.a+x+e+6+@+&+S.u+A+o.T.c.U.o.B+u.D.C.n.T.U.c.A+c.3.B+U.c.u.b.5+2+x+t+X.<+X.C+C+z+R.s+D+[+)+P.&+.+c+r+&+7+y+W.8+7+}+7+#+$+e+i+l+#+e+@+@+e+Z.f+f+w+`.}+8+`.m+`.Q.R.|+s+8+&+D+C+x+<+s+S.3+n+.+*+m+|+R.|+|+[+9+1+A+O.4.4+*.+.Y c ).{.e u A (.M m ` + 4 k R %.e ' o g , !.k - R F $ % w # ) ] s : % % % % % % % % 9 % % % % w 6 > v o m E D f ' H . : : % % % . T M d / ( <.i O @ ] ; v F . ) O n L .~ 0 e u h * $ & w x 5 9 l p o ! z E z ! g _ H 4 $ | 4 9 < t k ' _ H y ) > G D D z E u E d d B ! } p l > ) 4 w & | : : : = = w ; y ^ 3 x 3 O K i.^.0.3.u+2+1+V.a+M.w., ", +"$ . w 4 ^ y ) ^ ; x * + C t H x . 5 H H P 3 5 h B :.t.t.r.r.J.o+*+7+w+,+#+>+(+k+j+-+%+Y.X.v+z+%+#+w+Y. +5+a+3.c.5+A+c.T.M.y.C.a+c.o.o.o+c.M.B+b+V.B+T.4+2+v+x+C+S.v+x+0+0+S.n+<+R.Y.m+r+Q.m+Q.Y.W.P.[+[+W.r+.+7+d+d+w+d+l+i+w+w+e+++=+f+f+#+i+i+l+d+7+z+n+|+m+,+c+Y.<+[+c+)+ +0+X.r+8+&+W.Q.Y.[+Y.)+n+t+o+U.X.p.}.&.&.7.%.} l J ` P g r : H <.1 R { v J ' e &.K a / T x + h F S g : v U w < &.H % # P 4 % 4 y : ] q _ p M D B B 7 m J @ & : % % % % x P g Q 2 ;.!.! P J K I ;.j ' G @.q.}.~ K n D h # : | | w ^ 6 < J M f f z m b ' l 9 # = $ ^ C k M z f I v _ v ' ! 7 d a A 2 ( / / , o ' _ - 9 3 # ; ] & | : : : . ; @ l l F 9 + C 2 +.:.9.D.u.a+V.c.U.3.A.A ", +": 4 4 x . w ^ y # . & w w ; * w x C } ' C ] * < I 2 r.o.I.l.5.h.A.b.n.2+z+.+i+;+/+^+h+{+_+f+l+&+s+W.&+ +U.K.3.o+1+4+O.c.B+A.J.c.c.n.o.O.U.3.b.o.u+T.O.A+1+v+1+2+1+v+2+x+S.3+X.z+R.Y.W.m+m+W.m+P.W.W.s+s+P.Q.y+7+7+7+l+e+w+,+w+,+%+%+$+++%+l+l+l+7+`.c+s+9+<+Q.c+y+c+}+y+}+m+[+D+|+)+y+m+.+d+`.W.Q.W.Y.)+S.S.2+u.h.&.<.6.1 I C e ' * c 9 $ E W I ! C t v k } 1 !.> < 6 F / H P L ] y p Z > M #.# + m 8 l 4 } X 5 { >._ Z _.B Q 2 a Q B } h # : | % s % w < f a c V M ' ;.u ) t a F k +.l.W <.[ V m h . % % : & * - _ O D u f m z b } t 9 ; & . y J g u E m M O } o m B d / n Y R N V ( B ! G C @ + 5 H 9 + w | | | : w @ t } f ! G _ C G { Z _.h.y.N.u.u.m.N.H.Q ", +"$ ] # 4 $ : = ] x & $ = w 5 3 x x C / D l ^ ^ } I k ` N.t+<+2+N.G.z.E.t.5+9+}+f+f+#+:+/+-+@+r+t+t+W.R.o+b.B+O.1+v+5+o+O.o.L.4.a+u+b+c.A+a+n.B+b+o.b+o+1+t+2+x+2+1+x+x+3+n+9+ +9+|+*+P.*+*+[+P.P.P.Y.s+Q.r+&+&+y+d+8+`.`.7+7+,+,+,+e+e+!+Z.$+$+d+y+Q.Y.)+s+|+9+D+Q.`.7+Q.)+*+P.W.m+Y.m+}+.+8+,+.+W.s+[+r+|+1+o+o.9.<.(._.V B M R ; f [ T @ &.K 9 t I ! o M ! L ..h h l N a ^ Y m | $ p j > M ( % ^ [ i ^ ^ ! i ! V +.[ >.}.( N Y e i i Y >.B w k { z H f t I Y r u z Y 2.v H y ; ) G .8.S K N d b > = % % % . 9 v O E a Q E D D m b p q 3 w 4 + p m 7 d u D E B B B Q ( e r &.U R e A B g v 6 + ; @ < P H 3 & | | | # - o E n 1 a u M J p d S %.].z.s.s.G.r.q.B ", +"| # 5 w | % : : $ 4 $ $ . # y 4 w M K B M k I b C l J !.M.Y.l+.+X.4+U.4+9+<+R.`.Z.}+&+c+Q.s+ +2+0+3+0+3.t.o.V.5+4+V.u+T.b.'+v.a+a+c.c.A+V.c.c.c.3.U.v+2+S.x+2+x+2+2+1+t+3+C+n+X.X.|+R.D+|+s+*+W.*+)+m+c+c+&+r+r+}+}+y+`..+}+y+}+`.7+`.e+Z.++e+8+&+Y.[+s+D+<+<+R.P.W.}+}+Q.r+W.Q.W.*+r+m+.+`.c+m+Q.W.Q.*+9+o+U.A. .d U R h < ! l ] D M 4 5 A e k 7 c #.Q j Y K i.1 E O =.M B X < $ T r l y c 5 % < j I % ] 2 V 6 r S z W <.n r &.X _.[ &.'.G f z g } 3 &.b V >.$.z , >.` M k 1 z ^ k j.~ r R r &.m y $ : % | ^ v ' z Q 2 / , u z m b G H ; 4 ] 6 p m d a A Q d 7 , d { / e ..8 R r V , f G - y 6 H > k t > 6 ; w | | ] > f 2 K 0 L &.1 D J v o 1 +.>.:.[.:.~.(.b ", +"= ; 5 4 : % | = . # 6 > _ # . & < 7 +.Y 1 E 1 f ; t y < '.u.[+d+,+`..+.+Y.<+X.D+}+y+W.n+S.<+[+m+9+v+c.t.4.c.4+5+o+v+A+a+n.t.B+u+A+V.a+o+4+u+O.b+B+o+2+C+X.S.3+ +0+2+x+0+0+3+s+n+S.z+R.s+|+[+W.Q.[+)+.+l+7+.+&+r+c+}+c+}+y+}+y+y+}+7+l+++>+~+f+i+,+.+[+R.|+z+D+Y.Q.m+&+8+8+7+y+}+c+c+y+c+y+`.}+.+Q.c+d+&+[+ +o+b.5.e p _ > ] | | : . . % = H v C v S -.r ` / B #.e v f #.f A S ' @ m / ; 7 e T ^ 2 K F w _ Y 3 P K < D ~ z / Y #.g.i.&.:.0 g Q D [ ] C <.h 1 [.` o A i.z _ Y '.V 5 A /.Q V U ,.$.-.; : : ^ K { O @.+.V +.;.2 R e D u G q y + H h O B A N Y c V { Q d a / n #...r c A u M _ _ 0 +.) l M } k _ > + w = # < 7 U @.,.>. .~ r E l - h D e i <.#.=.~ G ", +". * 4 | % % 4 H @ H B '.o $ O -.e Y '.0 R Q R G 4 k - F k ` d.0+*+c+7+7+m+[+z+D+W.c+Q.s+)+r+e+l+|+a+'+d.t.b+u+o+4+V.a+U.n.v.U.O.u+A+O.V.4+a+b+c.A+0+t+ + + +9+n+S.0+t+S.x+5+S.x+C+X.X.9+<+[+Y.Y.*+W.Q.&+c+c+&+W.r+.+.+c+&+W.r+&+.+`.8+++=+_+=+#+,+c+*+Y.[+|+R.[+Y.Q.&+7+,+8+7+c+Q..+.+&+&+}+}+&+Q.&+8+c+Q.*+n+A+t.2.! q * | : : & 4 * ] . & 4 y ' &.Y I O M M f } < < J 6 > G 5 ) o q ; m k = + 2 Q @ 6 M k 4 d G 3 N 8 A K &.~ e.>.2.a.R ! b i A > 2 A p +.$.f } 8 ` q F R 0 H T r r M ( !.;.&./ $ | ; g ( |.K Z =.S /.5.#.~.j., ,.%.C _ K c ! X U V -.j c Y +.>.7 7 a a [ g.( Q u b v 6 q 8 o @ k b f ! g v y x x y } V 0 2.g.{.[.%.<.Y Q p _ I D ' m B A 1 _ ", +"| & | s s % $ x ] w } +.= | < ..} ` [.,.j U r h ^ } r W T > R q.I.2+D+W.m+m+)+R.z+<+*+Q.*+c+7+Q.2+L.r.k.4.c.V.V.V.U.T.c.K.m.n.u+4+4+O.u+A+T.T.5+t+3+3+C+ +9+X.0+t+S.3+x+4+1+x+x+0+0+t+C+9+*+*+Y.P.)+Y.)+)+)+[+*+W.Y.)+W.Q.*+P.Y.Y.r+.+8+e+++i+,+8+r+Y.s+R.z+<+R.s+[+W.r+W.Y.R.D+9+<+s+)+P.&+c+}+c+`.8+7+}+Q.[+S.b+E.L + $ : | x 6 T q H H H < p B , ! M o o g M v q ) ] & & | % % % % % | | % = ^ ^ : # q . @ k ] y a O k ..j i ~.@.|.j.K D { Z E 7 1 h A ).=.b f j 2 + o @.7 ^ ' S _ C e ,.n ! 5 $ | ] - c [.r 1 R 0 j.a.;.[.:.<.!.j h a S j Z (.W @.8.%./ +.g.~.}.>.u E R ].Q O I t - ^ ' 0 y q k f B z O _ H ] 3 < 1 (.=.:.^.5.a.j.).(.R { i 2.O + + y C k + ", +"% % % % = q h b | $ [ E = $ 1 n } ;.:.,.X +.[ h h } U i # ) ) I <.e.t.O.0+C+0+A+a+u+x+2+1+C+t+a+E._.j.B.N.T.V.V.a+U.b+b+4.4.o.O.x+2+u+O.U.U.o+x+0+X. +C+z+D+ +S.3+ +3+t+x+C+t+x+0+t+0+ +9+z+R.|+)+R.s+|+z+<+D+R.)+[+s+)+Y.|+)+[+|+[+*+.+y+8+8+`.&+*+s+<+z+z+z+9+3+X.3+v+A+V.A+2+S.X.S.3+<+[+Q.7+8+`.l+d+`.&+P.n+V.v.{.l | $ . H h l t k ' O B Q 2 V V 2 7 b M g < H * . $ $ | % s % % % % % % % % % : % : : : % % | # ^ J j n z N 2 [ j a o z R Y g T q d @.Y G a 8 - # 2 S d O ( j g v U ~ O H ) 5 # @ l X j.[ e Y X q.!.0 a...n j u C O @.e / ~.~ =.:.[ 7 ~ i.e +.,.m p n i.z v h F 6 T / 1 z .r z A -.L v g l ) z 2.g.!.j.a.e.a.9.d.*.;.+.!._.} l - y 9 - * ", +"% s % x z 4 ( V $ 9 !.t 3 y %.o a +.,.'. ./.8 t G ! :.c < > 4 w ^ } K }.r.w.A.s.w.y.L.y.D.k.].Z z D ;.*.N.a+4+o+A+V.V.U.v.M.O.4+3+t+o+u+a+5+C+9+z+<+9+z+s+R.9+9+n+9+X.X.C+ +X.C+S.n+ +S. +9+z+D+s+[+R.s+|+D+z+9+<+<+|+<+9+X.<+R.D+|+[+)+*+Q.Q.r+W.*+s+z+X.X.3+x+u+b+v.m.M.v+D+[+P.*+9+0+n+9+s+&+`..+c+`.d+`.`.P.3+n.A.n = x 5 F I } M 7 Q 2 e U i K S &.e E O J C 5 w = $ % : % % % % % % % % % % | : % % % % % % % & + _ v h l p O o f o k h q 6 ^ ^ 6 C t C - e u | ] O Q > 9 A A > T ( j , P f Q I D e ,.6.}.` U |.:.&.'.i.Q U n q F Y U l r W B 8 ~ z 7 -.<.b ~ 8 6 T r =.G F > 9 ^ G <.a ! 0 r { ..[.<.z ` ! q S 7.6.}.g.{.^.5.'+n.H.7.q.s.j.L V D I v _ 5 ", +"% % 4 N q + j 9 5 / ~ F T A @.J u c =.$./.;.b - k R }.N 7.8 = $ = < G n z A j <.K 8 <.+.( o < y ^ h i q.p.B+V.o+4+o+4+T.K.T.u+1+t+1+c.O.A+C+n+z+z+n+n+X.<+|+z+n+z+9+n+n+ +n+X.n+C+ +n+ + +n+n+n+n+9+n+9+9+9+n+n+9+ +3+C+3+S. +9+9+<+9+9+D+|+|+9+9+D+X.S.5+A+b+t.p.y.E.L.U.<+Q.}+y+Q.P.|+D+R.s+m+y+}+&+&+`.}+.+m+[+A+m.$.3 $ 3 P ' ! z { 1 [ S L j L i r N d p 9 3 = % : % % : : | % % % % s % . ] 4 x | % % % % % % : = x * 5 ^ y 9 F - 6 # 4 w $ & x ; @ / l m Q + : $ = # ^ @ - - @ y t m < # f r D / B A '.>.U ~ 2.j j './ m U Q @ p 1 J b U k o [ z t a Z u 7 U t ] h j e H ^ ) * ) V Y 3 ! <.7 z #...{ i &.+ J .:.X ,.j.j.j.5.t.m.x.z.p.'+f.p.q.&.n r (.1 ", +"% w M d = ( ( | F Z D ] > ~ V u f / =._.}.K P < d ;.>._.e.,.5 x D ) b 0 y b N 0 V z _.m 6 M 8 A ; > U 8.A.K.a+V.o+5+o+n.K.T.a+4+2+O.O.v+0+9+n+9+n+ + +z+D+D+|+n+9+X.X.n+<+9+9+ +n+<+D+z+n+z+n+C+C+C+S.C+X.3+0+0+0+S.0+x+x+0+3+X.C+ +C+C+S.S.S.S.1+t+4+u+T.v.y.A.y.k.l.C.A+)+c+d+8+7+}+r+c+r+&+y+c+}+`.y+y+`.&+[+s+S.b+1.} | * F k ! B { &.Z ~ <.S S Y n a D t ; & : : : : | & 4 4 & | s % % w 6 T + 6 3 & s % % % : : : : $ . x ] # x $ % s s % : | . ) 9 2 f M H & $ . # y + 9 T > > h _ C q 6 o G ) T h ! V r Y [ R { Y V I g D 6 w M G ^ d M = ! A C ; 2 V 7 n P 4 4 B i _ ] 4 4 = l &.h 9 N B I 7 ` &.2 +.m ; { _.-.L -.$.i.(.h.N.B.*.H.K.t.z.p.F.%.j.~.|.<.", +"% ^ 1 2 b &.d P 2 ,.m y I @.E g b [ K $.'.n 5 _ i ).~ .z./.V d O ] e b y [ } R J / a.o ! +.E <.5 T c 6.w.v.U.O.A+3+D+3+B+T.v+n+X.A+A+x+z+9+<+9+z+n+ +z+9+z+9+|+D+z+z+z+D+|+D+X.<+D+n+9+9+n+9+X.S.S.S.0+0+x+t+S.[+Y.2+4+v+1+0+S.t+v+1+v+4+v+A+5+o+u+o.K.I.b.u.4.p.8.j.B.n.9+.+7+l+`.r+y+`..+&+y+.+}+c+c+.+c+Y.z+s+|+4+J.U & w 6 < g D A 8 #.<.<.8 Y { 7 D ' @ | % % % : $ w 4 4 w & = : % | H P P P < F # : : : % % % % % : : : % % % s % % % % | w 5 9 q > < ^ ; # . . * + H q > < t G g k C _ 6 = ; 9 l f Q 2 { 7 u f b } P + w = | | | $ ; x : @ H % ) e n C $ % % > R p = $ $ | : M { 9 a ' 3 < S :.L Z i M ; L ).L i Z =.;.%.G.r.:.[.H.u.x.h.L.x.f.E.1.}.z ", +"% 3 D G P / E B #...2 l 7 ` Q M Q Q / ,.i./ x M $.S c [.l.).2.~ 5 m U 3 9 B d a F j !.! ;.[ 2 h ; ) Q ).l.t.b+U.o+z+U.O.M.5+z+S.|+x+4+9+c+[+Y..+z+[+r+<+9+3+s+*+z+ +n+<+z+z+D+Q.[+z+n+9+n+C+ +3+0+t+0+o+o+o+A+4+|+ +U.b+c.a+S.)+v+o.T.3.M.o.B+M.3.4.u.n.u+A+c.M.s. .0 g.s.M.t+D+[+)+s+m+`..+&+y+r+&+.+.+}+}+Y.*+Y.|+0+K.2.+ : . + P ' E 1 S K U e A m O t H & % % $ & 4 5 6 y 5 ] x . | % & F v I ' p _ @ $ $ = | : : % % % % % % % % : : % % | 4 + - > > F C q H ) * 4 * ^ @ > l J } o f O P + x = . ) < O D Q 7 f o ' t > y * $ : % % % % % % % % % % d / ] : % % ) Y G . | $ $ | : > g g ] | = y &.` E [ R J 9 ~ ).j N &.~ -./.A.9.2.i.w.G./.l.k.7.k.t.6.X G ", +"% % = = . H q k ( Y E q b A k u 2 g A $.2.B w i ~.u L '.%.i./.<.I 8 [ 6 F Q ..! d %.N Y $.B @ ) 5 ) f '.F.4.B+U.O. +o+o.V.n+3+v+)+3+o+R..+[+Q.c+s+Q..+n+3+D+Y.r+R.X.n+R.z+z+r+7+c+.+n+X.D+|+3+z+2+x+2+u+O.a+O.o+|+T.3.K.M.M.A+n+K.b.4.4.I.I.m.'+v.n.V.v+1+v+V.c.p.-.a #.|.z.m.b+x+<+|+)+m+&+.+c+r+m+.+}+7+d+d+d+c+s+n+u+h.h : : = ] P b d 1 N ( Q ! k 9 # = : : x ] + T > _ P 9 ^ # 4 $ : 4 _ ' f ! M t 9 & w x w & $ | : % % % % % % % % % : . y P < l J G G J v C y ^ @ 9 P p b f B Q Q D p 6 x = & y - I ! u u f G ' < 9 ; . | : % % % % % % % % % q i A w % % 6 1 C & | | | : : % % : | : | | . T k F l l # ^ Q n B 7 n L <./.r.j.,.{.B.a.~.s.a.~.p.N.8.}.b ", +"% % : % | . x _ u B O > ' M ' M b T B @.` ! ) ..-.I #.1 L '.L 7 P a d J Q ~ 2.R L i { ~ !.n E < y 9 m !.B.I.3.B+o.x+ +a+x+D+v+t+P.3+v+R.Q.D+)+r+|+)+P. +D+Q.)+Y.|+X.9+D+9+<+m+W.s+`.Y.<+Y.&+R.<+o+S.<+ +3+o.c.x+C+O.1+o.t.K.x+b+J.L.C.L.C.d.N.b.O.1+x+x+t+2+1+4+v.(.B z N W g.z.t.X.<+5+5+C+<+y+.+D+9+n+9+[+P.c+m+[+n+v+A.! : % % : * l g g ! M I - * & % % : x H 9 > h l } ' v 9 5 w | : * p o ! b ! I T . 4 ; # ] x = $ : : : : : : % % % w ) > J I } M f o ' G C 6 6 F t g f E B Q 2 { m G - 4 | $ 3 6 l ' ! D M I v > + x $ : : : % % s s s s s % p I f & % % y & : % % % % % % s s % % : : : $ ; @ + 3 4 ] 3 T l M b { Y 8 j =...!._.:.g.e.[.|._.f.l.8.!.I ", +": : : : | | = q 7 D J - g I C Q D # m U <.D - L D x b 7 [ j I * ] + 6 h { Z '.>.L R { R i.S f o J _ D ;.z.C.t.n.b+5+C+n.0+X.V.<+<+5+S.Y.9+X.P.D+z+Y.C+n+r+W.C+S.3+0+C+z+9+[+m+z+s+&+z+n+Y.Y. +4+2+<+1+4+9+b+a+X.0+c.v+U.D.B+5+D.0.D.n.V.n.'+a+n+t+C+z+3+C+3+2+4+o.9.8 m O ! n 8 2.m.m.x.r.d.5+C+c.C.C.D.C.t.B+b+1+3+0+2+t.( $ | | ) 2 r - - T T ) $ % % % % w 6 _ P h J G o f t 9 * . | : ; t O M ! f } T ] ; 5 ) ) 3 * ] w = | | : : % : w @ > p o ! M m ! b } _ 9 @ 9 h G b z E d { ( A D t T # | | # 6 < G O O p h > 6 ; x | : : % % % % % % % % : $ = & . . 4 = % % % % % % % s % % % % % : : x 6 9 H 3 5 * ; 6 l f D 2 [ U 8 j -.>.'.%.(.i.2.2.,.;.W ..X k ", +"% : | | % % | + ! B o v h l G Y ' 4 m U #.D 9 [ g w M z c c I 5 # 4 * t n S @.'.,. .U 2 ( ( 2 { { Q V W e.y.d.3.5+5+b+B+A+0+C+C+4+4+9+9+1+|+s+C+s+P.C+D+c+)+C+X.0+2+0+C+ +*+*+X.P.[+1+X.P.C+o+4+9+<+A+n+n+u+2+ +B+b.4+I.C.b+K.G.k.v.b+T.5+n.n+*+z+[+&+R.*+Q.X.x+v+K.f.<.Q } > p 1 L ,.E B W r.d.q.[.[.[.6.^.1.w.I.b+V.O.'+U J o | + U N 6 - @ + # : % % : & ) _ } G G I O b O v H # 4 = % # v ' o o M I < * @ y + H 6 y + 5 # 4 = | $ = ; T v k ! z D f f o g k P + @ 6 P J o b z , { / a M F @ x $ $ 5 9 h J k l F q @ ) 3 ] . $ : : : % % % % $ & x ^ * 3 5 5 + # & % : s s s s s s % % % : : & ; C - 9 6 6 ; ^ 9 p z { 8 Z -... .$.%.%. . ... .;.@.X X >.q.Q ", +": % : : % % : 4 I m G P P p B U @ 5 , &.<.z T N < 4 _ G 2 / p - H 3 H o 2 K '.g.].}.2.-.i r U &.i L +.'.a.E.N.I.I.v.I.M.T.V.o+u+A+v+t+v+1+n+x+C+|+z+2+9+)+s+C+0+t+1+t+t+9+m+|+)+s+t+0+)+|+4+o+2+|+ +4+<+ +5+X.o+u.u+b+0.N.c.y.1.'+a+5+v+o+t+[+c+)+P.y+W.&+.+s+<+9+C+u+p.|.K B V c z ~ _ ' { ( ` b a #.6.l.9.7.z.0.3.n.v.B.=.<.I x _ Z p @ q H + ; : % : $ 4 6 g z f z z m } < C y ; M &.: * v ' ! f 1 1 g ; y 6 @ q > > - @ 6 + ^ 6 9 < I g b D 7 B m ! ! O p < 6 3 ) y q P k O m u , { u I - ; $ | : w y - l < q 6 ) ; ; w . w | : : : : : | = w ] * + y H T > 9 + 3 . : s s s s s s % % % % | w + < < F C > @ ^ h ! , Y ~ (.:.|.j.j.i.>.@.+.#.<.j L i S X _.2 ", +"% | = = % % : $ F z p @ l H d g x l / / <.( h , - ] H q m o 6 @ q > J E E R _.e.e.q.q.j.!.+.=.-.@.!.,.}.5.y.'+t.I.m.v.b.3.n.M.b+O.A+u+V.V.o+5+1+4+4+2+0+0+t+5+5+5+1+v+x+R.Y.<+2+o+4+C+s+S.O.u+v+9+t+3+n+5+0+ +b+4+V.L.k.M.n.s.k.a+3+A+v+t+9+m+Y.s+.+m+*+m+W.*+*+*+[+|+D+2+N.z.].i 0 %.A m ' [ ( 3 < ..[.g.H.{.j.H.B+T.J.F.6.j C 6 V e 5 l 7 ' F h * : $ . * y J z d d u ! J q + ] w F G : ; 7 e m E ` (.J * ^ @ @ q C P < _ F C > h I M B a { { 2 , z ! M ' h H 5 x ] 3 y - l l ' M m f ' _ @ # $ : : . 5 > P > @ ) * ] 4 = = | | | $ | : : $ x # ; + - P l v l < 9 5 x | s s % % % % % % % % : . + t k p J l C - v D 2 8 ,.6.g.{.{.6./.%.@.Z L 8 Y Y c c r r t ", +"| ; ) 3 $ : % | 6 B > 6 + ^ l 3 x M V u S ( ! z T H 9 ^ } m > # 9 P o d u L 8.G.r.r.G.5.{.).[.[.j.g.{.q.r.0.C.4.N.4.v.v.u.B+M.b+O.O.c.O.a+A+V.4+1+o+v+x+v+o+V.5+A+V.v+C+Q.3+o+A+a+A+x+2+A+V.u+4+x+3+5+u+A+2+3+5+c.b.J.d.U.B+p.m.t+S.t+0+2+s+*+9+*+&+D+m+m+[+m+}+.+}+}+`.m+s+s+5+E.A.J.).f z ..2 - n i.#.i.G.$.-.1.A.p.I.H.'.O & J &.g ^ O #.N g U g 3 ^ + y G [ ` #.( V { I t @ 4 x & | % G !.e M 7 =.0 > * 5 y T P < _ t k G I G o E Q { V V V 1 Q B f G _ q ) ; ; H ^ ^ y H T h k } } I p q 3 = | $ 3 T C v _ H 3 x w . & | | $ = = = & . w # ^ 9 h p k g g G J C 6 # w % s s s s % % % % % : = H J k k G G v C v u e X _.8.7.q.{.7.6./. .=.Z S R ( d a { { C ", +"w C ' k T & | | H u O @ 4 q _ ] 4 G m E &.u ' I ) 5 y @ O f @ ] 6 l f A a >.z.F.H.A.E.k.x.a.z.1.h.1.F.s.w.E.C.K.3.K.b.I.3.b+o.U.u+a+c.u+c.u+V.4+2+o+A+v+4+4+A+V.a+V.x+)+W.S.o+V.a+A+o+u+a+a+O.o+V.a+b+U.a+c.u+c.b+3.t.'+4.k.h.F.I.c.b.b.O.S.x+t+)+|+9+c+.+*+,+,+`.`.d+w+8+8+8+|+V.t+2+z.R U .., O .%.B !.~.j ;.'+4+b+4.1.j P w B e 6 ; @ a N ! 2 ! F C > v 1 S !.Z ( ;.j Q Y ' @ z u # ; 8 './ M Y ;.( k y ] ) 9 > C P l I M m 7 1 1 c 1 c N 1 / Q 7 O P y # . $ l c H 4 # * ; @ F I V 0 { F + & | = @ p D B v T * | | = = | = = = & . x ] # ) > _ I ! z D f M I < q 9 5 = : % s s s % % % % : # H l k J t I l - t Q i >.}.f.h.*.e.f.a.[.2.;.-.+.K N ( , B B > ", +"] g E ! o C 3 5 M 2 < ] 9 h v 4 ) t } ! ( M ; 3 5 w ^ @ p p 3 * ^ < m , 1 2.z.r.s.d.y.w.H.9.B.l.l.E.p.C.D.0.D.I.b.b.v.b.M.o.B+T.c.a+b+T.o.c.A+5+A+u+V.V.u+u+a+T.n.T.S. +9+S.u+c.O.A+V.c.b+O.u+a+U.U.b+o.U.a+U.U.T.B+u.N.s.:.W -.` =.;.).g.5.z.E.4.b.o.2+t+ +Q..+&+l+%+e+#+!+++c+C+ +a+y.[._.X g b x.).[ ~.~.{.p.b+ +b+A.{.O > T [ J $ = : p V D ! k l t G m e W <.[ U /.i i 0 m u ~ c # q S 1 G M -.@./ ;.f . * ^ 6 9 I L S u B +.|.%.S [ 1 1 V ( , m k H x | | : ^ > | $ & & # ) q l Y '.B C 6 w : & t e <.~ './ ; @ M t . | $ = & & . w w * @ P G g b z 7 7 ! ' t h T 3 & : % % % % s % % % | ; > v k p J l > y t d U .j.a.z.z.*.x.e.6./.,...-.0 r 1 2 7 z q ", +"4 O a B 7 f J k d ! ; 6 h P I q > h E f O k 4 ; ) w * @ t g _ T ] > f d e 2.e.l.p.C.y.A.E.G.k.k.k.p.J.J.d.D.L.u.b.v.m.I.v.u.u.3.B+n.M.3.M.B+c.a+O.b+c.c.U.b+b+B+K.B+c.b+U.U.b+o.b+u+U.T.M.b+T.T.o.o.n.n.o.o.n.T.b+n.K.4.q.K d o o ! D d { 1 L X %.[.{.e.s.d.u.V.9+d+>+(+/+>+Z.l+&+)+5+v.G._...{ L L.d.).~ !.8.K.b+V.I.B.%.7 C , K , ) | & g V f > < C k p } R |.&.+.i.` / ;.i I ( X P | u r g k A (.K ! U J = x ; y > 1 n E o Q }.[.j.*.W r <.|.7.S M _ < E 9 s ] * | % % : % = 3 H l j 8 _ P - ) = x Y K G z K , # l j m : | = & w 4 . x 4 3 6 > l k O u B , E O k t H ; w $ % % % : % % % : | ] q t I p l F 9 @ l 7 N W /.^.1.G.9.r.1.5.]._.$.W ~ S [ c / 7 q ", +"# M a d a b ' ! M > q z - > I > < } / 7 l C . ] ^ 3 < v M m _ 3 ] q m 7 r ,.h.y.J.J.C.d.A.k.y.0.p.d.J.'+J.C.N.v.K.I.I.I.b.b.t.v.K.B+3.M.B+M.T.b+o.b+U.c.c.b+o.c.n.T.o.a+o.B+n.o.T.T.b+b+B+n.T.n.M.n.B+T.n.T.b+T.c.c.b+4._.b t h P F P _ h t g B { r +...i.[.a.G.p.4.b+2+<+D+C+n+<+z+|+9+o.*.W $.r.J.5.K 1 .6.D.b.J.s.;.d @ # B A P x = x / R I @ T < p k g X j.Y [.|.Y ~ '.1 d >.e ; # 8 O - _ j @.' k 2 H $ . 4 ^ + 0 { h J 1 [.L ..B.;.<.{.$.}.j M 2 h u C ] m n 6 % : + v ( ! 9 z =.d < P C 9 # k <.a J G O k + M n H $ w . & x 4 x ] ; y y H C v ' b m E E f } v H 5 * x = & & | % s : : | * q k ' I l h C - t B N W ).^.z.H.H.E.w.H.z.^.}.).%.=.Z S r a F ", +"; u / A d } ! B < > , d ; ] ) P O } u O C ) = & w 6 M O E D l 9 y < u Q 8 /.r.y.J.N.'+J.p.A.d.y.p.p.L.C.J.C.J.I.I.v.4.t.v.b.4.I.v.I.4.4.u.b.K.u.b.B+n.o.n.n.n.n.K.B+M.o.b.b.B+B+B+3.3.o.M.3.I.u.K.K.b.b.3.3.M.n.O.U.c.B+6.g < G J p v h C F - - P _ I , c K X !.|.{.f.9.s.k.0.p.D.C.u.c.A+V.b.t.I.p.8./ V ..}.z.H.H./.F % % | H ) | | $ . &.m 4 . * q h _ p e _.(.g.[.+.'.U 2 0 }.n G O #.B < I -., 6 Y ! ] & & . x 4 Q i C q i ..A |.{.8 6.).(.U m a ( ^ x & q j [ 5 % ! q - [ p H U L I < _ _ - H N ~ A u K U g C L a # & ; 6 ; x 4 ] ] * y @ y T P v t I M D f } l > y # w w 4 . $ | : | | | 4 H l J J / D P > _ D / ~ _.q.B.F.k.0.y.0.l.x.].:.(...` <.i N > ", +"* E n A d , A I t , R g w & H z l - B &.n ^ $ + t t q @ u f I > ^ < ! d <.}.x.0.L.J.m.C.w.p.p.y.0.A.d.L.C.J.N.t.m.v.t.m.m.t.m.4.4.N.N.t.t.4.N.N.I.K.M.K.K.M.3.3.b.3.M.K.n.M.B+3.3.M.K.3.3.u.m.m.t.J.m.v.u.b.3.T.u+u+4+v+L.8 I o } o G k G g g I J l h G M m a Y L ..(.[.].8.e.h.x.*.9.r.l.D.I.b.'+y.~.A [ ..[.9.l.q., = : : : 4 ^ Q k < J l = w x 5 @ C < t f c 0 ~ >.-.U N { 8 ` B ) I n P q a R 7 ! N @ 4 x . . ; I p S T ; X d Y /.[ r a..., o h 0 m w | % g 0 F : o z & A 7 + P !.E h l t _ C F Z B m j g.!.z A -.I ^ 5 M 0 n @ # b +.m 6 @ @ T > l o D M b f O J C H ^ # 4 4 . $ : : : | $ 4 y < J t i a C F p M Q !.p.'+G.F.w.D.L.D.E.1.e.j._.(.,...~ 8 P ", +"* z N 7 d u G _ u S e F = 4 u , @ H , 8 Y w = g j P 4 _ 2 ! J > ; 5 G R W }.r.0.C.L.'+d.A.A.y.E.E.E.0.y.D.L.D.J.J.J.t.t.m.'+C.L.N.'+J.C.J.J.L.d.L.'+t.t.u.u.u.b.I.I.4.u.M.3.K.I.v.b.I.v.K.v.t.t.N.'+'+N.m.u.B+T.u+1+0+S.1+l.e b , A B f ! a c U Z 0 L X =.j r n d / U X 2.[.j.{.a.^.^.8.a.8.^.e.q.x.$.A [ ,.7.x.5.0 ; : % % % : @ ! D < 9 $ & # ^ y 3 y F t o E n &.i &.Y V a d b p 6 ] & 4 @ v t G ! - ^ ] ; # w 5 A Q h . t ~ M c u I Q [.8 c f ^ ~ G - @ 5 0 r T # #.H h +.- & E <.F < < l _ - ! i O b ..a.r ! @.S _ 6 ( a / a ) O z ! T ^ 5 ^ y F / R ;.1 ! 7 !.8 j A > 3 * # ^ H ^ x $ $ $ x ; > h P } J F u K 7 7 Z 0.E.*.l.0.A.y.E.s.G.1.q.8.{.}.2.%.Z t ", +"# D m f ( 1 1 M K .e * # F &.O x ^ d X ' . & @ < 4 # M V g _ F ) # M =.W i.*.w.D.J.'+N.U.B+k.s.l.H.C.b.J.w.w.y.p.d.J.C.d.L.d.d.L.0.E.A.A.d.p.D.0.A.y.D.'+N.t.4.m.N.4.t.t.m.t.I.4.m.'+m.I.m.L.C.L.C.J.N.t.4.K.T.u+1+0+ +n+V.*.K #._.>.( d <.).:./.:.6.h.G.k.p.k.:.Z K R r 0 ;.2.].g.~.}.[.j._._.).).~ / ~ 2.7.e.>.< | : : : % s 6 C ) # & & x 4 # + ; 5 6 l } M B ( 1 n A Q , E O < ^ = % = 3 6 H 9 H ) * * y ^ # * ) y * # S Q t # ) @ 6 2 e q ] . d V I q l +.a m v Z g 7 X v . 0 Y D q 9 - C H &.1 O A ^.>.a { ~.m C O >.f m + 4 G 0 6 x 4 ] * ^ 7 @.k i !.( c j./.,.B < H y ^ k Q c k 3 B H - O 9 F D G H _ -.-.m ! !.s.f.z.l.s.w.F.B.F.B.r.x.*.e.{.j.)...l ", +"x l 1 { f i.#.e ).5.L F R j j < } { ~ 0 # $ C C # x H , B b l - T C d c Z i.9.E.D.C.'+N.K.N.s.l.r.l.I.5+D.G.r.l.0.y.A.w.y.A.w.k.A.w.l.s.k.E.k.w.k.E.0.A.A.L.J.'+C.C.'+m.N.m.N.N.C.N.t.'+'+'+d.D.L.d.J.N.m.t.b.B+u+v+S.9+|+ +A+0.h.G.1.;.#.g.r.e.i.!.j.k.K.B+t.m.t.v.b.5.` L #.@.>.(./.}.g.:.(.>. . .i Y 0 i.7.!._ | | : : : % s w _ 3 : $ $ w . # w x 6 - _ t J o m 7 d B E z ! p q # | : = ; + @ T 6 ) * 3 + ^ ) ) ) @ y O ,.t 3 5 3 * 4 w & & $ = + l > 6 h u ! 6 - 7 @ F A 5 % c E P # 3 3 H > ..O M Z 5...S @.[.A _ 1 !.- 5 * * 3 K ! x & w 4 5 #.e l ).!.d V 7.i B g t F y > J b z ) l +.P u u l 7 =.A 9 , '.e f I a.}.G.n.l.H.s.F.G.r.z.1.r.x.h.5.7.j.,.k ", +"& c ` ! K (.i j }.7.' 2 N i R R 2 ' e O & P 0 [ 6 ] d ` !.S b _ O D p a (.f.l.0.p.L.J.J.d.D.0.s.B.s.M.3.H.F.z.1.k.k.k.E.w.A.s.s.F.l.G.B.1.l.F.G.G.l.s.w.E.0.C.J.C.L.t.'+J.J.L.L.C.'+m.N.J.'+C.L.N.J.L.D.J.I.M.T.V.2+S.D+s+|+3+0+O.0.[.` %.z.A.H.2.,.h.b.t+z+u.L.o+z+*+b+0.*.}.>.>.,.$.$.).2.W ..!.-.~ -.-.).).I | : : : : % : : : F 9 : | : = # ] = 4 ^ > < < h k g M D m f b ' > 3 w : % $ 3 T T > q 6 y ) ) ) 3 ) 9 < f X W 7 F q y 5 4 4 = = $ . 5 q 9 - < h < < - + & : | : % # * | & 4 ] 9 , 0 h M 0 /.8 A -. .2 l 2 -.k E 3 p q V D ] 4 4 ] * %.' o [.j a ;.}.{ u b J < @ ^ h 1 x I ' c $ ( h # r !.} - 8 ~ I G 2 ^.6.^.3.1.B.l.l.k.l.1.r.1.z.*.*.*.*.].! ", +"> #.{ V j.=.S U r.j g 8 { Z -.R J > f H $ o W V * u S O @.'.7 t n g q L ^.A.w.I.M.J.u.u+K.L.y.D.'+u.o.d.H.r.z.r.r.G.r.G.G.F.G.r.B.z.*.9.*.*.h.9.*.z.r.F.H.E.A.A.y.d.D.p.p.C.d.p.d.J.J.C.J.L.d.p.L.C.d.L.J.'+K.a+u+2+X.<+[+s+n+3+9+A+5.+.(.1.s.e.(.).G.3.4+S.b.T.R.Z.>+0+t.M.m.r.~.,.,.2.%.+.` 2.).).|.{.7.|.E = : : : : : % % : : @ k & : : $ = = & x # 3 5 T - P p G ' g } ' < ) x $ % % = ^ - > > > @ ) 5 ^ ; ; y > t ' m f ! l P > y * w = = & 4 + q C h J J J J l > ; | : % % s s % : H F - j ' l b u / 2 , B D > q J E m * w h u B ] ] # 3 * 3 K G 0 .d Y 9.-.2 Q z G P ) x f e % A c ] ) Y & + ` V 9 < (.A I } W 7.L ).d.a.9.1.z.F.r.x.x.x.9.h.*.G.r.*.z ", +"m W i (.5.!.e {.B.d 1 N #.` ,.! # , } . | 2 K 9 4 ~ a O (...! N { + G L q.G.z.n.n.K.u+S.T.p.t.3.d.M.u.F.r.E.'+3.k.h.F.0.m.E.h.z.*.h.e.f.9.1.*.5.*.x.x.x.z.G.k.H.s.w.s.w.A.L.d.d.J.C.L.J.C.C.D.D.C.d.4.V.X.v+B+U.V.n+m+Q.|+|+z+S.t+[+z+4.x.}.&.u A ).B.t.v+1+U.t+P.%+_+)+c.3+v+K.4.k.e.[.(.2.1.G.f.1.H.G.].a & : : % : : : % % : % @ m 5 = & $ & = . x x ] * 9 @ T P l t h _ F @ * . : % % x + T F - > T ) ^ + 3 ^ 9 P v J p J v J v _ - ) x . & w 3 - h k ' g I g } I h ^ = | % % s s % | J d O Q 6 G ! D u 7 B M < T > @ 3 x $ : | $ & w 4 * 3 + 9 k A U A n <.).c / a B O P 5 . E { # 8 P : N 5 % o =.! v B |.u k O {.~ Y a.^._.a.f.q.h.5.h.*.*.x.B.r.s.w.F.d ", +"' .<.$.6.X X 6.#.' R ~ i.W <.q p #.z + _ +.A H t =.C M /.R R n t 3 T U F.5.9.a+t.C.4+4+'+m.O.t.F.M.C.G.0.3.D.J.*.h.t.9.k.'+z.q.8.a.7.q.E.B+y.a.L.m.h.C.d.9.F.d.E.k.p.y.A.L.L.L.d.C.J.C.p.y.L.N.t.N.N.a+9+1+n.U.2+W.y+Q.Y.[+)+D+t+1+X.D+V.E.@.o M ,.F.'+B+N.J.x+P.`.$+`.R.Y.X.b+B+3+3+3.w.J.K.A.m.v.J.B.Y . : % % % % % % % % % : @ 2 h x & = 4 = = | $ & ] 4 4 + H P h > q 6 ^ ] = % % % # 9 P F C T ) ] & # 3 5 6 > l l v J v v v h > @ 3 4 w 4 ^ T l } O } g M M G C ^ . $ | : | : : : x T _ y T p O O o I o p q H y 3 w | | | : | = w x ] y q _ J f Q [ &.[ e ( A Q u g v + . 6 o g } 7 p ] % | b e < - 1 '.2 o 8 ).e L F.-.'.[.g.j.j.7.8.q.^.5.F.s.A.d.k.A ", +"5 { Y N L ;.Z m C . Q >./ a 1 k q 1 k 4 } L ! < f U P ~ L d =.a t 5 + W r.a.t.b.y.M.t+I.A.o.B+H.A.u.F.z.3.'+C.^._.F.E._.A.m.f.[.g.}.}.1.E.9.6.5.1.I.h.D.d.z.B.o.C.A.O.K.A.w.'+n.a+J.J.L.w.0.D.d.'+C.4.u+n+5+M.T.C+m+Q.<+D+)+s+<+X.v+U.o+n+0+M.A.g.[.9.1.,.7 K v.C+[+&+*+*+Y.9+ +)+%+.+A+c.C+o+u.u+n.d.>.> | s s % % % % % % : : : ^ n h | & x w x : : | : : : w ] * H y 6 H y * x = : : & 5 q < < F H 3 | | . x ] 3 6 F h h _ _ l t _ F 6 ; x & x 5 @ C p } } o M ' v > + & = $ | | | | : | $ 3 @ - G ' k v t v P - y + 3 x = $ | : : | . x ] - J g E a r S 0 L i N ( Q u O v y 4 & $ $ | | : % % % 4 5 # * ' a ' O R [ X ,...-.,._.[._._.}.j.{.^.5.r.l.y.y.w.Q ", +"3 E A V +.K P w 4 P 7 Q B k 5 & = ; # = H l H P 2 <.N / f Z a m v ; > |.r.z.K.w.0.o+4+T.t.5+y.A.b+I.y.s.O.C.e.6._.D.q.'.p.l.:.,.$.2.i.].C.].2.[.:.N.x.D.G.*.1.T.'+D.c.D.l.d.K.d.N.L.d.D.y.p.D.D.N.t.u+b.2+x+o.C+z+&+Q.D+<+R.s+[+|+n+v+M.3.O.c.o+S.0+m./.B @ T V 8.u.t+9+z+<+[+&+l+$+}+|+R.l+R.2+5+B+'+0 ^ : % % % % % % % % % % : ^ [ ! $ 4 = & ] = $ | | : : $ w ) * ] 6 F H H + ] w * ) H < J J t > ^ | | = w * 3 @ T < < t t k G t C T + 3 4 ] 5 H P G ' ' } } l v P 5 & $ : | $ = = $ = x @ C l } o } t p p ' k l F > @ 3 & $ | = & x ; 6 G z 2 e 8 j ~ ` +.+.i N ( d O v > ^ # x & $ = $ | : : : : w ] H _ p o f f ( 8 Z W >.2._.2.i.).6.6.8.e.z.F.w.0.1.A ", +"3 , #.#.2 y ^ @ q Q Q M M v ] | | $ $ w x 5 t , i E m m D E u ! l ; G ).G.k.H.L.L.T.b+L.L.a+B+0.c.u.E.s.c.m.0.x.~.m.'.6.w.(.@.W W !.i.$.y.1.).).).N.z.B.a.7.w.M.E.N.3.s.l.a+I.0.E.A.p.y.L.N.J.J.t.v.V.b.S.v+2+9+9+}+)+|+Y.m+r+d+&+Y.z+X. +o+u.3+%+}+3+a+3.H.$.V B '.u.V.2+2+)+r+y+&+*+[+C+9+m+R.u+0.[.D = % % % % % % % % : : % % . D V * x $ = w = $ & | $ | | & ] & 5 T q F q T 9 9 > q F J g g O p 9 ] = 4 4 ^ ) @ H - t I G I I l F q H 6 ^ ; y - P v t v p l v t - ] & & = 4 3 ) 3 4 * + J J G f u E M I ! D D o g G v C 6 3 4 x x 4 6 I , 1 K <.+.=... .!.-.Z U c A ! I k - H 3 * x w & . & & & = 4 * H P J } f B N S #.@. .,.i.i.2.}.6.].e.9.1.H.w.H.1.Q ", +"^ 2 c m k t t P O D ' h < H = : = $ x ] w P Q A { D A a Q 7 f b v + , !.6.h.B.y.A.0.d.y.k.0.w.l.p.k.*.h.y.'+9.{./.].].8.@.j S i S L i.).f.{. .>.%.'+F.6./.~.u.H.5.3.s.*.w.4+E.H.l.k.s.y.D.C.C.d.J.U.b.m.3+t+C+4+<+}+s+D+W.}+|+c+`.R.z+Q.9+A+t.T.D+.+w+%+3+c.U.I.3.C.x.f.h.y.9+Y.n+0+x+t+2+y+r+v+d. .i @ % % % % % % % % % % : % % : h &.> | : : : $ = | | $ < 7 @ = . # 6 6 ^ y T > F P @ C J } g g G h y ; ^ ) 9 6 + + H h J J t l h C C H + 3 ; 5 y H > > - F > < T # & & w x ; @ 9 6 ) + h O O M B d E f u n ( d B u f I _ C 6 ) * # ^ < o 2 U <.~ -.....!.%...Z 8 c { E f } l F 6 5 ; ; x ] 4 w w ] # * + @ > G M u 1 &.U 0 +.=.;.!.'.2.:.[.{.f.9.z.r.B.5.z ", +"4 v ! M b k ' p J v 6 @ T ] | : = ^ # x y e { d a 7 A 1 e / d z F T ( ;.|.5.H.A.p.D.t.'+w.F.B.r.l.F.9.9.*.x.h.7.}.i. .` i [ r Y r [ X i._.+.X W }.N.^.,.(.f.C.j.G.I.k.1.w.V.l.v.0.b+y.A.p.L.d.L.t.4+'+t. +9+O.A+[+r+R.|+7+&+s+8+7+|+<+`.Y.9+1+n+1+M.u+Y.l+,+m+|+c.B+v+a.L a.D.b.K.4.T.C+m+#+s+M.>.+.o } A ] : : + T & : | : : % % % 6 1 P | : | : : | | w = F g ^ w . # ) ^ 5 6 9 T P - q P G M M M b ' < > P p t _ < F P h v p l l _ l h F 9 ^ ^ ) ^ ) + ) + H q T ) * ] 4 * + 9 P < F H - p b f m a { { A 1 [ r n 2 { B f } v F T ) ^ 6 J z V U Z -.;. .,.(.(.;.=.0 &.1 A z m ! ' h 9 ^ ^ ; 3 ; ; ; 3 5 3 5 y 9 l v } { 1 U S S j #.` !.>.2.:.}.g.8.q.*.1.a.D ", +". t b g o } H q t y 3 ^ ] w & 4 5 w & 6 A A ! ( d , 1 c [ U V B - _ N ;.^.0.J.N.J.d.L.m.D.H.G.9.x.1.r.9.*.h.e.{.[.).;.` S r c 1 V c Y R i Z Z ` 8.j.'.%.,.j.7.}.h.B.a.8.9.t.t.s.y.u+y.E.y.D.D.'+c.o+N.m.n+V.U.o+r+P.z+R.w+Q.Q.d+P.D+R..+}+Y.[+}+2+M.b.c.s+)+C+9+M.1+9+v.l.b.^.j.1.n.z+m+l+c+3.{.u Z E g X * s l O ~ T % u r 3 B 7 . D -.v % : : : : % % & $ : & & $ x 3 x ) ) + ] ^ y + H > k g M f m o G t ' g O o } ' k G ' t P _ O Q u G F @ @ 6 H 3 # * ] ^ 5 ^ 3 ; * ) H h p k J k _ P k b z d 2 n c 1 U S U N 2 Q B z ! } p - + y > k u / &.~ -.!.i.)._.i.%.@.#.i e / Q , 7 D ' h - @ ^ ) ) 5 ^ 3 # * # # @ T - l ! Q 1 R R 8 S +.@. .%.i._.j.g.7.8.q.j.O ", +"w h m 2 ! ; H p 5 . @ w . ; = & = . H e ( O u D E A 2 A e Y ( ! 9 u <.}.9.'+t.4.N.L.0.w.s.F.l.1.x.f.5.f.q.^.8.g.~.).%...Z &.1 / A A ( n <.{.-.i.'.X @.-...!.>.i.2.|.~.j.{.q.9.z.1.w.E.s.s.E.y.v.b+U.t.N.U.3.u+C+P.)+n+<+y+Y.c+r+ +z+P.s+r+9+*+7+|+1+U.v.L.C.u+c.d.5+v+C.K.v+y.k.H.N.z+}+8+S.h.g E 0 6 > i = y U P r @ q d a Q c { E Y (.' : % : : % % : | h z ) $ 3 ' o * * + ] & 5 ; # ] 6 h t G o f b ' } b D z f m ! g ' k t > < <.6., t C 9 f #.d 3 w & w x # * 3 ) H > h ' b M } k J l k M f 7 d Q ( 1 U S K r ( Q u u f } v H + H h G E / &.` W ,././.i.$.!.-.<.0 U N V ( A d z M k F H y + y y * * x # 5 + q C < o E d { A e R S ~ W ..'.|.}.}.~.].~.(.' ", +"# O m } ) T - x & ] C ] = . | $ w < Y U V K e / e [ L U c A A l O R >.^.F.J.v.B+u.m.J.y.k.w.s.H.1.f.a.a.8.].].j.~.|.(.%.-.0 [ n { Q a { c X #.Y 8 L #.+.-.-.;.%.%.i.|.~.[.].f.1.r.F.w.E.k.0.p.C.N.'+m.t.I.B+O.0+n+D+D+D+Q.r+r+R.z+|+r+W.z+C+Y.y+*+n+2+b+4.D.c.m.d.v+y.E.U.n.D.C.E.G.u+&+r+D.{ $ ~ o : m D % V c v ) s s 1 S % Z 0 3 ~ K f $ : : : : s s J ( X 6 $ A G V 4 # ) = w + ^ . # I 8 B M j z M 7 Q E d , E B z m M G k J k !.#.b J F H I ,.J 3 ; w x * * ; 6 C v ' O b , E z ! g G I M f f m u d n &.L S [ N / Q , b ' P 6 6 P t O u V j W '.).:.}.(.!. .-.=.~ +.j U 1 ( A Q E b G t C - > - y ; 5 y @ T h v G M f D E , / Y K <.-.!.$.2.|.2.)./.|.>.} ", +"& * 4 ] - 9 . $ $ y > $ 4 x . ; ! L #.8 ~ <.N &.8 +.#.&.1 N b t N K 2.*.p.3.b+B+b+n.t.p.0.E.k.k.B.x.^.g.].{.6.}.:.:.i.,...+.K Y n 2 d Q { a ( V N r K 0 <.X W .. .,.2./.[.7.e.x.r.l.k.E.E.y.d.C.'+'+N.N.v.3.c.5+3+D+s+[+W.W.*+W.Y.R.D+D+D+n+n+<+n+X.S.5+c.I.L.o.b.k.r.G.V.D.k.E.l.*.'+R.t+i.@ ' S + x K ] | ~ n % x s - +.4 C X H F V d 2 = % % % s s s ] ~ d $ : 8 F 3 = ] x : # + ; x C c (.m R _.M z Z ).d ,.5.2 7 u { { [ ( } Q 6.n z v > 9 1 j T + 5 5 ; 5 5 @ > J } M b m B U R u g J k ' g g O b Q ( r S j i Y 1 2 B M p > y J h l I u N Z >.i._.:._.,.W +.Z X -.-.` i e n V / a d D b I l J l F 9 9 @ H - l k ' g O ! m u Q V r L +.W ,.(.i.(.,.,.(.;.G ", +"| $ x 4 w ] = | : $ : | w # > N W +.j 0 Z S <.,.(.@.L K S 1 v , &.0 ).f.0.b.a+V.V.c.3.J.0.E.B.z.9.9.f.].~.~.~.:./.2.%. .-.+.L [ c / Q u m D B 7 a 1 N [ S 0 0 <.Z ` ..!._.6.7.e.e.x.G.H.0.p.p.D.L.'+'+'+m.3.b+1+S.D+|+Y.P.W.r+m+Q.Y.D+|+|+D+9+0+0+S.0+2+v+U.4.0.s.l.F.d.B+x.B.*.f.8.A.n.].^ $ ' g G J - % & [ / 9 P : E g | N } $ V ! m 2 & % % s % % : D ~ # : : ! R | = . $ $ * # 4 3 6 A K ' (.A F , 8 ..0 ` _.7 E c 8 B j.[ g #.:.1 i.+.F T ,.7 H y - z f + 6 C t ' } } g M { j.K D O k l v J h k M u a e S <.L [ e / E g C E !.V h v } 7 e 0 ;.,.'.i.(.!.@.Z L #.;.!.=.0 &.e N N 1 n n d ! ' J t _ > H + y 9 l k ' ' G O b o M B A n R <.=.;.;.;.W .. .-.G ", +": & . = w $ % % : : : w H ' c X >.i &.0 K ~ (.[.|.>.X =.&.z u &.U -._.e.w.u.c.4+v+5+O.v.D.s.1.9.e.q.q.7.j._.i.).>.>.....X Z +.S &.c 2 , D ! ! b u 7 Q ( Y U i L K 0 +.=.'.}.6.7.^.e.*.1.k.0.y.d.C.t.N.'+N.I.o.V.A+ +|+s+W.Q..+}+&+&+R.n+X.<+n+ +0+x+x+v+o+A+T.u.3.o+w.K.B.9.h.5.a.^.G.` ; % % % | & w % s : T _ ^ s . D & ^ Q w x 1 l p &.; % % s s s . j N ' ] l * X w : : : $ w = 4 3 6 @.g ( !.> 6 q +.-.! ,.[ f A ).O N i.O ! ).>.7 0 L F z i.q 6 - [ { @.y T _ } g ' ' k ! +.7.8 D g 2 b v P > t } o { R j X 0 +.S V , I y J ;.> > p D / &.<.` .>.%.>...X Z <.#.@.%.;.=.Z X W =.r e 1 Q ! ' p v l C H 9 9 P ' I G k k k ' J _ k b u Q N K +.-.~ +.#.` j p ", +": = $ ) 3 : % : | = ; _ o [ :./.r &.U r Z |.^.e.j.%.X Z / D L j L .}.9.p.n.O.x+C+3+v+O.b.D.l.z.*.^.8.{.g.:.$.'.!.>. .@.=.X #.<.L [ n A d z b b f ! u , 2 c R 8 8 U #...,.2.|.}.7.q.*.B.l.s.p.C.'+m.u.N.N.v.b+c.V.S.R.*+.+r+&+}+d+7+.+Y.z+z+Y.[+|+<+3+x+2+A+U.n.b.b+b.L.H.B.9.e.8.q. .y | % % s % % % s s % % % s s s % % % | % | 3 . - U ) : % % s s x / M # 4 B t u : % % : | | : = # 2 $.N N L J ) m >.t A >.p O ;.#.I $.R p c :., g '.Q < j S H 6 U Y , a @ 9 C I o } ' p G '.<.E b U i Y A @ y F v g d c &.0 +.q.|.<.c g > &.8 _ p m 2 &.<.-.` .. .!. ...=.+.X -. . .%.%...].0.$.<.<.U V u O I k l < F - q l D Q f J t h T H 9 _ k o E A r &.K K L L j i _ ", +"% % = w : : | = w 5 F z @.a.2.8 R [ U ..~.a.8.6.$...-.1 B K +.j Z %.].B.C.n.O.2+S.9+X.x+U.t.k.r.f.8.6.[.}./.(.W ` =.` ~ Z Z j L K [ 1 V a D b M ' O ! ! z a n 1 e [ L ~ @.>.i.).[.7.q.5.z.G.k.p.J.'+'+'+m.I.M.o.u+x+n+m+.+`..+`.d+w+,+y+)+Y.&+.+.+P.D+C+2+V.a+n.3.v.4.'+D.A.E.r.q. .P | : % % % % % % s s s s s s s s % % % % % % s % + i @ : : % % % % | = : $ ) y w % % % : w | : | x E 2 t 7 V h 6 8 / q ~ i { G 8.K c ).2 o -.#.p S K _ k 2.M 9 g ;.b h ; 3 y - v k I t J z _.b p { .T E >.3 + T t M d / N U ,.1.;.8.|.z f [.V E d / ..).f.$. .{.i. .'.W =.+.=.#.X =...!...e.H.W -.-.<.R d ! } G t < f k P ' +.~.o _ - H ^ * 3 > h t I b u d / n e R 8 e _ ", +": % % : : | = . x @ B @.j.~.,.K R i !.e.G.1.8./. .-.+.&.K +.!.~.,.$.].l.4.a+A+x+X.z+<+z+0+c.J.H.*.8.~.|._.2.$.;.X #.<.<.Z #.L j K &.Y V A B f M M O } g f E 7 A ( N r K Z @.!.$.|.6.7.^.9.F.s.0.C.N.J.'+I.t.K.B+U.5+ +)+}+-+:+y+w+i+++#+7+7+l+e+#+8+r+[+n+v+V.u+T.n.u.m.4.t.L.G.~.} | : % % % % % % % s s s s s s s s % % % % % % % % @ S + % % : % % % : : : % % % % % % % $ 4 | | = & 4 4 . 9 l * 9 Q _ > c z F E (./ Q @.A B @.[ a <.l k Y _.1 f Q .o F y ; + 9 F < k I } K ` v v i [ ; K <.* 3 H l M a ( n N '.]./ [.q.2 -.q.V [ j g.,.5.m.}.8.C.l.>.L.,.+.+.~ <.<.X ;. .%.y.7._.2.>...S ( , D o G o ..B v } ~ ..k _ 9 ) # x ] + - F l G } ! B a A ( c N P ", +"H S 5 l c 3 < u < / }.B+'+^...i L >.{.1.s.*.g.i.W -.+.<.~ 2.h.*.%.(.g.H.4.V.4+2+n+D+<+D+D+t+U.C.x.{.~.).i.,.!.W ` <.S i L 0 i 8 U [ e ( A d f ! o ' G G } O g m B Q ( c i X ..!.,.).[.].^.h.B.l.p.D.d.L.N.N.v.K.B+a+1+D+)+&+y+`.l+e+++!+$+w+%+i+f+++w+y+Q.D+x+1+o+a+n.K.4.v.L.h.a = : % % % % % % % % s s s s s s s s % % % % % % % % @ e ] s % % % % % % % % % % % % % % % : : : : $ $ : % : ] 5 ] * 6 * 4 H C q k } p k E M ' A n 7 l l t A j M l f Z { l @ ; 3 ) 6 - _ v O $.<.g C [ k q L b x x c './.].8.i V [.-.c f.(.j.B+t.H.*.H.T.m.2+A+u.b+T.0+z.x.!.&.[ F.E+`.#.` W ~.J.].E.'+%...=.]. ./ M f i [.7 k a g.&.O _ 9 ^ ] ] x * y 9 F C h p } M f E d A F ", +"p K u ( ` g Q ;.t R H.V.J.m.$.0 '.y.b.G.^.~.[.2. .0 Z -.j K 1.].>.(.8.H.4.c.A+0+X.9+<+D+[+D+x+B+H.a.~._.(.>...=.+.L R Y Y [ [ R [ e n 2 a , E ! } I p v p t v k O b D , 2 &.<.#.X !.i.:.6.8.*.1.l.w.p.p.d.J.N.b.b.o.c.v+C+<+[+m+&+`.%+#+$+w+,+d+Z.@+++i+w+}+P.R.X.2+5+O.o.3.d.$.+ : % % % % % % % % % s s s s s s s s % % % % % % % % + , & % % : % % % % % % : : % % % % % % : : : : : : : | ] . | 4 ; $ ] q F < C < P v p G k G I J v v k ' } t h C G J + ; # * + + @ H - G <.B y 5 g } o z : : $ 1 d.E+E+E+{.L 6.U ,.}.U )+E+E+x+L.b.K.E+E+E+e+4.%+E+;+m+8 /.X.E+E+G.0 X >.s.A.a.*.d.,./.x.0 ~ (.I m '.Z Q E -.^.Y [.i C 6 ^ ] 4 # ^ @ 9 9 q C p I ! f E 7 > ", +"k !.p A =.p A e H p ` |.S s.*.:.L.K.T.'+g.].l.].1.6.~ j 8 ;.H.,.).{.z.L.v.c.4+t+X.<+R.[+)+Y.<+v+I.x.{.a.(. .W X Z L U Y 1 n 1 c 1 / / a n ,.8.,.b k p t _ l _ _ l G } b , n U &.U ~ @.%./.6.j.q.z.H.E.y.d.L.J.N.4.M.T.u+4+S.|+)+P.&+d+$+Z.#+i+,+e+w+%+#+#+$+`.c+Q.s+z+t+u+o.p.U = % % % % % % % s s s s s s % % % % % % % % % % % % % 6 , & % % % : % % % % % % % s % % % % % % % % % % : : : & & = w & | ; T > - q h > h t o o } M ! o b u u ! k t < F 6 ) 5 # 3 ^ ) ^ @ @ 6 - + x . 5 l T $ | | = 5 o E+E+E+8.%.:.Z W e m.E+E+|+q.k.v.s.:+E+e+_.'.~.E+E+E+N a '.E+:+[.j #.|.L.^.j.p.z.>.f.q.U :._.p , 2.B ! ( 6.|...;.i h > @ ) * 3 ) @ T T T > _ ' f B , a - ", +"S ! w #.a 3 R 9 x 5 ;.a f ].%.8.5+b.I.F.e.p.N.(.p.f.X S U }.1. .[.9.k.d.b.c.1+C+m+c+[+`.y+m+7+Q.o+m.d.m.{./.;.~ 0 S L r / a A a a , Q a ,.e =.j.&.g J _ v l h < < _ v G b 7 c e 1 S +.~ !.,.:.f.1.x.B.k.k.0.y.d.C.t.M.M.o.u+t+D+[+*+&+8+$+!+$+%+l+w+w+e+$+%+d+.+.+m+)+z+C+b+p.U = : % % % % % % s s s s s s % % % % % % % % s s % % % 9 2 & % % % % % % % % % % % s s s s s s % % % % % : | % | & x $ : : # y T ) 6 T ) - p } p g M b m B 7 7 u } } p h T + ) # # ^ 5 3 5 + ^ ) # . $ $ $ w * w . & ] ..E+E+E+p.,.r B z L y+E+E+v.{.F.y.r.E+E+b._.,.7.E+E+E+2 , 3+E+ +N 8 ` e.F.).r.s.,._.x.:.<.7.` I S Z } f K 9.+.Y >.A v h q T y H 9 H H H - P J o E B a Q q ", +"S q Q <.@ t i + * G ` @ 7 ` v W J.G.H.F.9.A.y.[.0.@.+.0 L k.g.'.~.9.A.v.B+u+2+<+m+c+`.d+`.7+,+8+9+o+4+I.A.'+2.W -.{.B.i V A K r 1 A u D z ! ( ~.<.k l _ < l h F P P C P l J O o z / e R S -.).t.s.7.5.z.1.r.G.k.H.y.'+t.u.M.O.1+C+9+*+}+w+%+w+l+8+8+l+e+w+,+7+c+.+Y.[+|+C+O.D.&.= : % % % % % % s s s s s % % % % % % % % % % % % % % - a & % % % % % % % % % % % s s s s s % : : % % % % : : : & & : : | 4 @ y * @ ) 5 - p l < I o o f z , { Q B f b k v > y * 3 5 3 ) ) + 3 5 # = = . . 5 9 ^ ] 4 ; Y.C.E+E+K.L - < G &+E+E+,+q.[.6.7.5+E+$+x.[.[.0+E+E+a+V (.=+E+$.( r #.{.q.~.e.$.;.i.a.;.2.}.m , >.i D 2 _._.e W |.f } J t t _ v h - - > < p O u Q { { 7 > ", +"_ t +.n J R 8 h T N N G R # @ ~ ~.U e.1.H.t.'+e.!.+.#.#._.w.'.).8.r.D.3.A+o+5+0+.+7+Y.i+,+&+#+c+W.<+<+D.h.m.}.@.H.!.H.+.Y $.%.[ 2.c b } g } S }.} h F P P C h G t } F T C > F _ I z 7 B 2 r ..0.$._.[.8.8.q.5.*.z.1.E.y.L.4.B+c.o+2+3+[+i+l+i+e+%+d+8+w+,+%+7+c+m+Y.Y.[+n+v+u.L & : % % % % % % % % % % % % % % % % % % % % % % % % : < ( & : : : : : % % % % % % % % % % % s % % % % % % % % : w | % % | x y 3 * # w * H C F C k ' } D u B a 2 Q 7 E m O v - y 3 5 ^ + ^ ) 3 5 ; x x 4 3 9 q T + @ l E+(.E+E+K.Y q ^ 4+t+X.E+Y./.[.6.6.r+E+y+*.{.l.e+E+~+~.r *.E+E+a Q A *.8+,+l+E+^.#.#.U.e+E+E+x+(.h.}+E+>+c.=.` L.7+E+m+}.' g G k m.E+C.E+E+v.M z Q a { d 9 ", +"= ) ! O G u u v f ..7 P = & * Q ` R n 0 5.c.v.a.;.@.X =.e.0.>.~.F.4.J.M.2+0+x+9+c+D+&+w+Q.}+l+&+.+c+&+u.m.L.(.e.z.~.%.i K G.-.<.a., b I G d 2.! q - - q - > E M Q .J 9 1 j H &.;.k } o e 1 ).}.L ` !.2.}.j.j.{.6.{.h.x.E.A.J.4.3.b+u+2+Q.Y.r+7+l+,+7+7+%+$+y+&+w+w+c+}+&+|+a+i.* w - : % % % % % % % % % % % % % % % % % % % % % % : p c & : : : : : % % % % % % % % % % % % % % % % : % % % % : : : | | $ ; ^ ; & $ ] @ 6 H - l l k b f D d Q a , 7 u b p P 9 + 3 + ; ; ; # 3 3 x & = 3 q > q > F 1.P.(.E+E+m.t ; ` A+B.=+E+*.2.[.{.p.-+E+|+b+O.%+E+R.{.&.R }+E+T.Q 7 S.E+T.` `.E+<+8 i &.b+E+r+J J } *+m.i.U 8.[+:+A.3.E+E+! f ` I.E+!+x.2+x+l.z a a d d 7 H ", +": $ ) > < < l M -.X ; x = = & * _ o O r 6.z.D.'+e.W -.|.r.r.6.6.0.u+b.n.A+3+<+Q.D+n+y+m+*+l+d+}+y+%+.+ +o+z.(.p.e.j 8 i <.7.>.$.-., m } d W O H H @ + @ H m [ F R K ) u B e { n #.q l ( i A i./ Q Y 8 Z ` !.).].^.1._.j.G.k.k.y.t.I.3.c.5+S.s+W.c+w+%+$+=+,+r+*+.+7+z+<+m+r+5+9.- + +.: % % : | : : : : ' f h = s 4 ; = s s s s % % : ' e $ % % $ | % % s s s s s s s s s s s % % % % % % % % % % : = x | | 4 x = | $ 3 3 4 ^ T C v v G b f E ( { / { B b I v < H y ) 3 3 ^ 3 ) * 4 4 x ) < J p p I x+2+{ P.E+V.+ x c.'.6.E+E+@.(.:.6.K.E+E+L.d.A.w.k.<.<.i U E+E+*.2 a r+&+K 1 E+E+9+r N ( ^.E+E+v < [ Y.a o 7 B+E+3+7 m E+E+..Q , 0+E+x+b ! z , d A 2 V A E H ", +"% % $ x 3 9 P / i.U > 9 + 4 . x 3 - p S 8.&.K 9.D.2.....!.2._.8.d.u+B+U.A+t+|+&+D+[+&+Y.P.d+7+.+d+++7+r+S.0.8.N.5.'.).#.,.B.$.X [ V { U .p q I 5 3 ; 3 P 0 G O @.G + @ c K > U D ^ D ~ J l ` - l ! d A N <.g.` 9.e.W {.F.D.G.y.b.A.u.1+u+a+S.<+P.c+e+=+l+m+P.W.l+m+9+3+9+l+<+0.o & l % % : : | : : | : - X e & s B Z b 4 k w s % % : g n = % 3 9 J = % s s s ] s s s s s s s % % % % % % % : : % % = w : $ ] & & $ # ^ . x 5 + _ v < t I I 7 d Q V / , f I G v - 6 6 6 T - H 6 ; 4 4 w y J k G O }.E+! [.E+E+e.* E+=._ E+E+B.#. .(.|.E+E+d.Z L Z L L S L K z+E+E+Y 1 2 z r {.E+E+E+V V { E {.E+E+h < E+P J O ~.E+E+7.g.m+E+E+2 n 5.E+E+{.E , A ( V n ( / / B ) ", +"% % % : = 3 h u { , } p v < y ^ @ q P E Z i Y W i.#. .'.(.).}.h.d.m.v.b+v+3+X.|+[+)+)+Y.Y.W.m+}+%+i+l+&+[+U.H.l.z.2.@...^.y.z./.#.S ..{.!.#.U m ^ ^ ; ^ z =.G 8 ` 6 ^ O ~ T I &.# 6 S B ^ f V + H - < G d /.R K 5.0 +.}.2.5.'.w.D.w.U.t+B+v.c.2+ +[+8+y+Y.*+[+c+8+|+C+3+X.}+D+N.c 6 = s = & $ | : | : % % 2 R s @ u y s s # g s % % | a / : ; n - 8 i d s y [ Q s s s s % % % % % % % % % % : : % % $ = % $ & w . & w x 3 6 9 + h P - < t _ g f E { A 7 z m g p F 9 C < l F - y 3 ] w w y _ v J G 4.Q.M =.@+E+Y.+.b+1 0 E+:+[.Z @.>.l.E+E+e.S &.r [ &.K K K 7+E+7+8 r ).n.t+x+f+E+m+D D z f ` @+E+i.N.J.h l v m.E+r+6.[.j.{.f.( c L.E+=+i.1 &.U U U [ e A A E 6 ", +": s % % : | ^ - 6 T P p O I G J < F - < ! A 1 d u 7 1 =.$._.}.q.k.'+b.O.v+0+X.9+|+Y.m+P.Y.Q.r+}+%+c+.+`..+n+v.a.$.!.).B.x._.5.F.[.` $.!.X #.V @ 5 * # ^ z r g e 8 > < c E H &.{ _ O L 6 I 8 f ) ; 5 ) C e 8 g .@.g m &.>.&.<.5.).{.3.3.G.w.J.3.O.X.W.X.9+z+[+r+&+3+3+S.z+c+ +u.2.[ P # u i c G a + $ % : < ~ v u ^ s s s 4 L s s : $ 1 a $ d Q % ^ F F % w X k % s s s s s s % % % % % % % % % % % ] y y x : | $ . w x 5 q H * F > + > P F _ ' f u f D E , z M t l G ' t - T @ ; ] . w ^ q P _ v E+}.o 2 P.E+E+E+w @ 1+E+n+&.#.W .*+E+E+j r N V e e e &.j E+E+H.S }.:+E+ .o E+E+i.J O b } ( W.E+W.E+t _ l _ E+E+~.} } D a ( V N n+E+ +1 [ j Z S i K R V ( m ^ ", +"% % % % % % | ; q T q C J b f D O p l t t h p ' o o o d i .[.q.G.C.u.U.o+C+X.X.R.R.Q.&+c+Q.y+d+w+y+&+c+}+Q.t+y.g.'.'.s.G.!._.w.e.X L R Q b J - 5 ] x 4 @ - + _ p 4 > B @ q ( h 4 I Y > O L b P ] ] ] F &.Y / ` R > y / #.h 8 (.[ j.d.q.7.9.H.J.n. +C+c.4+1+S.*+D+0+t+3+R.W.1+4.{.K h m U j j A 2.u - ] | 3 +.e 4 s s s s 5 <.) s % $ , p > <.< % $ : % | t <.% % s s s s s s % % % % % % % % % % : y V X , % $ # u +.Q P > x ; q ^ + C - h < J I G o m d a 7 u ! o b o G F 9 ^ # ] 4 & 4 ^ T > m !+~ f ! 2+E+++V x o Q.E+a+j =. .,.,+E+8+U N A 2 2 V N U g.E+~+7.U a+E+c+d W E+!+S v I O } G v+E+@+~ I J _ v E+E+E+I ! !.e.Z ( #.c+E+D.c &.j j S i i U Y / ! ; ", +"% % % % : : | = ; H q - - t ' b b g ' G J F P l J p o M f 2 j 6.s.N.u.c.5+t+X.z+z+R.)+Q.r+c+&+Q.}+c+m+m+.+.+)+x+k._. .2.{.}.[.6.,.+.<.i e 2 f < + 5 w w . . w w w w w = = = w . = ; q ^ 3 t y . x x x T 7 O k e f * y d 2 t d p { [.5._./.:.a.r.C.o+T.'+b.T.2+D+4+4+2+ +W.z+b+p.}.O ) B 0 :.R =.8.a E I y g Y / s s s s s H j + s : . N p Q &.T @ z u $ ] A 7 : : . J < s % & 4 = % % % % % % : : : . A ~ m : $ _ W <.T l # . ^ ] ] ^ T C H > J v P G b u u 7 B B , Q D } _ 9 + ; # x = = * * 3 y.)+/ z u F.E+m.@ ] a.E+E+'+<. .,.r.E+E+V.e { A d 7 d / ` y+E+`.;.&.}+E+&+A.f+E+W.(.l p } ' ' z.E+~ O M } t P P.E+E+2+t+=+n.#./ o.E+E+(.n R r 8 U &.&.Y N ( o ) ", +"= ) + 4 & | : : | # > - y ) H F P l t _ t l F - C > _ J k ' D S ].w.N.n.a+4+1+0+ +9+|+R.R.[+m+W.W.W.&+r+Q.Q.r+<+c.z.'.!.@.!.>.@.X #.<.i R n , ' - * w & = $ $ $ $ $ | $ $ $ $ $ $ | | | | $ = = = = = = w w ] + ; . 4 > ' T w ] < e [ a R j @._.*.v.L.G.0.I.v+x+T.T.t+<+S.n.4.w.=.- # g .;.X 6._.i &.r &.O b K q % % % = o [ ] % : 5 i.E / I : f j 1 % q K 9 % ; m d L $ ] ! r a s s s s s % % % $ H ( L o % * V &.{ > @ & 3 # . w # > - P _ C F J t I p g E a A V 1 V d ' > y # w # t G F b+b+E+E+W.! u H.Q.{ ^.U.Z.E+E+:+7.B+)+;+E+E+E+2.d , u D m w.c+E+E+E+z.c e.E+E+g.m+E+W.i.J G O ' } z.t.} b M o t F E Q.E+E+M.a.( ,.3+E+E+E+C+( N c 1 V n ( / a B b ; ", +". 9 P q T + & | | $ # - F + 3 ) + @ @ 6 F < 6 + ^ 3 ; ; + H P g ( S #.-.>.2.2.6.9.E.I.c.A+ +[+P.Q.m+&+c+}+y+.+P. +K.{.W X X X ~ <.<.K U R V a D k q ^ x $ $ $ | | : : | | | | | | : : : : : : | | | | | $ $ = = & $ $ | $ $ = . x ] 3 y l u n K '.F.l.f.l.I.U.o+4+1+u+T.M.L.s.:./ < - A i. .}.7.-...:.6.L p < K ! % % % y c z % % : 3 0 , 1 ^ % o S - = 7 ( % ] m n g D | C / ] + s s s s s % % % + f t A ' 4 G o i B T . 5 y F ' > 6 < C v p < P l v ' l g z E ( 2 e [ n 7 g h y 4 5 d ~ + : $ & ^ G f m M O p 9 x @ _ m n 8 ~ -.;.-.K c A , u m b ! u d a A ( a a 7 E B D O p t v p k ' } [.E+I g ! g J l _ k ! , a a { Q d B B u u 7 Q { { { { Q { Q 7 7 M 3 ", +"4 F h 9 > P q * $ | | * > F y ^ ; ] * # * 3 ^ * x w & = w w 4 y h p p I I O o o b E Q e Z (.h.'+o+z+W.r+y+y+c+.+Y.t+p.2.+.j K K S i 8 &.Y A , m } v > ; . $ | | : : : : : : : : : : : : : : % % % % % % | | : | = | : | : : | = = . w x # + < ! V 7.a.}.a.z.F.0.p.C.N.d.d.*.K k H . y d ..|._.!.$.a.E.e.<.2 m e / ; % % } 1 @ % % : 3 $.<.d % q i 7 % - V v % h 8 f ^ & % T c < s s s s s s % % : l ' 5 1 O C G _ 8 < * # h < E =.f l r #.h &.-.o k &.2 k Y u M d , N c i .[ G C ) @ A / | : : $ ) v o f ! } v + x 3 F M A e K <.Z S N a E D D ! O M ! f u 7 z A f b M o b I k J J p I I B.I.}.O g o I v _ k f , 2 2 / ( a B z f b ! b D E E z u B f z z f O + ", +"w - t C P h P > 3 = $ $ ] > P > ^ * x ] w w x w . $ | : | | $ = w ) P t J t t J l J I I g b M a R !.1.v.x+[+}+c+c+R.u+x.X U [ R Y e r c ( a 7 b } l > 5 4 & = $ | | : : : | $ ] ; . | % % % s s s s s s % % % : : : : $ | | : : | | | | = . w ; - U ~ +.'./.].8.q.N.}+|+|./ 3 : : & ) } 2 j ..,.$.|.j.|.x.<+ +S.W > % < c h % o.o.o.; |.~ h : O 8 Q H D K E 3 M X t # w w 2 +7.: s s s s s % % ^ G + T ~.z+5+O.C+X.a+b+' b 6 D.7+U p r +.f <.L J f @.<., ..n M z m Q e _.1.j.,.( _ M #.G & $ $ ] 6 _ g f o ' h.g.R.E+- o B ( R [ r n d z b O O } G G I I g ).W.D+1+1+<.G ' ' G k I 1+4.k @++.g g I G k t t o 7 / N N 1 / , z M g p J _ h I } g o o o ' O G p 5 ", +"= 6 _ P < P P C > ^ & : | & 5 C - y ^ ] x ; . & = $ | : : : % % : | w + C < _ t < h l v k O O ' G } ! d K 2.E.V.n+[+X.v.2.R V n V n V A a d E b } v 9 ; 4 . . & & = $ $ | & * T q 5 . % % % % % % % % % % % : $ . x 4 x 4 x w . & = | | $ $ = & w 6 o , R j a.+./.v+E+r.} * | : | 4 T M e Z >.(.i.).)._.i.(.}+E+;.| T c v : B E+D+% ^ q.c # : P f 6 % k 7 @ % p r O T w l D r+A ! 1 + s s s % % b I % < L i R.E+@.! Q E+E+q #.7+E+@ F R Y D 8 ( > G 2 Z Y R A M } } b c {./.~ ^.@.o 0 ~ P ) ) T I 8 Z ! Y !.{.E+8.) ..h 7 ( { 2 n 2 7 u M } G J t _ h < > > z /.m+E+B v t } f ! ! ` E+E+E+0 t p p p J l v I m A 1 U S [ V B g l C F q + ) y 9 P < P v < P C F ) ", +". @ > - F t t l _ h 6 & | : $ x @ > > f , G w & + . : : : % s % % % : $ 4 5 - _ _ _ _ J k O G p k k p k p g m c >.9.I.3.9.U d Q / 2 A a , E z o I _ T 5 ] 4 w w . = $ $ = ] y q F 6 x % % % % % % % % % % % % | * @ > P p } ! D B , m } J P h l P C < t O r+^.Y 8 <+E+J 5 & . | & ; > ! R =.,./.:.[.|.}.'.A.V.E+/.F a q : % E+E+o P ! 7.J % % % % % % % $ : % x @ y | % 9 g P : O b x s s % x > c ' : v B ..E+}.<.< % E+E+J U E+o+^ 2 &.- Q V h F t B =.Y 7 g I v ' O N :.#.+.^.#.r 2.r k t / z _ S Y 7 j 2.z+E+<.C - d ..,.1 V _.!.+.0 o d <.V v C q 9 H C Y F.E+%.C v } ! u B 7 d 7 E f o p _ h _ h C h I D a N L W ].;.u G - T H ) 3 4 x w # * ; ) 6 H q F @ ", +"& H - < q l l v p v l @ x $ | | = 3 C 1 $.k ^ 3 L C | | % % s s % % % : : | & x ; 6 y q F < h h < h C F q T F h v I a [ 0 c f m z D B u m f ! g J _ 6 3 ] 4 w x & = $ | & 5 y H F @ w : % % % % % % % % s % % : x 5 q h I b , N R 8 &.Y / A n 8 ~ X ..~ 8+,+{.!.e.>+b.q 4 . . : . 6 - f [ X ).~.j.j.j.}.,.p.'.E+u.t . : : $+E+D+> v z X @ : % s s s s s % % % % % s % % % % % % % % % % % % = y C q $ 5 = l.E+R ( ' }.E+o.h D.E+[ < i k J 8 r t 9 l c =.e J l p t p G W >.n ).).n !.i.( D K 0 o e L m D D *.~+O.R l / L 0 L [ &.!.).~ B 7 &.L A _ h - 9 T B Z o.E+%.G p D / Y S Y V r r V Q m } l P - 9 q ' z { r j -.'.S D I H y + ; ] . = = & & x # ) 6 T < ) ", +"p K =.&.> < 7 o l m ' v P ^ & | | $ * n +.> 9 q m * & y M w % % s % % % : : : : | | $ $ $ $ . x # # ; * 4 # * ] # ; q h _ p ' } O } M o g O I t > 9 3 ; 4 x x 4 4 . w & ] ) + 9 F T # : : % % % % % % % % % : : | # 9 < p g E A e N 1 ( a d A 1 i +.-.p.E+,+[.@.H.E+/.++E+R.& : = 8.!+E+<+'.:.].}.].~./.%.E.j E+r+G > ^ T.: E+o.| 4 > *.P.H.D+D+E s E D+E+0 % F l.D+E s E D+j % % :.$+E+o.% % % % % % % % T.E+% | = $+E+M & u+E+5 t ` [+_.T.I.) - U d+E+^.F B '+P.S z s.`.E+l+}.r {.).y+X. +E+T.'.2 l o 1 x+E+U.r ! >.K p.f+6.E+W.Y } I .+s+3.E+C.- T 9 9 U ;.S.E+Z G O S j -.8...D+W.q.|.h._+z.f+E+`.{ C J.E+Q R '.8+z+( ..Q.E+V 5 w.R.a & . w x ] ; + T C P ^ ", +"B v W n l Y ,./ D $.B p k } D , , $ y S g H C k P T 9 / N | : : : % % % % % % % % % : % : : : : % | | $ $ $ = = = = = . ; 9 < J } G l h h _ t > @ ; # 4 . . & w & w & w ] 5 H P C q * : % s % % % % % % : : : | | $ ] @ q t M z , d a 7 B m z d V r 8 F.E++.j 8 9+f+S + Z.E+= % T.)+p ,.E+'.:.~.}.g.j.'.y.E.U E+B+B b S V c.E+. $ % d.[+p s l.E+0 % % $+l.% % % o.s s |.$+o.s % o.D+% B E+% % % % % s s j E+l.0 0 E+D+Q x | E+Z * -.E+* ^ u+u+y q F ~+B+C < J 4+T v G.;+q.2 =+8.Y E.l+E+N.0.s+{.(.c b } g Y.)+a p e x.}+j.b d -+E+A ;.m+E+M.:.A+r H 6 q } W x.E+w.r G 0 >.U :.E.d+E+j.f.o.;+g+6.R ~+E+` } E+x+d &.J.E+L.V i [+E+' 8.^.- t ) 4 * ^ ^ y F < < v H ", +"3 I L P J K X b j [ F t a n O +.E & o 8 x * } i / P { -.Q 6 v A ] P l % % s s % % % % % % % % % % % % % : : : : : : : : | $ x 5 H P _ F ] 4 # ] w & & & $ $ | | | | | = . 4 5 t J h * : % s % % % % % % % % : : : : $ w ) - h I o ! f b } k G } z Q 2 b+:+Y V K &+4.F ) [+s+= 7 E+c h K E+B+(.i.i.j.:.!.w.g.1 .+&+u @.1.< Y.++< y ..!+S ' : 0 E+l.% % o.E+% % :.% % % F D+l.% B E+B % F E+:.% % % % % % :.$+B % % % : $ = d E+d * ; j.x @.)+A+Q D E x+E+q P h.6 9 d %+a+t g r+m+, e U.=+1 +.1 7 U g h k i %+o+D k X C+A+0 / X y+E+_.n u+:+` K _ + y H T Y @.G.f+5.B 2 |.j ..9.=.5+-+5.^.7.i+ +<.j.%+,+Y / E+s.Q Z v+(+x.8 ` X E+y+z+7 1 S _ 3 T ' , =.r } } / ! ", +"q =.( ] _ [ n ( Z ' q d Z } R ~ _ G U z | + ( X M 3 1 +.q p c r t o n s s % % : : : : : * m I - % $ H 9 4 # : % % % % % % % % | | w 5 @ * & = = = $ $ | : % s % % % % % % % w V .I ) : % % % % % % % % % % % s % % | . 3 6 C l p G I k v C H 6 _ g ' E+0+u m [.E+i.- 9 E+;.4 T.E+O.5+3+D+W '.'.$.2.'.;.l.[ A f+E+o 1+t _ E+5+} t E+t+N t | 0 E+0 : % :.E+B F :.% % % 0 E+0 % o.E+o.o.o.o.% % % % % % % o.o.% % : : : : $ b+E+= * # <.#+s+E+7.Q < < ^.E+S D 8.y v *.E+&+4+x+2++.E z E+3+a 2 B M J t _ G G.E+7.o g 7.E+0.V [ ;.Q.E+R R E+Y.,.A v T H C J $.[ 0+)+&.! +.g.%.{.*.,.E+)+L.j.4.E+N.(.l.E+z.d ~.E+A n U }+.+S a <.i.@+E+-.! K A T H e D Q '.V M j W b ", +"2 ~ , > { #.V X j p ' N B B >.N p N -.} 3 - &.d $ - Y E F p z 8 a } Q = $ | : : : % % @ 7 v p A # H 2 K E E % % : % % % % % w h l # % @ z h : : : : : % % % % % % % % % s s x d W I y | % % % % % % % % % % % % % % | x ] + 6 T C P < C T F 4 = & 5 %.E+J _ _ 5+4+_ h 5+E+T ; E+X H _ , K X >. ...%.@.H.z.N , f+E+2+p v 4+E+G o j.E+7 n a y T.o.% % % :.E+E o.% : % % o.o.% % E+0 % % % s s s s s s % 0 E+0 % % % % % s $ E+<.w J E+}.= E+V.y ^ 3 9 8.E+U u+3 6 G 9+D+V h I p ' O j.E+E , V ( d a .n 8 9+0+u z m 3+X.r 8 #.Z E+H.S B.E+i [ z G h P h z <.x.E+F./ 2 =.[.@.].h.I.E+].J.7.d+c+'.7.d+E+W V E+X.Y U u.E+L.Y V |.3+!+E+2 l U J 9 [ U b >.-., d j.=.b ", +"A S o O S j M N [ G , K V r @.[ z =.>.Q J e @.I $ b c @ . 5 J +.[ o ! H ; . & $ : : % f / ^ z e + q A Y o ^ % : : % s s % $ l / u 6 w a Z Y &.l % & v E > % | 5 6 4 % % s s q R 2 I + % % % % % % % : % % | % % % % % | w # ; ^ ) ) ) M L } $ | % # N.@+@ * o Y.C.v k P.*+q y E+E+y h e /.Z -.=.X =.j 1.i.7 M 2+E+L < P Y.Y.> l [.E+Q ( A S u+A : : : : E+$+% % % % F D+l.% % E+E+% % F E s s s s s s |.$+B % % % % % % B E+7 & s.#+$ _ E+A.. 4 3 > @ E+++y y q H o+E+'.v t i.' } v.f+f Q , Q , 7 i U Y r+B+Q a A +X.R L +.A.d+~ #.A+>+&.N a b I I G ! E p.:+_.c N [ Z j.W $.x+;+6.s.J.$+9+_.6.++i+@.=.E+'+S #.3+(+D.U +.^.4+Y E+A+c N t ' }./ i ^.&.2 V !.W n ", +"L { G g D M t b J 3 J ( ' ! N k k Z L u D X @.1 g c K p w : y &.i } p l h F H ; . & 5 Y o ; r Q | h r _ | | | : | | : % % $ E u = % ) c f q L f % g d / ! % > 7 &.o % $ _ m { c l C * % s s : | | ] } I | $ % % % % s : | $ & & & = | ' 8 ) % : : - 7+c+:.| 6.E+h.I +.E+'+C H #+E+E+E+@+/ 8 L 0 j S @.b+j E b G.W.v t S E+C.F C 0 E+&+Q 8.t++.' F ] = | $+% % % s % :.E+:.% % $+E+E+E+$+s s s s s s F D+D+F % % % % % s D+E+C % |+E+#.s+E+k._ & 3 C + ++P H y q F m.E+E+E+E+S } n E+m+E E f u Q { A A k.E+y.2 ( / n.E+J.'.p.,+,.W _.E+7+&.c { 7 D f f u j c+}+=.r r U G.7+Z |.E+w+~.g.4+E+o+:.k.E+S.+.L 7+7+w.3.g+g+K.n x.r+G =.r+*+Z 1 ' a [.Z ,.h.` 8 e e...g ", +"i b g G p p I p v 9 ) 3 y > > + 3 J g J o / 1 g } [ a y | : t j D + 6 h t I G v > + P / H ! R > 3 r 2 5 . & . & = | $ | : s o V 5 % h n q t 8 > J V d O ; 9 2 7 D l % z M w m } $ & $ s s s | $ 4 M K U &.o : 9 ' C C 5 : # 5 . | : 3 { z % s % % C _.h.: }.U.V.x.B.1+v+5+> 9 ; c.u+C o 7 n c n n D. +C+w.z ! B.' } 1+5+5+o+e.H C #.t+S.d B a ( A O T w 7 : : : % :.o.o.:.% % % o.o.% % % % % % % :.o.o.o.:.% % % % % o.o.o.B % 7 T.= V c.Q ] 4 + @ / R > 3 y T C J 9.4+8 T _ ` v+x+3+u z D B A / 2 0.3+ +D.( 2 d 7 p.z+I. .2.2.r.Y.)+R.i Y A B z f f w. +X.n+n+<+<+<+D+0 f.)+*+W.~.o+r+&+A+A+m+W.P.W #.f.[+n.1.o.W Z X.0+2+O S.0+x+A.m t m #.1 L i.U c ..h.x.R ", +"Y , g G G p G k I G t H * # ) T 9 + ) 9 l J J v t p J v T ] Q g # | = 4 + F G v _ P F A 7 u t x t L t & = & x . & & = $ & ) < e > % a 7 ) ( f * ( / H = % { ( } y % ! 2 5 y g + % % % % % % % % . d { C V Q F ! Y N B H ; ! V m 5 % v 2 M 7 O . : 7 2 . | = 3 6 C G J h _ T y x 4 * > t M z B z D u B 7 u ! ! M o f I k l C @ + H _ ' ! m f , K <.[ / m ^ : : % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % : = . = # . ] + 2 ].+ * ] F q 9 q < v - T k I G D , D E D z u B , B A 2 A 2 a , 7 n &.+.>.i.|./.i.%. .S 1 7 m ! o ! , { n N [ U K #.Z L X W ,.i.|.6.~.6.~.[.:./.,.;.#.~ !.'.,.>.@.j n E O ! , A Q u M o o m d { a n $.x.i =.~ ", +"3 k } g I ' g p k I G k C H ; * 3 > C @ 6 h t l v F Q j / R m @ & | | | $ x 5 T v k k ' O ' > ^ H _ 3 . . . ] ] w w . . x f f g # 5 8 I 2 o = ^ i 7 h ) y U d ) | 5 [ J s , O w % % % : % % s s 4 N k @ i o : m r } 3 # ( g ) [ I % , Z _ 2 / w 6 e J % $ v j U O ! #.n o r l ; v - > v O b o o b f u D z z D z [ j , k l C H @ T < ' O I D a #.$.,.!.~ Q q = % % % ] H @ 3 . % % % % % % : : : : : % % % % % % % % % % % % s % s % | : : . x ; x E.^ 5 5 + - y y H l h > J k t G u f D 7 E u E 7 2 { n V / a A Q { N i =...$.2.).(.,.W j c , D D f E A V N R &.S +.@.-.=.@. .>.%.(.:.:.j.:.|.|.|.'.;.+.X ,.2._.(.!.<.R Q u 7 V r [ e Q u z 7 a { 2 / @.r.[ r <.", +"] t M g o o I p k O g I G g p > ^ # + H > T - - < _ I d m _ C _ F ) # $ | | $ w * H P k I I l F 9 6 6 3 ] 3 ; ; * ; # # 4 - C w : z N u 3 % % & B V C 4 * 1 { J + G c H k W a P w = % : % % % % G 1 5 b / ^ : e b | s h r + J +.q > <.O 4 e ! % D 2 ^ % } a 2 N E , @.Z e -.d G =.E F B +.:.1 k p O f f D z u / $.` O h q H + y 6 F p J < } m &.(.{.q.|.~ V C $ % 3 O D o { G : % % % % % % % % % % % % % % % % % % % % % s s s s s s % : $ w.~.}.p 5 5 # q 6 ] ; 9 v P l p p p I ' b f M M z B u d a / 2 A V { , A e L =.` -.W !.!.-.0 8 R n B d a a V c Y R K j X ..W W ;.%.!. .%.$.i.i.'.,.,.%.>.-.#.+.>.i._.2.%.` 8 / { 2 r <.` Z [ ( ( V V n c / c -.-.Z d ", +"w J O k g ' k p G G k p p p J t v F @ ; 3 5 H q F P > H y * ; 5 6 T < q ^ . $ | | $ . # ) > h _ < l _ l < T 9 6 @ @ ^ + H ; ; x 3 ` p | : % % % & # = % : q k ] % + m t P Y J ^ | = % : | : : : N ! B ( ^ % M S @ s s f B x 7 e 4 Q / . O { ^ . 8 k % ^ S 7 z > 6 M !.n { ~ z z R k C #.n , f l _ k o O M f ! <.'.[ I h ( K D 9 @ T , 2 t G I Q X 6.f.^.2.~ A > | _ Y F % < > % % % % % % % % % % % % % % % % m X A 3 & ' > s s s s s s % : = = & . # & 4 5 ^ 5 ) P h q h l p M G ' O M D ! b m m ! d ( / / 1 Q , Q n i 0 0 ~ Z ` +.<.i r 1 1 d 2 V N &.8 i j #.=.X ;.;.W ;.>.!.!.>.;.,.>...>.;.W @.` 0 #.!.%.'.'...~ &.V 2 N 8 #.@.=.j [ c N Y N N V n N r e v ", +"x v I k I G G I G G k k k J p G G J v P y ; * ; y - > H H 5 w w x ] 5 6 y 6 y * w | | | | = ] ; ) > h _ t t h _ h > > > q 9 q T A -.} 3 & $ : : % % % % % % % % % % % | # + 5 * | = : = & $ : H L / q $ % % Q f . s s l J - R y | K < P ( @ % p 0 l : O @.l 3 ; ) [ r T e R y d G q > R +.o t P P G I I I O o .8 t C 0 7 G ~ ' + { Y c N f } M c ;.6.j.[.(.j 7 H _ S 7 . w . % % % % % % % % % % % % % % % % ! 8 P % P { > % % % % s s % % | = | . w w ; # + 9 - > H > v t g } k g M ! ! b D M g b u A A / ( Q { , V r R i S j <.<.L [ c n { Q ( e U j j #.~ =.@.@.-. ...W !.>.>.>.;.!.!... .@.X X Z j 0 =...W ;.W <.[ 1 n r K -.!.!.+.U e Y R r Y c 1 ( V ( h ", +"* t O ' I ' } g ' } ' ' p k G p ' k G G t < T ^ # * 5 @ > q ^ ] 4 x . w w # 3 y > ) ] = : % : | | & 4 ; 9 - F h h h C - q P < p a d B H ) * & | % % % % % % % % % % % : % $ ; # $ $ & ] = : = 1 A | : % | : # x : s s % _ } . s & B z - # s s O n } 4 ! X t u # ^ K + 9 &.H y r - ) < I 2.B P T q h J k J k d $.f q m @._ d '.J t -.o z %.7 O J u [ ..;.%.>.#.( t > n X J % % % = u / _ & % % % % % % % % % : c 7 4 % D I = % % % % % % % % : $ : | . # 3 y ) 9 F q 6 - c ,.1 t t G g m } g b g k b u Q a V ( , a 7 / V r &.8 S S i R e n / { ( 1 i j ~ =.@...,.>.;.!. .!...W ..%.>.%.,.'.%.%.!.;...` #.=.@.-.-.=.~ S e n N R #.!.(.$.` L 8 &.R e e N c c N c h ", +"* ' f } I } G ' } I } ' G I k p ' G p } k v J _ F 6 * ] 3 y 6 q H ^ x . = = = . 4 # 5 ^ 3 ; w | | : | : | $ & ] 5 6 6 6 T C F > - 6 q 9 T H 6 # | % % % % % % % % % % % : % | = $ = 4 w | = p X Q | : % & : % % % s s s s s s s s s | : s s s 3 9 = : y M ! | : k k % ! M % p 2 > ] c < .G 9 y y F P l _ t 0 ..g H c 8 F R -.- { #.P &.,.P p v J z 1 [ S j &.V b h - [ K ^ % & e l q 8 + % % % % % % % % % F <._ : % F 4 4 > > ] * & % % % % : % $ w ^ q 6 y 6 T 6 q h Y L M l I k I g g M ' G ! m i ,.R 1 { Q 2 <.` r e Y r r R 1 / / / 2 n N r 0 ~ @.%.>.2.(.2.$.>.!. . ...;.%.,.,.$.i._./._._.(.!.-. .>.W -.` #.U V { 1 U X ,._.i.=.#.0 K 8 [ r e r Y R R J ", +"* ! , } } g J I ' ' I g } G p p I G G I k t v J k v l P 6 5 * 3 y 9 H 6 3 ] w = $ = = = . 4 ^ ; ] x $ $ : % % : | | | & w 4 ] * 3 3 + T 6 6 > > 6 + ] $ : : | : | : : % s s % % : = w & & ] Q D d . % : % % % s % % s s s s s % % % % % % % % % % % s s s s % % : | % * x % y > % | D V m T ^ 3 @ 9 - < h _ W =.( q c z J '.I @ &.A _ >.Y - o O t p o D Q a a , / P = h X l % v K x M X 3 % % % % % % % % % m R ; % % | 3 G f / @ a v : . M Z q % : $ ; C * * @ > 9 F v W { l v G p g O O o O I b 7 1 i c A d A ( 8.~.S N V ( V { E , 7 R '.Z N R j ` !.(.$._.:./.).$.,.!.>. .!... .(.i._.[.g.8.{.7.~.2._./.'.W X 0 &.2 Q 2 Y j ;.>.-.+.Z Z L K i i U 8 U S L } "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/aspect.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/aspect.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,22 @@ +/* XPM */ +static const char * const aspect_xpm[] = { +"16 16 3 1", +" c None", +". c #000000", +"+ c #FFFFFF", +" ", +" ", +" ............. ", +" .+++++++++++++.", +" .+....+...+..+.", +" .++++++...+..+.", +" .+........+..+.", +" .+........+..+.", +" .+........+..+.", +" .++++++++++..+.", +" .+...........+.", +" .+...........+.", +" .+++++++++++++.", +" ............. ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/chapter.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/chapter.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,23 @@ +/* XPM */ +static const char * const chapter_xpm[] = { +"16 16 4 1", +" c None", +". c #000000", +"+ c #FFFFFF", +"@ c #CD0909", +" .. ", +" .++. ", +".++++. ", +".++++. . . ", +" .++. .@. .@. ", +" .. .@@@..@@@.", +" .@. .@. ", +" . . ", +" .. ", +" .++. ", +".++++. ", +".++++. . . ", +" .++. .@. .@. ", +" .. .@@@..@@@.", +" .@. .@. ", +" . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/delsub.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/delsub.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,22 @@ +/* XPM */ +static const char * const delsub_xpm[] = { +"16 16 3 1", +" c None", +". c #CD0909", +"+ c #000000", +" ", +" ", +". .", +" .. .. ", +" ++. + + +.+ ", +"+ .. + . + ", +"+ +. ..+ + ", +" ++ + ..+ +++ ", +" + + . . + + ", +" + .. +.. + ", +"+++ . +++ +.+ ", +" . .. ", +" .. .", +". ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/dir.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/dir.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,148 @@ +/* XPM */ +static const char * const dir_xpm[] = { +"16 16 129 2", +" c None", +". c #B5C7C7", +"+ c #B5C6C7", +"@ c #B5C6C8", +"# c #BDC9D3", +"$ c #D6DFE3", +"% c #CBD8DA", +"& c #B2C3CA", +"* c #94AFBC", +"= c #739AB4", +"- c #7FA4B9", +"; c #82A3BD", +"> c #4380B1", +", c #437FAE", +"' c #4381AE", +") c #7FA3BA", +"! c #2D7088", +"~ c #265E70", +"{ c #255264", +"] c #1D4C60", +"^ c #A8D7F2", +"/ c #C5E4FF", +"( c #CAE7FC", +"_ c #B1D9F2", +": c #B1DCF0", +"< c #71B6E4", +"[ c #8EAEC8", +"} c #DEECF3", +"| c #DAEAF4", +"1 c #D5ECF0", +"2 c #E9F3F6", +"3 c #FCFDFF", +"4 c #FFFEFF", +"5 c #FFFFFF", +"6 c #FAFCFF", +"7 c #D0E6F2", +"8 c #C8E3F2", +"9 c #75B3E4", +"0 c #7BA5BD", +"a c #FAFEFA", +"b c #FDFDFD", +"c c #FBFDFB", +"d c #F8FCF8", +"e c #FBFCFB", +"f c #F9FBFE", +"g c #BDDFF4", +"h c #BADDF0", +"i c #63ABDC", +"j c #7CA2BE", +"k c #F8FFF8", +"l c #F9FEFF", +"m c #FDFCFD", +"n c #F7FBFE", +"o c #F7FBF7", +"p c #F3F7F7", +"q c #F7F7FA", +"r c #F2F7F7", +"s c #AED7F0", +"t c #AED6EF", +"u c #559DDB", +"v c #80A4C2", +"w c #F7FBFB", +"x c #F7F9FA", +"y c #F2F9FA", +"z c #EFF4F3", +"A c #EBF3F3", +"B c #EFF4F7", +"C c #E5F2F6", +"D c #A1CDE7", +"E c #9DCBE8", +"F c #4694D4", +"G c #84A2BE", +"H c #EDF3F6", +"I c #E8F2F0", +"J c #E6EFF1", +"K c #E1EEEF", +"L c #DEECEC", +"M c #DEEBEB", +"N c #DEECEF", +"O c #D8E8EC", +"P c #89BBDD", +"Q c #89BAE4", +"R c #3488CC", +"S c #7BA3BD", +"T c #D1E2E6", +"U c #CCE4E1", +"V c #D1E4E3", +"W c #D1E3E5", +"X c #D1E3E4", +"Y c #CFE3E3", +"Z c #D3E4E3", +"` c #C8DDE6", +" . c #72ADD5", +".. c #6FAED2", +"+. c #287AC3", +"@. c #82A3C4", +"#. c #B4D6D4", +"$. c #BBD9D7", +"%. c #BDD7DC", +"&. c #BBD9D8", +"*. c #BCD8D9", +"=. c #C0DADD", +"-. c #C5DCDE", +";. c #B9D3DB", +">. c #61A1CB", +",. c #61A1C7", +"'. c #1C70B9", +"). c #82A2C4", +"!. c #9EC8C7", +"~. c #A5C9CD", +"{. c #A7CCCE", +"]. c #A9CCCE", +"^. c #AECFCF", +"/. c #B2D3D3", +"(. c #B9D6D7", +"_. c #AACBD6", +":. c #5399C0", +"<. c #539ABF", +"[. c #176DAE", +"}. c #004577", +"|. c #00447A", +"1. c #00437C", +"2. c #00447B", +"3. c #004380", +"4. c #00447F", +"5. c #00407F", +"6. c #003B80", +"7. c #003B82", +"8. c #003C80", +" ", +" ", +" . + @ ", +" # $ % & * = - ; > , ' ", +" ) ! ~ { ] ^ / / ( _ : < ", +" [ } | 1 2 3 4 5 6 7 8 9 ", +" 0 a 4 b c d e c f g h i ", +" j k l m n o p q r s t u ", +" v o w x y z A B C D E F ", +" G H I J K L M N O P Q R ", +" S T U V W X Y Z ` ...+. ", +" @.#.$.%.&.*.=.-.;.>.,.'. ", +" ).!.~.{.].^./.(._.:.<.[. ", +" }.|.1.2.3.4.4.5.6.7.8. ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/dolby.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/dolby.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,23 @@ +/* XPM */ +static const char * const dolby_xpm[] = { +"16 11 9 1", +" c None", +". c #000000", +"+ c #C3C828", +"@ c #BCBF27", +"# c #DBE82C", +"$ c #B5B626", +"% c #CAD229", +"& c #CDD62A", +"* c #C6CD29", +"................", +".+@@###..###@@+.", +".$...%#..#%...$.", +".$....#..#....$.", +".$....&..&....$.", +".$....&..&....$.", +".$....&..&....$.", +".$....#..#....$.", +".$...%#..#%...$.", +".+@@*##..##*@@+.", +"................"}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/double.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/double.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,151 @@ +/* XPM */ +static const char * const double_xpm[] = { +"16 16 132 2", +" c None", +". c #000000", +"+ c #92A0AC", +"@ c #808F9B", +"# c #86949F", +"$ c #8C99A4", +"% c #929EA8", +"& c #98A3AC", +"* c #9EA7B0", +"= c #A4ACB4", +"- c #AAB1B8", +"; c #B0B6BC", +"> c #B6BBC0", +", c #BBC0C5", +"' c #909192", +") c #B7C4CD", +"! c #91A3B3", +"~ c #98A9B8", +"{ c #9FAFBD", +"] c #A6B5C1", +"^ c #ADBAC6", +"/ c #B4C0CB", +"( c #BAC6D0", +"_ c #C1CCD4", +": c #C8D1D9", +"< c #CFD7DE", +"[ c #D7DEE3", +"} c #BCC1C5", +"| c #8B9EAF", +"1 c #92A4B3", +"2 c #A6B5C2", +"3 c #ADBBC6", +"4 c #BBC6D0", +"5 c #C2CCD5", +"6 c #C9D2D9", +"7 c #D1D8DF", +"8 c #B7BCC2", +"9 c #AFBDC8", +"0 c #8499AA", +"a c #92A4B4", +"b c #99AAB9", +"c c #A0B0BD", +"d c #A7B5C2", +"e c #AEBBC7", +"f c #B5C1CC", +"g c #BBC7D0", +"h c #CAD3DA", +"i c #B1B8BD", +"j c #ACB9C5", +"k c #7E93A6", +"l c #8599AB", +"m c #8C9FAF", +"n c #93A5B4", +"o c #A0B0BE", +"p c #BCC7D1", +"q c #C4CED6", +"r c #ACB3BA", +"s c #A8B6C3", +"t c #778EA1", +"u c #7E94A6", +"v c #8C9FB0", +"w c #9AABB9", +"x c #707A84", +"y c #B6C2CC", +"z c #BDC8D2", +"A c #A6AFB6", +"B c #A4B3C0", +"C c #71899D", +"D c #788EA2", +"E c #7F94A7", +"F c #869AAB", +"G c #8DA0B0", +"H c #7A8996", +"I c #79858F", +"J c #AFBCC8", +"K c #B7C3CD", +"L c #A1ABB2", +"M c #5E7990", +"N c #657E95", +"O c #6C8499", +"P c #728A9E", +"Q c #627584", +"R c #7A8C9B", +"S c #8EA1B1", +"T c #95A7B6", +"U c #9CACBB", +"V c #B1BEC9", +"W c #9BA5AF", +"X c #6A7D8E", +"Y c #8196A8", +"Z c #889BAD", +"` c #8FA1B1", +" . c #AAB8C4", +".. c #96A1AB", +"+. c #B2C1D2", +"@. c #90A6BE", +"#. c #95AAC1", +"$. c #9AAEC3", +"%. c #8493A4", +"&. c #738B9F", +"*. c #7A90A3", +"=. c #889CAD", +"-. c #8FA2B2", +";. c #919DA7", +">. c #BBC8D7", +",. c #8AA1BA", +"'. c #8FA5BD", +"). c #78899B", +"!. c #8696A8", +"~. c #A6B4C1", +"{. c #AEBCC7", +"]. c #B3BFCA", +"^. c #B7C2CD", +"/. c #C3CDD6", +"(. c #A7AFB7", +"_. c #B7C5D5", +":. c #859DB7", +"<. c #8AA0BA", +"[. c #7D8EA3", +"}. c #98ACC2", +"|. c #B2C1D1", +"1. c #7F98B4", +"2. c #849CB7", +"3. c #89A0B9", +"4. c #8EA4BC", +"5. c #93A8BF", +"6. c #D9E0E7", +"7. c #B1C0D1", +"8. c #B4C3D3", +"9. c #B7C5D4", +"0. c #BCC9D7", +"a. c #B3C2D2", +" . . . . . . . . . . . . . . . ", +" . + @ # $ % & * = - ; > , ' . ", +" . ) ! ~ { ] ^ / ( _ : < [ } . ", +" . / | 1 ~ { 2 3 / 4 5 6 7 8 . ", +" . 9 0 | a b c d e f g 5 h i . ", +" . j k l m n b o . . . p q r . ", +" . s t u l v n w x . . y z A . ", +" . B C D E F G H . I . J K L . ", +" . ~ M N O P Q . R S T U V W . ", +". . . . . . . . X Y Z ` T .... ", +". +.@.#.$.%.. . &.*.Y =.-.B ;.. ", +". >.,.'.).. !.. ~. .{.].^./.(.. ", +". _.:.<.. [.}.. . . . . . . . . ", +". |.1.2.3.4.5.. ", +". 6.7.8.9.0.a.. ", +". . . . . . . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/dvd.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/dvd.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,129 @@ +/* XPM */ +static const char * const dvd_xpm[] = { +"16 16 110 2", +" c None", +". c #CACCD2", +"+ c #D3D4D6", +"@ c #D2D2D3", +"# c #D1D1D2", +"$ c #D1D1D3", +"% c #B5B8BD", +"& c #EDEDEC", +"* c #FAFAFA", +"= c #FBFBFB", +"- c #FCFCFC", +"; c #FFFFFF", +"> c #D9D9D9", +", c #AFB1B5", +"' c #C6C6C7", +") c #FDFDFD", +"! c #F7F7F7", +"~ c #F9F9F9", +"{ c #F6F6F6", +"] c #F8F8F8", +"^ c #B8B9BD", +"/ c #B2B4BA", +"( c #EAE9E9", +"_ c #DCDCDC", +": c #F3F3F3", +"< c #F4F4F4", +"[ c #A8AAAF", +"} c #CBCBCA", +"| c #CCCCCC", +"1 c #D7D7D7", +"2 c #E1E1E1", +"3 c #F5F5F5", +"4 c #EFEFEF", +"5 c #CCCDCE", +"6 c #D2D2D2", +"7 c #CDCDCD", +"8 c #D6D6D6", +"9 c #E0E0E0", +"0 c #E7E7E7", +"a c #E6E6E6", +"b c #E5E5E5", +"c c #EBEBEB", +"d c #E3E3E3", +"e c #ECECEC", +"f c #9C9DA5", +"g c #C4C5C9", +"h c #C1C1C1", +"i c #CECECE", +"j c #E2E2E2", +"k c #E8E8E8", +"l c #D8D8D8", +"m c #E4E4E3", +"n c #DBDBDB", +"o c #F2F2F2", +"p c #DDDDDD", +"q c #D4D4D4", +"r c #A2A4AA", +"s c #C9CACC", +"t c #C4C4C4", +"u c #CFCFCF", +"v c #E4E4E4", +"w c #DBDAD9", +"x c #727789", +"y c #DFDEDD", +"z c #C8C8C8", +"A c #BCBCBC", +"B c #BFBFBF", +"C c #9E9FA4", +"D c #C6C7C9", +"E c #E2E2E1", +"F c #999CA6", +"G c #C5C5C4", +"H c #D3D3D3", +"I c #C7C7C7", +"J c #BBBBBB", +"K c #BABABA", +"L c #C4C4C3", +"M c #95969A", +"N c #C4C5C6", +"O c #D8D8D7", +"P c #CACACA", +"Q c #C6C6C6", +"R c #B9B9B9", +"S c #CCCCCB", +"T c #939395", +"U c #A0A2A7", +"V c #E5E5E4", +"W c #FEFEFE", +"X c #C5C5C5", +"Y c #C2C2C2", +"Z c #B8B8B8", +"` c #BCBBBA", +" . c #A3A6AD", +".. c #9B9C9F", +"+. c #F0F0F0", +"@. c #C0C0C0", +"#. c #7C7E84", +"$. c #EAEAEA", +"%. c #979798", +"&. c #989BA2", +"*. c #E9E9E9", +"=. c #959596", +"-. c #A6A8AD", +";. c #B7B7B5", +">. c #B4B4B3", +",. c #8B8D92", +"'. c #9B9DA0", +"). c #B6B6B7", +"!. c #B0B0B1", +"~. c #929396", +" . + @ # $ ", +" % & * = = = - ; > , ", +" ' ) ! ~ ~ ~ { ] * = ) ^ ", +" / ( _ : ! ] ! < ! ] ) ) = [ ", +" } | 1 2 { ] ! : 3 - - 3 4 5 ", +" 6 7 8 9 0 ] a b ) = : c d e f ", +"g h i 1 j k 6 l m n o 0 p q 2 r ", +"s t u n v _ w x y p 8 z A B C ", +"D 8 l 2 k d E F ^ G H I J K L M ", +"N v j k e = _ O 6 P Q A R K S T ", +"U V k c ; W 3 > ! 6 X Y R Z ` .", +" ..+.; : : > : : : X X h @.#. ", +" 1 = : > : : : : $.X I %. ", +" &.Q a > : : +.v *.< =. ", +" -.;.P j k p >.,. ", +" '.).!.~. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/empty.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/empty.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,20 @@ +/* XPM */ +static const char * const empty_xpm[] = { +"16 16 1 1", +" c None", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/empty1px.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/empty1px.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,5 @@ +/* XPM */ +static const char * const empty1px_xpm[] = { +"1 1 1 1", +" c None", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/eq.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/eq.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,35 @@ +/* XPM */ +static const char * const eq_xpm[] = { +"16 16 16 1", +" c None", +". c #000000", +"+ c #FE3700", +"@ c #FE8200", +"# c #FEB900", +"$ c #FFBA00", +"% c #FEF100", +"& c #FFF100", +"* c #E8FE00", +"= c #E9FF00", +"- c #95FE00", +"; c #96FF00", +"> c #48FE00", +", c #49FF00", +"' c #23FF00", +") c #24FF00", +" .............. ", +"................", +".....++.........", +".....@@.@@@.....", +".....@@.@@@.....", +".##$.##.###.....", +".###.##.###.....", +".%%&.%%.%%%.....", +".**=.**.***.**=.", +".***.**.***.***.", +".--;.--.---.--;.", +".---.--.---.---.", +".>>,.>>.>>>.>>,.", +".'').''.'''.'').", +".'''.''.'''.'''.", +"................"}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/error.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/error.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,544 @@ +/* XPM */ +static const char * const error_xpm[] = { +"48 47 494 2", +" c None", +". c #A56152", +"+ c #8B5447", +"@ c #7D4C41", +"# c #77493F", +"$ c #74473E", +"% c #73443A", +"& c #714238", +"* c #704137", +"= c #723F35", +"- c #753D32", +"; c #793D31", +"> c #8D5A4D", +", c #734E45", +"' c #724C43", +") c #915E52", +"! c #AF6B5B", +"~ c #C97765", +"{ c #DD826F", +"] c #E37E6A", +"^ c #DE7A66", +"/ c #D07361", +"( c #B76353", +"_ c #995244", +": c #794035", +"< c #64332A", +"[ c #643026", +"} c #8F5D51", +"| c #6E4D45", +"1 c #865C51", +"2 c #C07D6C", +"3 c #E98A75", +"4 c #E57259", +"5 c #E05C3F", +"6 c #DD4D2E", +"7 c #D94123", +"8 c #D73B1B", +"9 c #D5391A", +"0 c #D4391A", +"a c #D43C1F", +"b c #D44227", +"c c #D54B31", +"d c #C74D38", +"e c #914031", +"f c #672B21", +"g c #592219", +"h c #A7695A", +"i c #6F5048", +"j c #7E564C", +"k c #C5806F", +"l c #EA866E", +"m c #E25D3E", +"n c #DC411F", +"o c #DB3E1C", +"p c #D93D1B", +"q c #D83B1B", +"r c #D73A1A", +"s c #D43719", +"t c #D23618", +"u c #D13518", +"v c #D03317", +"w c #CE3217", +"x c #CD3116", +"y c #CB3015", +"z c #C3361F", +"A c #8A2A1C", +"B c #581C12", +"C c #551911", +"D c #9B6559", +"E c #6B4D46", +"F c #A67367", +"G c #E98A74", +"H c #E35D3D", +"I c #DD411D", +"J c #DC3F1C", +"K c #D63A1A", +"L c #D53919", +"M c #CE3216", +"N c #CB2F15", +"O c #CA2E15", +"P c #C92D14", +"Q c #C72B13", +"R c #B22914", +"S c #65190D", +"T c #4E130A", +"U c #98655A", +"V c #6B4E47", +"W c #BD8375", +"X c #E7765B", +"Y c #DF441F", +"Z c #DD401D", +"` c #D93C1B", +" . c #CF3317", +".. c #C82D14", +"+. c #C62A13", +"@. c #C42912", +"#. c #B82411", +"$. c #70160A", +"%. c #480E07", +"&. c #9B685C", +"*. c #6B4F47", +"=. c #C48A7C", +"-. c #E56547", +";. c #DF421D", +">. c #DA3E1C", +",. c #D53819", +"'. c #D33719", +"). c #D13418", +"!. c #CC3116", +"~. c #C32712", +"{. c #C12611", +"]. c #B6230F", +"^. c #731509", +"/. c #460C05", +"(. c #A86E60", +"_. c #6C504A", +":. c #BE8578", +"<. c #CC3016", +"[. c #C82C14", +"}. c #C52A13", +"|. c #C02510", +"1. c #BE2310", +"2. c #B2200E", +"3. c #6A1208", +"4. c #440B05", +"5. c #725952", +"6. c #A87B70", +"7. c #E66C50", +"8. c #DE411D", +"9. c #DA3D1C", +"0. c #D73B1A", +"a. c #D6391A", +"b. c #D03417", +"c. c #C92E14", +"d. c #C42812", +"e. c #C22711", +"f. c #C02410", +"g. c #BD220F", +"h. c #BC210E", +"i. c #A81C0C", +"j. c #570E06", +"k. c #93695F", +"l. c #806059", +"m. c #E77F67", +"n. c #DB3F1C", +"o. c #D43819", +"p. c #D23518", +"q. c #CE3116", +"r. c #BB200E", +"s. c #BA1F0E", +"t. c #B91E0D", +"u. c #94160A", +"v. c #430904", +"w. c #6F5853", +"x. c #C78677", +"y. c #DE4320", +"z. c #C62B13", +"A. c #C52913", +"B. c #BF2410", +"C. c #B81E0D", +"D. c #B71C0D", +"E. c #AE190B", +"F. c #6A0F06", +"G. c #896A63", +"H. c #E4684B", +"I. c #DA3D1B", +"J. c #D83C1B", +"K. c #CA2F15", +"L. c #C12511", +"M. c #BD210F", +"N. c #B61B0C", +"O. c #B41A0B", +"P. c #961409", +"Q. c #440803", +"R. c #765F59", +"S. c #C18173", +"T. c #DC401D", +"U. c #D33618", +"V. c #CF3217", +"W. c #CC3015", +"X. c #C52912", +"Y. c #C32812", +"Z. c #BE230F", +"`. c #BC210F", +" + c #B81D0D", +".+ c #B71C0C", +"++ c #B51B0C", +"@+ c #B4190B", +"#+ c #B3180B", +"$+ c #A71509", +"%+ c #620C05", +"&+ c #AC7063", +"*+ c #755D58", +"=+ c #E26B51", +"-+ c #C72C14", +";+ c #C02511", +">+ c #B91F0E", +",+ c #B1170A", +"'+ c #B01509", +")+ c #850F06", +"!+ c #360602", +"~+ c #91665C", +"{+ c #94716A", +"]+ c #DB4120", +"^+ c #CB3618", +"/+ c #B93015", +"(+ c #BF3115", +"_+ c #BE3015", +":+ c #BE2F15", +"<+ c #BC2D15", +"[+ c #BB2C14", +"}+ c #BA2B13", +"|+ c #B82A13", +"1+ c #B72912", +"2+ c #B52812", +"3+ c #B42611", +"4+ c #B42510", +"5+ c #B22410", +"6+ c #B1220F", +"7+ c #AF210F", +"8+ c #AE200E", +"9+ c #AD1F0D", +"0+ c #AB1E0D", +"a+ c #AA1D0C", +"b+ c #A91B0C", +"c+ c #A81A0B", +"d+ c #A7190A", +"e+ c #A92013", +"f+ c #AF180A", +"g+ c #B2180B", +"h+ c #AE1409", +"i+ c #930F06", +"j+ c #430602", +"k+ c #83615A", +"l+ c #AF6E5F", +"m+ c #C13216", +"n+ c #C1C1C1", +"o+ c #E7E7E7", +"p+ c #E6E6E6", +"q+ c #E5E5E5", +"r+ c #E4E4E4", +"s+ c #E3E3E3", +"t+ c #E2E2E2", +"u+ c #E1E1E1", +"v+ c #E0E0E0", +"w+ c #DFDFDF", +"x+ c #DEDEDE", +"y+ c #DDDDDD", +"z+ c #DCDCDC", +"A+ c #DBDBDB", +"B+ c #B12318", +"C+ c #B1160A", +"D+ c #AF1509", +"E+ c #AD1308", +"F+ c #9C0E06", +"G+ c #540703", +"H+ c #7B5E57", +"I+ c #C4634E", +"J+ c #CB3417", +"K+ c #FBFBFB", +"L+ c #FAFAFA", +"M+ c #F9F9F9", +"N+ c #F8F8F8", +"O+ c #F7F7F7", +"P+ c #F6F6F6", +"Q+ c #F5F5F5", +"R+ c #F4F4F4", +"S+ c #F3F3F3", +"T+ c #F2F2F2", +"U+ c #F1F1F1", +"V+ c #F0F0F0", +"W+ c #EFEFEF", +"X+ c #C34E45", +"Y+ c #AD1208", +"Z+ c #AB1108", +"`+ c #A20E05", +" @ c #630703", +".@ c #775A54", +"+@ c #D2533A", +"@@ c #CA3317", +"#@ c #DADADA", +"$@ c #EEEEEE", +"%@ c #EDEDED", +"&@ c #C65A52", +"*@ c #AC1208", +"=@ c #AB1107", +"-@ c #AA1007", +";@ c #A20D05", +">@ c #6E0803", +",@ c #785C56", +"'@ c #D64628", +")@ c #C83116", +"!@ c #D8D8D8", +"~@ c #ECECEC", +"{@ c #EBEBEB", +"]@ c #C65B54", +"^@ c #A80E06", +"/@ c #9F0C05", +"(@ c #720802", +"_@ c #765851", +":@ c #CF391C", +"<@ c #C73015", +"[@ c #EAEAEA", +"}@ c #C45851", +"|@ c #A90F07", +"1@ c #A50C05", +"2@ c #970B04", +"3@ c #6A0602", +"4@ c #74514A", +"5@ c #C52E15", +"6@ c #D6D6D6", +"7@ c #E9E9E9", +"8@ c #C3574F", +"9@ c #A70D06", +"0@ c #A00A04", +"a@ c #8F0702", +"b@ c #5A0401", +"c@ c #764F47", +"d@ c #AA2D15", +"e@ c #C83921", +"f@ c #BA403A", +"g@ c #A60D05", +"h@ c #A50B05", +"i@ c #9A0903", +"j@ c #830602", +"k@ c #480200", +"l@ c #7A4A41", +"m@ c #8F2A18", +"n@ c #CB351D", +"o@ c #D0523F", +"p@ c #D66857", +"q@ c #DB7A6C", +"r@ c #D9786A", +"s@ c #D87769", +"t@ c #D87669", +"u@ c #D67569", +"v@ c #D6766A", +"w@ c #D47165", +"x@ c #D16B5F", +"y@ c #D16A5F", +"z@ c #CF695E", +"A@ c #CF685E", +"B@ c #CE675D", +"C@ c #CD675D", +"D@ c #CC655D", +"E@ c #CB645B", +"F@ c #C85E55", +"G@ c #C75B54", +"H@ c #C55A52", +"I@ c #C3554E", +"J@ c #C1514B", +"K@ c #B73831", +"L@ c #A80F07", +"M@ c #A60C05", +"N@ c #A30A04", +"O@ c #900803", +"P@ c #790401", +"Q@ c #360100", +"R@ c #7E473D", +"S@ c #73281B", +"T@ c #B0160A", +"U@ c #AF1409", +"V@ c #A10703", +"W@ c #850502", +"X@ c #6C0300", +"Y@ c #230000", +"Z@ c #60281E", +"`@ c #BE2C13", +" # c #A90F06", +".# c #A70E06", +"+# c #A20804", +"@# c #940602", +"## c #800300", +"$# c #560100", +"%# c #643128", +"&# c #881F0E", +"*# c #C22611", +"=# c #A20803", +"-# c #A00703", +";# c #870501", +"># c #740200", +",# c #300000", +"'# c #60160A", +")# c #BE2A13", +"!# c #BE220F", +"~# c #B91E0E", +"{# c #B51A0C", +"]# c #A40B05", +"^# c #A30904", +"/# c #940401", +"(# c #800200", +"_# c #610100", +":# c #160000", +"<# c #571F16", +"[# c #841C0C", +"}# c #B61C0C", +"|# c #A80F06", +"1# c #A10803", +"2# c #9E0401", +"3# c #840301", +"4# c #760100", +"5# c #2F0000", +"6# c #541107", +"7# c #AF2310", +"8# c #BF2310", +"9# c #BA200E", +"0# c #B3190B", +"a# c #B2180A", +"b# c #A40A04", +"c# c #9F0502", +"d# c #8B0301", +"e# c #7E0100", +"f# c #540000", +"g# c #551B13", +"h# c #631308", +"i# c #B5220F", +"j# c #A00603", +"k# c #9E0502", +"l# c #900300", +"m# c #7E0000", +"n# c #630000", +"o# c #1D0000", +"p# c #4A0E06", +"q# c #6F1409", +"r# c #B4200E", +"s# c #B71D0D", +"t# c #B2170A", +"u# c #AE1309", +"v# c #A91007", +"w# c #7D0000", +"x# c #670000", +"y# c #260000", +"z# c #470C05", +"A# c #711308", +"B# c #AF1D0D", +"C# c #A20904", +"D# c #8D0300", +"E# c #7B0000", +"F# c #650000", +"G# c #290000", +"H# c #450B05", +"I# c #691107", +"J# c #A5190B", +"K# c #9F0602", +"L# c #9C0401", +"M# c #860200", +"N# c #770000", +"O# c #5D0000", +"P# c #250000", +"Q# c #410904", +"R# c #560C05", +"S# c #921508", +"T# c #AB170A", +"U# c #AB1007", +"V# c #8F0401", +"W# c #7C0100", +"X# c #6B0000", +"Y# c #4D0000", +"Z# c #1C0000", +"`# c #400803", +" $ c #680D05", +".$ c #931208", +"+$ c #A61208", +"@$ c #8F0501", +"#$ c #7D0300", +"$$ c #6A0100", +"%$ c #580000", +"&$ c #2C0000", +"*$ c #0D0000", +"=$ c #3E0602", +"-$ c #5A0903", +";$ c #7E0D05", +">$ c #8E0C05", +",$ c #990C05", +"'$ c #A40B04", +")$ c #980903", +"!$ c #8D0602", +"~$ c #7E0401", +"{$ c #6A0300", +"]$ c #620200", +"^$ c #4F0000", +"/$ c #2D0000", +"($ c #150000", +"_$ c #310401", +":$ c #3A0401", +"<$ c #430502", +"[$ c #4E0401", +"}$ c #570402", +"|$ c #5A0502", +"1$ c #560300", +"2$ c #4D0200", +"3$ c #400200", +"4$ c #1F0000", +"5$ c #030000", +" ", +" ", +" ", +" ", +" . + @ # $ % & * = - ; ", +" > , ' ) ! ~ { ] ^ / ( _ : < [ ", +" } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g ", +" h i j k l m n o p q r 9 s t u v w x y z A B C ", +" D E F G H I J o p q K L s t u v M x N O P Q R S T ", +" U V W X Y Z J o ` q K L s t u .M x N O ..Q +.@.#.$.%. ", +" &.*.=.-.;.Z J >.` q K ,.'.t ). .M !.N O ..Q +.@.~.{.].^./. ", +" (._.:.-.;.Z J >.` q K ,.'.t ). .M <.N O [.Q }.@.~.{.|.1.2.3.4. ", +" 5.6.7.8.Z J 9.` 0.a.,.'.t b. .M <.N c.[.Q }.d.e.{.f.1.g.h.i.j. ", +" k.l.m.8.Z n.9.` 0.a.o.'.p.b. .q.<.N c.[.Q }.d.e.{.f.1.g.r.s.t.u.v. ", +" w.x.y.Z n.9.` 0.a.o.'.p.b. .x <.N P [.z.A.d.e.{.B.1.g.r.s.C.D.E.F. ", +" k.G.H.Z o I.J.r a.o.'.u b. .x <.K.P [.z.A.d.e.L.B.1.M.r.s.C.D.N.O.P.Q. ", +" R.S.T.o I.J.r a.o.U.u b.V.x W.K.P [.z.X.Y.e.L.B.Z.`.r.s. +.+++@+#+$+%+ ", +" &+*+=+o I.J.r 9 o.U.u b.w x W.O P -++.X.Y.e.;+B.Z.`.r.>+ +.+++@+#+,+'+)+!+ ", +" ~+{+]+p q r ^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+,+'+h+i+j+ ", +" k+l+p q r L m+n+o+p+q+q+r+r+s+t+t+u+u+v+w+w+x+x+x+y+y+z+A+r+B+C+D+h+E+F+G+ ", +" H+I+q K L s J+z+K+L+L+M+M+N+O+O+P+Q+Q+R+R+S+T+T+U+U+V+W+W+Q+X+D+h+Y+Z+`+ @ ", +" .@+@K ,.s t @@#@M+M+N+O+O+P+P+Q+R+R+S+S+T+U+U+V+W+W+$@$@%@R+&@h+*@=@-@;@>@ ", +" ,@'@,.'.t ).)@!@N+O+P+P+Q+Q+R+S+S+T+U+U+V+V+W+$@$@%@%@~@{@S+]@*@=@-@^@/@(@ ", +" _@:@'.t b. .<@!@P+Q+Q+R+S+S+T+T+U+V+V+W+W+$@%@%@~@{@{@[@[@S+}@=@|@^@1@2@3@ ", +" 4@m+p.b. .M 5@6@R+R+S+T+T+U+U+V+W+W+$@%@%@~@~@{@[@[@7@7@7@S+8@|@^@9@0@a@b@ ", +" c@d@b. .x <.e@t+R+R+R+R+R+R+R+Q+Q+R+S+S+T+T+U+U+U+U+T+T+U+U+f@^@g@h@i@j@k@ ", +" l@m@ .x <.N n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@h@N@O@P@Q@ ", +" R@S@x W.K.P [.z.A.Y.e.L.B.1.`.r.s. +D.++O.#+,+T@U@E+*@-@|@^@M@h@N@V@W@X@Y@ ", +" Z@`@O P [.z.X.Y.e.L.B.Z.`.r.s. +.+++@+#+,+'+h+E+*@-@ #.#M@h@N@+#@###$# ", +" %#&#P -++.X.Y.*#;+B.Z.`.r.>+ +.+++@+g+,+'+h+E+Z+-@ #9@M@h@N@=#-#;#>#,# ", +" '#)#+.@.Y.*#;+B.!#`.r.~# +.+{#@+g+,+'+h+E+Z+-@ #9@M@]#^#=#-#/#(#_#:# ", +" <#[#@.Y.*#;+B.g.`.r.~# +}#{#@+g+C+D+h+Y+Z+-@|#9@M@]#^#1#-#2#3#4#5# ", +" 6#7#{.|.8#g.`.9#t. +}#{#0#a#C+D+h+Y+=@-@^@9@M@b#^#1#-#c#d#e#f# ", +" g#h#i#8#g.`.s.t. +N.{#0#a#C+D+h+*@=@-@^@9@1@b#^#1#j#k#l#m#n#o# ", +" p#q#r#`.s.t.s#N.{#0#t#T@D+u#*@=@v#^@9@1@b#^#1#j#k#l#w#x#y# ", +" z#A#B#t.s#N.{#0#t#T@D+u#*@=@|@^@9@h@b#C#1#j#k#D#E#F#G# ", +" H#I#J#N.O.#+t#T@D+E+*@=@|@^@g@h@b#C#V@K#L#M#N#O#P# ", +" Q#R#S#T#,+T@U@E+*@U#|@^@g@h@b#C#V@K#V#W#X#Y#Z# ", +" `# $.$+$E+*@-@|@^@M@h@N@+#K#@$#$$$%$&$*$ ", +" =$-$;$>$,$;@'$0@)$!$~${$]$^$/$($ ", +" _$:$<$[$}$|$1$2$3$,#4$5$ ", +" ", +" ", +" ", +" ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/exit.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/exit.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,82 @@ +/* XPM */ +static const char * const exit_xpm[] = { +"16 16 63 1", +" c None", +". c #000000", +"+ c #E2E2E0", +"@ c #D3D3D0", +"# c #C0C0BD", +"$ c #ADADAB", +"% c #929291", +"& c #B7B7B5", +"* c #9A9A98", +"= c #E46245", +"- c #DEDEDC", +"; c #C1C1BE", +"> c #B9B9B7", +", c #9C9C9B", +"' c #060806", +") c #070907", +"! c #E7755B", +"~ c #B3533E", +"{ c #D0D0CD", +"] c #0E110C", +"^ c #0F120D", +"/ c #DF421E", +"( c #B14D36", +"_ c #BDBDBB", +": c #A4A4A2", +"< c #161C14", +"[ c #191F16", +"} c #B0160A", +"| c #B11B10", +"1 c #993929", +"2 c #797977", +"3 c #5B5B5A", +"4 c #1D251B", +"5 c #20281D", +"6 c #990000", +"7 c #880000", +"8 c #AA3F2C", +"9 c #6C6C6A", +"0 c #273124", +"a c #2A3526", +"b c #C83E2B", +"c c #A1100B", +"d c #A3140E", +"e c #2B3727", +"f c #313D2C", +"g c #D4D4D1", +"h c #354331", +"i c #B4B4B2", +"j c #8D8D8B", +"k c #2D3A29", +"l c #3B4A35", +"m c #E0E0DE", +"n c #C9C9C7", +"o c #939491", +"p c #51544F", +"q c #34412F", +"r c #42543D", +"s c #495D43", +"t c #5C6059", +"u c #495C42", +"v c #4F6448", +"w c #53684B", +"x c #546A4D", +" ", +" .......... ", +" .+@#$%.... ", +" ...+@#&*.... ", +" .=.-@;>,.'). ", +"....!~.{;>,.]^. ", +".====/(._:,.<[. ", +".=}}}}|1.23.45. ", +".=666678.9,.0a. ", +".bcd778.;>,.ef. ", +"....78.g;>,.ah. ", +" .8.+g;ij.kl. ", +" ...mnop.qrs. ", +" .&t.luvwx. ", +" .......... ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/file.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/file.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,26 @@ +/* XPM */ +static const char * const file_xpm[] = { +"16 16 7 1", +" c None", +". c #9A9A9A", +"+ c #000000", +"@ c #FFFFFF", +"# c #010101", +"$ c #FEFEFE", +"% c #9B9B9B", +" ", +"................", +"++++++++++++++++", +"@++@++@++@++@++@", +"++++#+++++++++++", +"@@@+@@@$@@@@+@@@", +"@@@+@@@@@@@@+@@@", +"@@@+@@@@@@@@+@@@", +"@@@+@@@@@@@@+@@@", +"@@@+@$@@@@@@+@@@", +"@@@+@@@$@@@@+@@@", +"+++++++++++++++#", +"@++@++@++@#+@++@", +"+++++++##++++++#", +"..........%.....", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/file2.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/file2.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,27 @@ +/* XPM */ +static const char * const file2_xpm[] = { +"16 16 8 1", +" c None", +". c #000000", +"+ c #FFFFFF", +"@ c #D5D5D5", +"# c #ABABAB", +"$ c #808080", +"% c #555555", +"& c #2B2B2B", +" ", +" ", +" ... ... ", +" .............. ", +" . .++++++++. . ", +" . .+++++++@. . ", +" ...+++++++@... ", +" . .++++++@#. . ", +" ...+++++@#$... ", +" . .++++@#$%. . ", +" . .++++@#$%. . ", +" ...+++@#$%&... ", +" . .+++@#$%&. . ", +" .............. ", +" ... ... ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/fs.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/fs.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,109 @@ +/* XPM */ +static const char * const fs_xpm[] = { +"16 16 90 1", +" c None", +". c #000000", +"+ c #3D3B3B", +"@ c #808F9B", +"# c #86949F", +"$ c #8C99A4", +"% c #929EA8", +"& c #98A3AC", +"* c #9EA7B0", +"= c #A4ACB4", +"- c #AAB1B8", +"; c #B0B6BC", +"> c #B6BBC0", +", c #BBC0C5", +"' c #B7C4CD", +") c #A7B7C9", +"! c #ACBCCC", +"~ c #B2C0CF", +"{ c #B6C5D2", +"] c #BCC9D5", +"^ c #C1CDD8", +"/ c #C6D2DA", +"( c #CDD6DD", +"_ c #BCC1C5", +": c #B4C0CB", +"< c #9DB0C4", +"[ c #CED6DE", +"} c #D2DAE1", +"| c #B7BCC2", +"1 c #AFBDC8", +"2 c #99ACC1", +"3 c #B2C1D2", +"4 c #90A6BE", +"5 c #95AAC1", +"6 c #9AAEC3", +"7 c #8493A4", +"8 c #8696A8", +"9 c #C9D3DC", +"0 c #CFD7DF", +"a c #B1B8BD", +"b c #ACB9C5", +"c c #94A9C0", +"d c #BBC8D7", +"e c #8AA1BA", +"f c #8FA5BD", +"g c #C5D0D9", +"h c #CAD4DC", +"i c #ACB3BA", +"j c #90A6BD", +"k c #B7C5D5", +"l c #859DB7", +"m c #8AA0BA", +"n c #98ACC2", +"o c #C0CCD7", +"p c #C6D0DA", +"q c #A6AFB6", +"r c #8CA3BB", +"s c #B2C1D1", +"t c #7F98B4", +"u c #849CB7", +"v c #93A8BF", +"w c #C2CDD8", +"x c #A1ABB2", +"y c #889FB9", +"z c #D9E0E7", +"A c #B1C0D1", +"B c #B4C3D3", +"C c #B7C5D4", +"D c #BCC9D7", +"E c #B3C2D2", +"F c #B8C6D2", +"G c #BDCAD5", +"H c #9BA5AF", +"I c #839BB6", +"J c #B3C2D0", +"K c #B9C6D2", +"L c #96A1AB", +"M c #8AA1B9", +"N c #8FA5BC", +"O c #94AABF", +"P c #9AADC2", +"Q c #9FB1C5", +"R c #A4B5C9", +"S c #A9BACB", +"T c #919DA7", +"U c #AAB8C4", +"V c #AEBCC7", +"W c #B3BFCA", +"X c #B7C2CD", +"Y c #C3CDD6", +" ", +"................", +".+@@#$%&*=-;>,+.", +".'++)!~{]^/(++_.", +".:<<........[}|.", +".122.345678.90a.", +".bcc.defef8.ghi.", +".bjj.klmlmn.opq.", +".3rr.stutuv.]wx.", +".dyy.zABCDE.FGH.", +".kII........JKL.", +".s++uMNOPQRS++T.", +".+AABCDEUUVWXY+.", +"................", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/half.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/half.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,144 @@ +/* XPM */ +static const char * const half_xpm[] = { +"16 16 125 2", +" c None", +". c #000000", +"+ c #92A0AC", +"@ c #808F9B", +"# c #86949F", +"$ c #8C99A4", +"% c #929EA8", +"& c #98A3AC", +"* c #9EA7B0", +"= c #A4ACB4", +"- c #AAB1B8", +"; c #B0B6BC", +"> c #B6BBC0", +", c #BBC0C5", +"' c #909192", +") c #B7C4CD", +"! c #91A3B3", +"~ c #98A9B8", +"{ c #9FAFBD", +"] c #A6B5C1", +"^ c #ADBAC6", +"/ c #B4C0CB", +"( c #BAC6D0", +"_ c #C1CCD4", +": c #C8D1D9", +"< c #CFD7DE", +"[ c #D7DEE3", +"} c #BCC1C5", +"| c #8B9EAF", +"1 c #92A4B3", +"2 c #A6B5C2", +"3 c #ADBBC6", +"4 c #BBC6D0", +"5 c #C2CCD5", +"6 c #C9D2D9", +"7 c #D1D8DF", +"8 c #B7BCC2", +"9 c #AFBDC8", +"0 c #8499AA", +"a c #92A4B4", +"b c #99AAB9", +"c c #A0B0BD", +"d c #A7B5C2", +"e c #AEBBC7", +"f c #B5C1CC", +"g c #BBC7D0", +"h c #CAD3DA", +"i c #B1B8BD", +"j c #ACB9C5", +"k c #7E93A6", +"l c #8599AB", +"m c #8C9FAF", +"n c #93A5B4", +"o c #A0B0BE", +"p c #9AAEC3", +"q c #8493A4", +"r c #BCC7D1", +"s c #C4CED6", +"t c #ACB3BA", +"u c #A8B6C3", +"v c #778EA1", +"w c #7E94A6", +"x c #8C9FB0", +"y c #9AABB9", +"z c #78899B", +"A c #8696A8", +"B c #B6C2CC", +"C c #BDC8D2", +"D c #A6AFB6", +"E c #A4B3C0", +"F c #71899D", +"G c #788EA2", +"H c #7F94A7", +"I c #869AAB", +"J c #8DA0B0", +"K c #7A8996", +"L c #7D8EA3", +"M c #98ACC2", +"N c #AFBCC8", +"O c #B7C3CD", +"P c #A1ABB2", +"Q c #5E7990", +"R c #657E95", +"S c #6C8499", +"T c #728A9E", +"U c #627584", +"V c #7A8C9B", +"W c #8EA1B1", +"X c #95A7B6", +"Y c #9CACBB", +"Z c #B1BEC9", +"` c #9BA5AF", +" . c #6A7D8E", +".. c #8196A8", +"+. c #889BAD", +"@. c #8FA1B1", +"#. c #AAB8C4", +"$. c #96A1AB", +"%. c #B2C1D2", +"&. c #90A6BE", +"*. c #95AAC1", +"=. c #738B9F", +"-. c #7A90A3", +";. c #889CAD", +">. c #8FA2B2", +",. c #919DA7", +"'. c #BBC8D7", +"). c #8AA1BA", +"!. c #A6B4C1", +"~. c #AEBCC7", +"{. c #B3BFCA", +"]. c #B7C2CD", +"^. c #C3CDD6", +"/. c #A7AFB7", +"(. c #B7C5D5", +"_. c #859DB7", +":. c #B2C1D1", +"<. c #7F98B4", +"[. c #93A8BF", +"}. c #D9E0E7", +"|. c #B1C0D1", +"1. c #B4C3D3", +"2. c #B7C5D4", +"3. c #BCC9D7", +"4. c #B3C2D2", +" . . . . . . . . . . . . . . . ", +" . + @ # $ % & * = - ; > , ' . ", +" . ) ! ~ { ] ^ / ( _ : < [ } . ", +" . / | 1 ~ { 2 3 / 4 5 6 7 8 . ", +" . 9 0 | a b c d e f g 5 h i . ", +" . j k l m n b o p q . r s t . ", +" . u v w l x n y z . A B C D . ", +" . E F G H I J K . L M N O P . ", +" . ~ Q R S T U . V W X Y Z ` . ", +". . . . . . . . ...+.@.X #.$.. ", +". %.&.*.p q . . =.-...;.>.E ,.. ", +". '.).. z . A . !.#.~.{.].^./.. ", +". (._.. . L M . . . . . . . . . ", +". :.<.. . . [.. ", +". }.|.1.2.3.4.. ", +". . . . . . . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/loadeaf.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/loadeaf.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,151 @@ +/* XPM */ +static const char * const loadeaf_xpm[] = { +"16 16 132 2", +" c None", +". c #5C5C5C", +"+ c #656565", +"@ c #6A6A6A", +"# c #6A6A69", +"$ c #6D6D6D", +"% c #848484", +"& c #818181", +"* c #F9F9F9", +"= c #FEFEFE", +"- c #FFFFFF", +"; c #FBFBFB", +"> c #F4F4F4", +", c #D2D2D1", +"' c #E2E2E2", +") c #B3B3B3", +"! c #888888", +"~ c #F8F8F8", +"{ c #DCDCDC", +"] c #F5F5F5", +"^ c #FDFDFD", +"/ c #FCFCFC", +"( c #FBFBFA", +"_ c #F4F4F3", +": c #AFAFAE", +"< c #707070", +"[ c #5E5E5E", +"} c #898989", +"| c #E7E7E7", +"1 c #B1B1B1", +"2 c #ECECEC", +"3 c #F5F5F4", +"4 c #EFEFEE", +"5 c #EEEEED", +"6 c #EBEBEB", +"7 c #CDCCCC", +"8 c #9E9C9B", +"9 c #7D7B7A", +"0 c #484745", +"a c #FCFCFB", +"b c #D3D3D2", +"c c #ECECEB", +"d c #DADAD9", +"e c #BCBCBB", +"f c #BCBBBA", +"g c #BAB9B8", +"h c #C6C5C3", +"i c #B8B6B3", +"j c #504E4A", +"k c #FAFAF9", +"l c #EDEDEC", +"m c #F3F2F1", +"n c #E9E9E8", +"o c #DFDFDE", +"p c #E0DFDE", +"q c #DFDFDD", +"r c #DFDEDD", +"s c #EBEBE9", +"t c #E9E8E6", +"u c #CDCAC6", +"v c #595651", +"w c #F7F7F6", +"x c #F4F4F2", +"y c #F4F3F2", +"z c #F1F1EF", +"A c #F0EFED", +"B c #F0F0EE", +"C c #EAEAE7", +"D c #D4D1CC", +"E c #625F5A", +"F c #F1F0EF", +"G c #E1E1DF", +"H c #EFEEEC", +"I c #EEEDEB", +"J c #EAE9E6", +"K c #BEBDBB", +"L c #B9B9B6", +"M c #CCCAC5", +"N c #625F59", +"O c #B3B2B0", +"P c #E4E3E1", +"Q c #DBDAD8", +"R c #DAD9D7", +"S c #D9D8D6", +"T c #DEDDDA", +"U c #171717", +"V c #A6A49F", +"W c #615F59", +"X c #878787", +"Y c #DDDDDC", +"Z c #9F9E9D", +"` c #000000", +" . c #C5C4C2", +".. c #C4C3C0", +"+. c #D1D0CD", +"@. c #8A8A88", +"#. c #B7B5B0", +"$. c #605D57", +"%. c #E3E3E0", +"&. c #C1BFBC", +"*. c #CDCAC5", +"=. c #615D57", +"-. c #808080", +";. c #E2E1DD", +">. c #DFDEDA", +",. c #DEDDD9", +"'. c #D5D4D1", +"). c #C5C3BF", +"!. c #CBC8C2", +"~. c #5F5C56", +"{. c #CFCCC6", +"]. c #CECCC5", +"^. c #CECCC6", +"/. c #CECBC5", +"(. c #CCC9C3", +"_. c #ADABA6", +":. c #8F8D88", +"<. c #A6A49E", +"[. c #C4C0BA", +"}. c #B9B6AE", +"|. c #55534C", +"1. c #4F4E4D", +"2. c #4D4B47", +"3. c #4E4C47", +"4. c #4E4C46", +"5. c #4D4B46", +"6. c #4D4A46", +"7. c #4D4A45", +"8. c #4C4A45", +"9. c #4B4944", +"0. c #45433E", +"a. c #3C3B38", +" . + @ @ @ @ @ # $ @ % ", +" & * = - = = = ; > , ' ) ", +" ! ~ { ] ^ / / ( _ : < [ ", +" } | 1 2 3 4 4 5 6 7 8 9 0 ", +" } a b c d e e f g e h i j ", +" ! k l m n o p q r s t u v ", +" ! w x y z z z A B z C D E ", +" ! F r G H H H I J K L M N ", +" ! p : O P Q R S T U U V W ", +" X Y Z ` Z . ...+.U @.#.$.", +" X Z ` Z B B %.U U U &.*.=.", +" -.` Z ;.>.,.'.U U U ).!.~.", +"` ` Z {.].^./.(._.:.<.[.}.|.", +"` ` ` 1.2.3.4.4.2.5.6.7.8.9.0.a.", +"` ` ` ", +"` ` ` ` "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/mplayer.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/mplayer.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,186 @@ +/* XPM */ +static const char * const mplayer_xpm[] = { +/* columns rows colors chars-per-pixel */ +"48 48 132 2", +" c #000000", +". c #0C0C0C", +"X c #121212", +"o c #1A1A1A", +"O c #242424", +"+ c #2D2D2D", +"@ c #333333", +"# c #3B3B3B", +"$ c #2E2374", +"% c #2E2F7E", +"& c #322374", +"* c #362877", +"= c #372978", +"- c #3A2C79", +"; c #3F317D", +": c #40327D", +"> c #444444", +", c #4A4A4A", +"< c #515151", +"1 c #5C5C5C", +"2 c #626262", +"3 c #6B6B6B", +"4 c #737373", +"5 c #7B7B7B", +"6 c #433580", +"7 c #453881", +"8 c #4A3D85", +"9 c #4D4087", +"0 c #4F4288", +"q c #504489", +"w c #55498C", +"e c #5A4E8F", +"r c #5B4F90", +"t c #5D5291", +"y c #615594", +"u c #655A97", +"i c #665B98", +"p c #6A5F9A", +"a c #6C619B", +"s c #70669E", +"d c #72689F", +"f c #6D72A8", +"g c #7369A0", +"h c #786EA3", +"j c #7B71A5", +"k c #7E75A8", +"l c #08A7E6", +"z c #0AA8E6", +"x c #13ABE7", +"c c #1DAEE8", +"v c #23B1E9", +"b c #2AB3E9", +"n c #31B6EA", +"m c #3EBAEB", +"M c #4BBFED", +"N c #4DC0ED", +"B c #5AC4EE", +"V c #69C9F0", +"C c #75CEF1", +"Z c #79CFF1", +"A c #7ED1F2", +"S c #8076A9", +"D c #847BAB", +"F c #887FAE", +"G c #838383", +"H c #8A8A8A", +"J c #929292", +"K c #9B9B9B", +"L c #8780AF", +"P c #8980AF", +"I c #8C84B1", +"U c #938BB6", +"Y c #968EB8", +"T c #9A93BB", +"R c #9F98BE", +"E c #A09ABF", +"W c #A2A2A2", +"Q c #AAAAAA", +"! c #BBBBBB", +"~ c #A49DC1", +"^ c #A7A0C3", +"/ c #AAA4C5", +"( c #AEA8C8", +") c #B2ACCA", +"_ c #B6B0CD", +"` c #B8B3CF", +"' c #BAB5D0", +"] c #BEB9D3", +"[ c #84D3F3", +"{ c #8AD5F3", +"} c #90D7F4", +"| c #95D9F4", +" . c #9CDCF5", +".. c #A5DEF5", +"X. c #ABE1F6", +"o. c #B2E3F7", +"O. c #B4E4F8", +"+. c #BAE6F8", +"@. c #C1BDD5", +"#. c #C3C3C3", +"$. c #CBCBCB", +"%. c #C4C0D7", +"&. c #C6C2D8", +"*. c #CDCADD", +"=. c #D3D3D3", +"-. c #DBDBDB", +";. c #D1CEE0", +":. c #D4D1E2", +">. c #D9D6E5", +",. c #DCDAE7", +"<. c #DDDBE8", +"1. c #C3EAF9", +"2. c #CAEDFA", +"3. c #D2EFFA", +"4. c #D8E3F0", +"5. c #D6F0FB", +"6. c #DBF2FB", +"7. c #E2E2E2", +"8. c #E4E1EC", +"9. c #E8E6EF", +"0. c #ECECEC", +"q. c #E8E7F0", +"w. c #ECEAF2", +"e. c #E6F6FC", +"r. c #E9F7FD", +"t. c #ECF8FD", +"y. c #F4F3F5", +"u. c #F6F5F9", +"i. c #F3FBFD", +"p. c #F8F7FA", +"a. c #FEFEFE", +"s. c None", +/* pixels */ +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.u U ( ~ ~ ` ( / / ~ R T Y I u * & & s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.I ^ ] ' ` @.` ) ( / ^ R T U F j s u e 0 8 : - - * & & & & s.s.s.", +"s.s.s.s.s.a.;.' ;.*.&.*.@.] ' ( ( ^ R Y P k d i t w 8 7 : - = * & * * * * * * * * & & & & $ s.s.", +"s.s.e.a.a.a.a.a.a.a.a.a.a.a.p.a.a.p.a.p.a.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.8.P * s.s.", +"s.l +.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.` s.s.", +"s.z 3.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.u.5.s.", +"l z e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.6.s.", +"c x e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.6.s.", +"C c e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.1.s.", +"} v r.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.2.s.", +"| n r.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i.+.s.", +" .m r.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i.+.s.", +"..M e.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.u.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i.X.s.", +"X.B r.a.a.a.a.a D a.a.:.q *.a./ q w h q.7., > a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i...s.", +"o.V r.a.a.a.u.= - y.a.P & ~ a.T : T 8 j a.3 3 a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.i. .X.", +"X.Z r.a.a.a.>.& * ` p.8 * D a.T 8 9.s p a.# K a.7.5 5 4 $.G K a.$.H a.! G K 7.H W J K a.a.i.} O.", +"+.[ t.a.a.a.` = h g *.* j t a.T & * - @.p.X $.0.O #.#. u.Q o p.2 $.K 1 -.X 0.> , G 4 a.a.t.{ X.", +"..{ t.a.a.a.U r ] - h i ) 7 p.T 7 ;.w.a.-.X 0.H # a.Q @ a.0.. =.3 u.o 2 < K a.O Q a.a.a.a.i.Z X.", +"2.| i.a.a.a.a S u.; * / :.* 9.T 8 a.a.a.Q + a.2 < a.5 1 a.a.O , -.0.. =.a.p.0.. 7.a.a.a.a.t.V o.", +"s. .i.a.a.p.9 ~ a.j = w.y.= @.T 8 a.a.a.H O Q K . 4 # # #.a.1 1 a.a.# > 5 K #.. a.a.a.a.a.t.B ..", +"s.X.i.a.a.a.*.w.a.q.;.a.a.;.q.9.;.a.a.a.u.#.0.a.=.7.0.=.y.a.5 -.a.a.p.#.7.a.0.-.a.a.a.a.a.t.M ..", +"s...i.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.@ 1 Q a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.m | ", +"s.o.i.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.=.-.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.n | ", +"s.X.p.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.t.b { ", +"s.+.p.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.8.*.>.p.a.a.a.t.c A ", +"s.o.i.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.~ 0 * & & : P w.a.t.c M ", +"s.+.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.y.u * D @.,.*.Y 7 7 >.t.x l ", +"s.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a : *.$.a.a.a.a.q.t 8 4.x l ", +"s.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.] * @.a.# # $.a.a.a.w.: f x s.", +"s.s.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.d t a.a.# 2 7.a.a.T & % s.", +"s.s.] :.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.p.8 U a.a.# . G p.*.& & s.", +"s.s.s.* e s d d g d d g d d g h j D D I T R ^ / ` ] &.*.*.;.,.<.:.* T a.a.@ > ;.& & s.", +"s.s.s.s.& & * : 7 0 w y a h D I Y T ~ ~ / ( ) ] ` ] ' R F s.s.s.& & D a.a.# o J u.] & & s.", +"s.s.s.s.s.& & a T R ^ ^ ( ( ^ ( / I w s.s.s.s.s.s.s.s.s.s.s.s.s.s.& 7 y.a.# . G 0.a.a.d & & s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.& & D a.# 3 7.a.a.a.] & & s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.& & S -.a.a.a.p.~ = & & s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.$ & & ; s P j 9 & & & s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.$ & & & & & & & s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.", +"s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s." +}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/next.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/next.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,79 @@ +/* XPM */ +static const char * const next_xpm[] = { +"16 16 60 1", +" c None", +". c #000000", +"+ c #FFFFFF", +"@ c #737372", +"# c #888887", +"$ c #727170", +"% c #7E7E7D", +"& c #A4A4A3", +"* c #7B7B7A", +"= c #6C6B6A", +"- c #8E8E8D", +"; c #B5B4B3", +"> c #7F7E7D", +", c #999996", +"' c #7D7C7B", +") c #949392", +"! c #C0BFBE", +"~ c #828180", +"{ c #9D9C9A", +"] c #B0AFAC", +"^ c #908F8D", +"/ c #A4A3A2", +"( c #CACAC8", +"_ c #868583", +": c #A1A09E", +"< c #B4B3B1", +"[ c #B6B4B2", +"} c #A5A4A1", +"| c #A1A09F", +"1 c #D0CECD", +"2 c #898886", +"3 c #B9B7B4", +"4 c #BAB9B6", +"5 c #BCBAB7", +"6 c #C3C2BF", +"7 c #C2C2C2", +"8 c #8C8B89", +"9 c #A9A8A5", +"0 c #BDBCB9", +"a c #C5C3C0", +"b c #D0CECC", +"c c #8F8E8C", +"d c #B5B3B1", +"e c #C7C6C3", +"f c #D2D1CE", +"g c #AFAEAB", +"h c #D2D1CF", +"i c #B9B6B4", +"j c #D8D7D5", +"k c #B8B8B5", +"l c #D4D3D2", +"m c #A19F9D", +"n c #C7C6C4", +"o c #BBBAB7", +"p c #D7D5D3", +"q c #A7A6A3", +"r c #BBB9B7", +"s c #D9D8D6", +"t c #B9B8B5", +"u c #DEDDDB", +" . ....+ ", +" .. .@#.+ ", +" .$. .%&.+ ", +" .*=. .-;.+ ", +" .>,'. .)!.+ ", +" .~{]^. ./(.+ ", +" ._:<[}. .|1.+ ", +" .2}3456.7./(.+ ", +" .890ab.+ .|1.+ ", +" .cdef.+ .gh.+ ", +" .{ij.+ .kl.+ ", +" .mn.+ .op.+ ", +" .q.+ .rs.+ ", +" ..+ .tu.+ ", +" .+ ....+ ", +" + ++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/normal.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/normal.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,130 @@ +/* XPM */ +static const char * const normal_xpm[] = { +"16 16 111 2", +" c None", +". c #000000", +"+ c #030304", +"@ c #020303", +"# c #030303", +"$ c #030404", +"% c #040404", +"& c #A1B0BD", +"* c #8898A5", +"= c #909FAB", +"- c #97A4B0", +"; c #9EAAB4", +"> c #A4AFB9", +", c #ABB4BD", +"' c #B2BAC2", +") c #B8BFC6", +"! c #BFC5CA", +"~ c #C8CDD3", +"{ c #A4A6A7", +"] c #020203", +"^ c #BFCDD7", +"/ c #A2B5C8", +"( c #A9B9CC", +"_ c #AFBFCF", +": c #B4C3D2", +"< c #BAC8D5", +"[ c #C0CCD8", +"} c #C5D1DB", +"| c #CCD6DD", +"1 c #D2DAE1", +"2 c #D9E0E6", +"3 c #C8CDD2", +"4 c #B8C6D2", +"5 c #9BAEC3", +"6 c #A2B4C7", +"7 c #ADBCCD", +"8 c #B3C2D0", +"9 c #B9C7D3", +"0 c #BFCAD6", +"a c #C5CFD9", +"b c #CBD4DC", +"c c #BEC4CB", +"d c #B3C2CE", +"e c #96AAC0", +"f c #A9B9CA", +"g c #AEBECD", +"h c #BAC7D3", +"i c #C0CCD7", +"j c #CED7DF", +"k c #B8C0C6", +"l c #B0BECC", +"m c #91A7BE", +"n c #98ACC2", +"o c #A4B5C8", +"p c #AABACA", +"q c #B0BECE", +"r c #B6C3D1", +"s c #BBC8D4", +"t c #C1CDD7", +"u c #C9D3DC", +"v c #B3C3D3", +"w c #8CA3BB", +"x c #94A8BF", +"y c #9FB2C6", +"z c #A5B6C8", +"A c #ABBBCB", +"B c #B1BFCE", +"C c #B6C4D1", +"D c #BCC9D5", +"E c #C5CFDA", +"F c #ACB6BE", +"G c #BDCBDD", +"H c #879EB8", +"I c #8FA5BC", +"J c #A1B3C6", +"K c #ACBCCC", +"L c #B2C0CF", +"M c #B8C5D2", +"N c #A6B0BA", +"O c #BCCBDC", +"P c #819AB5", +"Q c #8BA2BA", +"R c #9BAFC3", +"S c #A8B8CA", +"T c #ADBDCD", +"U c #A0ABB6", +"V c #B4C4D6", +"W c #7993B0", +"X c #839BB6", +"Y c #89A0B8", +"Z c #8EA5BB", +"` c #95AAC0", +" . c #9CAFC4", +".. c #A2B3C7", +"+. c #A7B8CA", +"@. c #ADBDCC", +"#. c #B5C4D2", +"$. c #98A5B0", +"%. c #E6EFF8", +"&. c #B3C4D7", +"*. c #B9C9DB", +"=. c #BDCCDC", +"-. c #BECDDE", +";. c #B4C4D4", +">. c #B0BFCC", +",. c #B3C2CF", +"'. c #B9C6D2", +"). c #BDC9D5", +"!. c #CBD6E0", +"~. c #B6BFC8", +"{. c #050505", +" ", +" ", +" . + @ # # # # + + $ % % # # . ", +" # & * = - ; > , ' ) ! ~ ~ { ] ", +" + ^ / ( _ : < [ } | 1 2 2 3 # ", +" # 4 5 6 + 7 8 9 0 a b + 1 c # ", +" # d e + + f g + h i + + j k # ", +" # l m n + o p q r s t + u ' # ", +" # v w x + y z A B C D + E F # ", +" + G H I + 5 J + K L M + [ N # ", +" + O P Q + e R 6 S T 8 + s U @ ", +" + V W X Y Z ` ...+.@.#.#.$.@ ", +" % %.&.*.=.-.;.>.,.'.).!.!.~.# ", +" . {.% % % % % $ $ % % % % % . ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/open.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/open.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,83 @@ +/* XPM */ +static const char * const open_xpm[] = { +"16 16 64 1", +" c None", +". c #000000", +"+ c #E4E5DF", +"@ c #D5D6CB", +"# c #D6D7CA", +"$ c #A3A39D", +"% c #F5F6F0", +"& c #8D907B", +"* c #92957E", +"= c #90937D", +"- c #979B84", +"; c #6D705F", +"> c #EAECDB", +", c #8A8C7D", +"' c #8E917B", +") c #91947F", +"! c #8B8E7A", +"~ c #999B87", +"{ c #919480", +"] c #989B86", +"^ c #B1B4A2", +"/ c #A2A394", +"( c #F7F7F7", +"_ c #878A75", +": c #666858", +"< c #4B4D3F", +"[ c #4D4F40", +"} c #404135", +"| c #424337", +"1 c #434437", +"2 c #404236", +"3 c #3C3D32", +"4 c #48493C", +"5 c #1A1A16", +"6 c #C6C6BE", +"7 c #848672", +"8 c #25261F", +"9 c #F1F2E9", +"0 c #DDE0C7", +"a c #D6DABB", +"b c #CDD2AC", +"c c #C7CCA7", +"d c #989C80", +"e c #C6C7BE", +"f c #5F6152", +"g c #888980", +"h c #A7AB8C", +"i c #878A70", +"j c #9FA19A", +"k c #EFF0E5", +"l c #9EA284", +"m c #80817B", +"n c #96968D", +"o c #E3E5D1", +"p c #83866D", +"q c #97998D", +"r c #EDEFE2", +"s c #A2A688", +"t c #767671", +"u c #E7E9DA", +"v c #D1D3BD", +"w c #BBBF9D", +"x c #989B80", +"y c #6E715C", +" ", +" ", +" .... ", +" .+@#$. ", +" .%&*=-;..... ", +" .>,')!~{]{^/. ", +" .(_:<[}||12345 ", +" .67890abbbbbcd.", +" .efg0bbbbbbbhi.", +" .j8kabbbbbbbl. ", +" .mnobbbbbbbbp. ", +" .qrbbbbbbbbs. ", +" .tuvwwwwwwxy. ", +" ........... ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/pause.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/pause.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,48 @@ +/* XPM */ +static const char * const pause_xpm[] = { +"16 16 29 1", +" c None", +". c #000000", +"+ c #FFFFFF", +"@ c #737372", +"# c #848483", +"$ c #888887", +"% c #7E7E7D", +"& c #A8A7A6", +"* c #A4A4A3", +"= c #A6A5A4", +"- c #B5B4B3", +"; c #858483", +"> c #AAA9A7", +", c #C0BFBE", +"' c #91908E", +") c #AFAEAC", +"! c #CACAC8", +"~ c #A6A5A2", +"{ c #BBBAB7", +"] c #D4D3D2", +"^ c #AEADA9", +"/ c #BFBDBA", +"( c #D7D5D3", +"_ c #B2B0AD", +": c #C3C1BE", +"< c #D9D8D6", +"[ c #B5B3B0", +"} c #D1CFCC", +"| c #DEDDDB", +" ", +" .....+.....+ ", +" .@#$.+.@#$.+ ", +" .%&*.+.%&*.+ ", +" .%=-.+.%=-.+ ", +" .;>,.+.;>,.+ ", +" .')!.+.')!.+ ", +" .')!.+.')!.+ ", +" .')!.+.')!.+ ", +" .~{].+.~{].+ ", +" .~{].+.~{].+ ", +" .^/(.+.^/(.+ ", +" ._:<.+._:<.+ ", +" .[}|.+.[}|.+ ", +" .....+.....+ ", +" +++++ +++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/pl.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/pl.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,26 @@ +/* XPM */ +static const char * const pl_xpm[] = { +"16 16 7 1", +" c None", +". c #000000", +"+ c #FEFEFE", +"@ c #C1C1C1", +"# c #C2C2C2", +"$ c #A0A0A0", +"% c #BBBBBB", +" .. ", +" .+@. .. ... .. ", +" .#$. ", +" .. ", +" ", +" ", +" .. ", +" .+@. ", +" .#$. ..... ... ", +" .. ", +" ", +" ", +" .. ", +" .+%. ..... ... ", +" .#$. ", +" .. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/play.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/play.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,56 @@ +/* XPM */ +static const char * const play_xpm[] = { +"16 16 37 1", +" c None", +". c #000000", +"+ c #727170", +"@ c #7B7B7A", +"# c #6C6B6A", +"$ c #7F7E7D", +"% c #999996", +"& c #7D7C7B", +"* c #828180", +"= c #9D9C9A", +"- c #B0AFAC", +"; c #908F8D", +"> c #868583", +", c #A1A09E", +"' c #B4B3B1", +") c #B6B4B2", +"! c #A5A4A1", +"~ c #898886", +"{ c #B9B7B4", +"] c #BAB9B6", +"^ c #BCBAB7", +"/ c #C3C2BF", +"( c #FFFFFF", +"_ c #8C8B89", +": c #A9A8A5", +"< c #BDBCB9", +"[ c #C5C3C0", +"} c #D0CECC", +"| c #8F8E8C", +"1 c #B5B3B1", +"2 c #C7C6C3", +"3 c #D2D1CE", +"4 c #B9B6B4", +"5 c #D8D7D5", +"6 c #A19F9D", +"7 c #C7C6C4", +"8 c #A7A6A3", +" . ", +" .. ", +" .+. ", +" .@#. ", +" .$%&. ", +" .*=-;. ", +" .>,')!. ", +" .~!{]^/.( ", +" ._:<[}.( ", +" .|123.( ", +" .=45.( ", +" .67.( ", +" .8.( ", +" ..( ", +" .( ", +" ( "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/playdvd.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/playdvd.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,137 @@ +/* XPM */ +static const char * const playdvd_xpm[] = { +"16 16 118 2", +" c None", +". c #CACCD2", +"+ c #D3D4D6", +"@ c #D2D2D3", +"# c #D1D1D2", +"$ c #D1D1D3", +"% c #B5B8BD", +"& c #EDEDEC", +"* c #FAFAFA", +"= c #FBFBFB", +"- c #FCFCFC", +"; c #FFFFFF", +"> c #D9D9D9", +", c #AFB1B5", +"' c #C6C6C7", +") c #FDFDFD", +"! c #F7F7F7", +"~ c #F9F9F9", +"{ c #F6F6F6", +"] c #F8F8F8", +"^ c #B8B9BD", +"/ c #B2B4BA", +"( c #EAE9E9", +"_ c #DCDCDC", +": c #F3F3F3", +"< c #F4F4F4", +"[ c #A8AAAF", +"} c #CBCBCA", +"| c #CCCCCC", +"1 c #D7D7D7", +"2 c #E1E1E1", +"3 c #F5F5F5", +"4 c #EFEFEF", +"5 c #CCCDCE", +"6 c #D2D2D2", +"7 c #CDCDCD", +"8 c #D6D6D6", +"9 c #E0E0E0", +"0 c #E7E7E7", +"a c #E6E6E6", +"b c #E5E5E5", +"c c #EBEBEB", +"d c #E3E3E3", +"e c #ECECEC", +"f c #9C9DA5", +"g c #C4C5C9", +"h c #C1C1C1", +"i c #CECECE", +"j c #E2E2E2", +"k c #E8E8E8", +"l c #D8D8D8", +"m c #E4E4E3", +"n c #DBDBDB", +"o c #F2F2F2", +"p c #404040", +"q c #DDDDDD", +"r c #D4D4D4", +"s c #A2A4AA", +"t c #C9CACC", +"u c #C4C4C4", +"v c #CFCFCF", +"w c #E4E4E4", +"x c #DBDAD9", +"y c #727789", +"z c #DFDEDD", +"A c #292828", +"B c #373737", +"C c #BCBCBC", +"D c #BFBFBF", +"E c #9E9FA4", +"F c #C6C7C9", +"G c #E2E2E1", +"H c #999CA6", +"I c #C5C5C4", +"J c #D3D3D3", +"K c #313131", +"L c #747472", +"M c #5C5C5C", +"N c #C4C4C3", +"O c #95969A", +"P c #C4C5C6", +"Q c #D8D8D7", +"R c #CACACA", +"S c #C6C6C6", +"T c #343333", +"U c #A1A09E", +"V c #939290", +"W c #939395", +"X c #A0A2A7", +"Y c #E5E5E4", +"Z c #FEFEFE", +"` c #C5C5C5", +" . c #363635", +".. c #A7A6A3", +"+. c #B8B7B4", +"@. c #91908E", +"#. c #9B9C9F", +"$. c #F0F0F0", +"%. c #383737", +"&. c #B0AFAC", +"*. c #C8C7C4", +"=. c #5A5A59", +"-. c #EAEAEA", +";. c #3E3D3D", +">. c #BEBCB9", +",. c #151414", +"'. c #989BA2", +"). c #E9E9E9", +"!. c #41403F", +"~. c #696867", +"{. c #A6A8AD", +"]. c #B7B7B5", +"^. c #B4B4B3", +"/. c #0A0A0A", +"(. c #9B9DA0", +"_. c #B6B6B7", +":. c #B0B0B1", +"<. c #929396", +" . + @ # $ ", +" % & * = = = - ; > , ", +" ' ) ! ~ ~ ~ { ] * = ) ^ ", +" / ( _ : ! ] ! < ! ] ) ) = [ ", +" } | 1 2 { ] ! : 3 - - 3 4 5 ", +" 6 7 8 9 0 ] a b ) = : c d e f ", +"g h i 1 j k 6 l m n o p q r 2 s ", +"t u v n w _ x y z q A B C D E ", +"F 8 l 2 k d G H ^ I J K L M N O ", +"P w j k e = _ Q 6 R S T U V M W ", +"X Y k c ; Z 3 > ! 6 ` ...+.@.M ", +" #.$.; : : > : : : ` %.&.*.=. ", +" 1 = : > : : : : -.;.>.,. ", +" '.S a > : : $.w ).!.~.Z ", +" {.].R j k q ^./.; ", +" (._.:.<. D "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/playvcd.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/playvcd.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,201 @@ +/* XPM */ +static const char * const playvcd_xpm[] = { +"16 16 182 2", +" c None", +". c #CC9665", +"+ c #E1C0A3", +"@ c #EAD1BD", +"# c #E9D2BB", +"$ c #D7B597", +"% c #9D7C5C", +"& c #CE9E71", +"* c #F6E9DE", +"= c #FEF5EE", +"- c #FFFAF6", +"; c #FFFBF7", +"> c #FDF9F5", +", c #F2EBDD", +"' c #FBF5E4", +") c #F3E6D5", +"! c #B19D8A", +"~ c #D9AE89", +"{ c #FFEFE3", +"] c #FFF7F0", +"^ c #FFF6EE", +"/ c #FFF7EF", +"( c #FFF6EB", +"_ c #FFF1DD", +": c #FFF6E3", +"< c #FFFCE9", +"[ c #FFFFF9", +"} c #FFFFFA", +"| c #BEA98F", +"1 c #C08F68", +"2 c #FFD5B2", +"3 c #FFCAA8", +"4 c #FFE2CC", +"5 c #FFF3E9", +"6 c #FFF4E9", +"7 c #FFF3E1", +"8 c #FFF0D0", +"9 c #FFF9D9", +"0 c #FFFEE7", +"a c #FFFFF8", +"b c #FFF8DA", +"c c #B8A685", +"d c #F2B788", +"e c #FFB886", +"f c #FFBD8B", +"g c #FFCA9B", +"h c #FFE7CF", +"i c #FFF6EA", +"j c #FFF4DB", +"k c #FFF7CA", +"l c #FFFFE1", +"m c #FFFFF6", +"n c #FFFBEE", +"o c #FFF3D4", +"p c #FFF3BB", +"q c #DDC18E", +"r c #805A34", +"s c #FDB070", +"t c #FFAD6E", +"u c #FFBA7D", +"v c #FFC78B", +"w c #FFDAA3", +"x c #FFEAC8", +"y c #FFF6C9", +"z c #FFF8C4", +"A c #FFF8E8", +"B c #FFFAEB", +"C c #FFF0C7", +"D c #FFE8A8", +"E c #FFE188", +"F c #FFDC86", +"G c #B57841", +"H c #FFA656", +"I c #FFAC5F", +"J c #FFBC73", +"K c #FFCE89", +"L c #FFDA91", +"M c #FFE194", +"N c #B2A177", +"O c #C0B095", +"P c #FFE6BB", +"Q c #FFE9B3", +"R c #473E28", +"S c #FFD76C", +"T c #FFCC3D", +"U c #ECBB2F", +"V c #966F30", +"W c #BC7D42", +"X c #FFAA52", +"Y c #FFAF57", +"Z c #FFC673", +"` c #FFDE8E", +" . c #FFE58D", +".. c #FCE5A0", +"+. c #FFDA8B", +"@. c #FFD673", +"#. c #292828", +"$. c #5C5C5C", +"%. c #FFBA00", +"&. c #FEC417", +"*. c #A77D2E", +"=. c #A7713B", +"-. c #FFBF69", +";. c #FFC570", +">. c #FFDB87", +",. c #FFF3A1", +"'. c #FFF9BF", +"). c #FFE4BA", +"!. c #DFC19C", +"~. c #ECC48A", +"{. c #FFCA5D", +"]. c #FFCC45", +"^. c #313131", +"/. c #747472", +"(. c #FEC21C", +"_. c #A57927", +":. c #FFCF7C", +"<. c #FFDE8B", +"[. c #FFFFCB", +"}. c #FFFFF4", +"|. c #FFECC6", +"1. c #FFE4AA", +"2. c #FFE8BA", +"3. c #FFC21D", +"4. c #343333", +"5. c #A1A09E", +"6. c #939290", +"7. c #E5BC73", +"8. c #FFFAA9", +"9. c #FFFFCD", +"0. c #FFFEF1", +"a. c #FFF3D3", +"b. c #FFE69F", +"c. c #FFE9AB", +"d. c #FFF0C5", +"e. c #FFEBB4", +"f. c #FFD465", +"g. c #363635", +"h. c #A7A6A3", +"i. c #B8B7B4", +"j. c #91908E", +"k. c #A98E59", +"l. c #FFF1B6", +"m. c #FFE59F", +"n. c #FFD86C", +"o. c #FFE08B", +"p. c #FFEAB1", +"q. c #FFE5A3", +"r. c #FFE7AB", +"s. c #383737", +"t. c #B0AFAC", +"u. c #C8C7C4", +"v. c #5A5A59", +"w. c #CCB396", +"x. c #FFE5B4", +"y. c #FFECA5", +"z. c #FFDB70", +"A. c #FFCB3B", +"B. c #FFD871", +"C. c #FFE8AB", +"D. c #FFE6A4", +"E. c #FFE9AA", +"F. c #3E3D3D", +"G. c #BEBCB9", +"H. c #C1A46F", +"I. c #EABC6D", +"J. c #FFC924", +"K. c #FFDC6A", +"L. c #FFEFAD", +"M. c #FFEAA1", +"N. c #FFDA8E", +"O. c #41403F", +"P. c #696867", +"Q. c #FEFEFE", +"R. c #A97B28", +"S. c #C08D27", +"T. c #C99C47", +"U. c #CEA762", +"V. c #C09A5A", +"W. c #855F2F", +"X. c #FFFFFF", +"Y. c #BFBFBF", +" . + @ # $ % ", +" & * = - ; > , ' ) ! ", +" ~ { ] ^ / ( _ : < [ } | ", +" 1 2 3 4 5 6 7 8 9 0 a } b c ", +" d e f g h i j k l m n o p q ", +"r s t u v w x y z A B C D E F ", +"G H I J K L M N O P Q R S T U V ", +"W X Y Z ` ... +.@.#.$.%.&.*.", +"=.-.;.>.,.'.).!.~.{.].^./.$.(._.", +" :.<.,.[.}.|.1.2.<.3.4.5.6.$. ", +" 7.8.9.0.a.b.c.d.e.f.g.h.i.j.$.", +" k.l.[ a.m.n.o.p.q.r.s.t.u.v. ", +" w.x.y.z.A.B.C.D.E.F.G.v. ", +" H.I.].J.K.L.M.N.O.P.Q. ", +" R.S.T.U.V.W.O.X. ", +" Y. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/prefs.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/prefs.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,69 @@ +/* XPM */ +static const char * const prefs_xpm[] = { +"16 16 50 1", +" c None", +". c #000000", +"+ c #CAC8C1", +"@ c #B7B7B7", +"# c #EBEBE8", +"$ c #D8D8D8", +"% c #F9F8F8", +"& c #D3D1CD", +"* c #F7F7F7", +"= c #DEDBD6", +"- c #D4D3D0", +"; c #E3E2E1", +"> c #DFDEDC", +", c #DBDAD7", +"' c #A4A19C", +") c #686868", +"! c #292929", +"~ c #1F1F1F", +"{ c #D2D1D0", +"] c #50504F", +"^ c #121212", +"/ c #414141", +"( c #494746", +"_ c #363636", +": c #C8C7C6", +"< c #6C6967", +"[ c #708295", +"} c #CFD6DD", +"| c #7C91A7", +"1 c #D6D5D5", +"2 c #8A8784", +"3 c #7D8C9C", +"4 c #788DA4", +"5 c #7F99B3", +"6 c #1F272F", +"7 c #ECEBEA", +"8 c #72706D", +"9 c #8D99A5", +"0 c #748AA2", +"a c #849EB9", +"b c #4D5F73", +"c c #D5D4D3", +"d c #6B6A69", +"e c #7D91A7", +"f c #849EBA", +"g c #525252", +"h c #7E7E7E", +"i c #515151", +"j c #66798F", +"k c #7C7C7C", +" ", +" . . ", +" .+. .@.", +" .#. .$. ", +" . .%. .. ", +" .&..*=. . ", +" .-;>,'.)! ", +" .~..{].) ", +" ^/(. ", +" ..._.:<. ", +" .[}|. .12. ", +" .3}456 .78. ", +" .9}0ab. .cd. ", +" .}efb. .{gh", +" iejb. ..k", +" i.. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/prev.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/prev.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,77 @@ +/* XPM */ +static const char * const prev_xpm[] = { +"16 16 58 1", +" c None", +". c #000000", +"+ c #FFFFFF", +"@ c #D9D9D9", +"# c #737372", +"$ c #888887", +"% c #7E7E7D", +"& c #A4A4A3", +"* c #696867", +"= c #8E8E8D", +"- c #B5B4B3", +"; c #5B5A59", +"> c #9C9C9A", +", c #949392", +"' c #C0BFBE", +") c #636261", +"! c #908F8D", +"~ c #C5C4C3", +"{ c #A4A3A2", +"] c #CACAC8", +"^ c #6F6E6C", +"/ c #959491", +"( c #C0BFBD", +"_ c #D3D3D1", +": c #A1A09F", +"< c #D0CECD", +"[ c #636260", +"} c #8D8C8B", +"| c #B4B3B1", +"1 c #757574", +"2 c #868481", +"3 c #BAB9B6", +"4 c #B9B7B4", +"5 c #C5C4C2", +"6 c #D4D3D1", +"7 c #A2A09F", +"8 c #A6A4A2", +"9 c #BDBCB9", +"0 c #C6C5C3", +"a c #D4D3D2", +"b c #AFAEAB", +"c c #D2D1CF", +"d c #A3A2A0", +"e c #B7B6B3", +"f c #D0CFCD", +"g c #D4D4D3", +"h c #B8B8B5", +"i c #A8A7A5", +"j c #D5D5D3", +"k c #DFDFDD", +"l c #BBBAB7", +"m c #D7D5D3", +"n c #C4C4C2", +"o c #DFDFDE", +"p c #BBB9B7", +"q c #D9D8D6", +"r c #B9B8B5", +"s c #DEDDDB", +" ....+ .@", +" .#$.+ ..+", +" .%&.+ .*.+", +" .=-.+ .;>.+", +" .,'.+ .)!~.+", +" .{].+ .^/(_.+", +" .:<.+ .[}|(_.+", +" .{].+.123456.+", +" .:<.+ .7890a.+", +" .bc.+ .defg.+", +" .ha.+ .ijk.+", +" .lm.+ .no.+", +" .pq.+ .6.+", +" .rs.+ ..+", +" ....+ .+", +" ++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/skin.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/skin.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,181 @@ +/* XPM */ +static const char * const skin_xpm[] = { +"16 16 162 2", +" c None", +". c #DBA97F", +"+ c #C7A89B", +"@ c #E1DFDD", +"# c #BE9D76", +"$ c #A35019", +"% c #A8978C", +"& c #D3D2D0", +"* c #DAD8D7", +"= c #D9D6D4", +"- c #BEBCB9", +"; c #BCAA95", +"> c #D78236", +", c #844A36", +"' c #DADFE4", +") c #E0E8E8", +"! c #C8D2D3", +"~ c #B5B7B7", +"{ c #DCDAD7", +"] c #BBB7B0", +"^ c #CCCACB", +"/ c #D2D0D3", +"( c #EDAF6C", +"_ c #953600", +": c #28257E", +"< c #A1B4F3", +"[ c #F5B7AC", +"} c #F4A296", +"| c #E5E7EB", +"1 c #ABB1B6", +"2 c #C8C4C0", +"3 c #CECBC5", +"4 c #F7F7F9", +"5 c #53548A", +"6 c #967265", +"7 c #DE741B", +"8 c #6F3937", +"9 c #4155C2", +"0 c #A8BAEB", +"a c #E65138", +"b c #DD0C00", +"c c #F1D2D5", +"d c #BECFD8", +"e c #B5BABE", +"f c #C2BEB9", +"g c #E9E7E5", +"h c #FFFFFF", +"i c #F9FBFF", +"j c #71667C", +"k c #E49146", +"l c #9D3501", +"m c #BFB7BD", +"n c #E5F6FE", +"o c #DCF0FF", +"p c #D7B2BD", +"q c #D18F98", +"r c #D0DCF6", +"s c #D8E5F1", +"t c #9DA4A7", +"u c #CECBC6", +"v c #EAE8E6", +"w c #9F9EA3", +"x c #444349", +"y c #C3C4C7", +"z c #E7BD90", +"A c #CD5A0B", +"B c #946454", +"C c #E7F9FF", +"D c #DFF1FF", +"E c #D8EAFF", +"F c #AFE5E5", +"G c #3ACB52", +"H c #6BCE85", +"I c #DBE7FB", +"J c #9DA2A9", +"K c #B9B4AF", +"L c #636167", +"M c #000004", +"N c #8B7E74", +"O c #EF9853", +"P c #913710", +"Q c #CDD6DF", +"R c #E1F5FF", +"S c #D2E9FF", +"T c #CFE6FF", +"U c #97D6CA", +"V c #03B200", +"W c #44C54A", +"X c #CCDAEF", +"Y c #9DA5AF", +"Z c #BBB6B1", +"` c #E7E7E8", +" . c #BBC1CC", +".. c #D3B59C", +"+. c #AF4E1E", +"@. c #B1A3A5", +"#. c #E4FBFF", +"$. c #D4ECFF", +"%. c #CAE5FF", +"&. c #C5E1F2", +"*. c #B7DAE7", +"=. c #86CCC7", +"-. c #B3E3E5", +";. c #A7B6C5", +">. c #BAC1C8", +",. c #BFBBB6", +"'. c #E6E5E3", +"). c #F5E9CC", +"!. c #BC9877", +"~. c #987977", +"{. c #B3BDC4", +"]. c #A8AEB3", +"^. c #B0C0D0", +"/. c #BCDAF3", +"(. c #DCD443", +"_. c #E5D620", +":. c #BFDCF1", +"<. c #C1D6F7", +"[. c #A7B0B9", +"}. c #C7C6C3", +"|. c #ABA194", +"1. c #CDA447", +"2. c #8E4B00", +"3. c #958685", +"4. c #D9DADA", +"5. c #E1E0E0", +"6. c #A4A5A7", +"7. c #8FA6BC", +"8. c #D1CD44", +"9. c #F3E538", +"0. c #C6D9DB", +"a. c #9DABBC", +"b. c #B0A08A", +"c. c #9C7A32", +"d. c #6A380E", +"e. c #989DA6", +"f. c #8E9296", +"g. c #8D9196", +"h. c #92A7B9", +"i. c #AFD5FC", +"j. c #BFDFF2", +"k. c #B0C3CA", +"l. c #A1ADB7", +"m. c #C9C1B8", +"n. c #8D6841", +"o. c #6C4C2C", +"p. c #7E7267", +"q. c #A1ACB7", +"r. c #BFD5EA", +"s. c #BEDBF5", +"t. c #BEDDFA", +"u. c #AFC6DA", +"v. c #97A5B3", +"w. c #BDC4C9", +"x. c #D8D5D0", +"y. c #BDB7AF", +"z. c #DDDBD8", +"A. c #BDC2C7", +"B. c #A0A7AD", +"C. c #9DA6AD", +"D. c #A0A9B1", +"E. c #C2C6CB", +" ", +" . + ", +" @ # $ % & * ", +" = - ; > , ' ) ! ~ ", +" { ] ^ / ( _ : < [ } | 1 ", +" 2 3 4 5 6 7 8 9 0 a b c d e ", +" f g h i j k l m n o p q r s t ", +"u v w x y z A B C D E F G H I J ", +"K h L M N O P Q R S T U V W X Y ", +"Z h ` ...+.@.#.$.%.&.*.=.-.;.>.", +",.'.h ).!.~.{.].^./.(._.:.<.[. ", +" }.|.1.2.3.4.5.6.7.8.9.0.a. ", +" b.c.d.e.f.g.h.i.j.k.l. ", +" m.n.o.p.q.r.s.t.u.v.w. ", +" x.y.z. A.B.C.D.E. ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/sound.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/sound.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,140 @@ +/* XPM */ +static const char * const sound_xpm[] = { +"16 16 121 2", +" c None", +". c #939CA9", +"+ c #89919F", +"@ c #A6AEBA", +"# c #99A0AC", +"$ c #5B6576", +"% c #1A202C", +"& c #1E283A", +"* c #141F32", +"= c #9CA3AF", +"- c #626C7C", +"; c #505866", +"> c #1A2029", +", c #1D232B", +"' c #1F2838", +") c #263248", +"! c #182233", +"~ c #B9BFC8", +"{ c #6D7585", +"] c #181E26", +"^ c #1D222B", +"/ c #1D232C", +"( c #26334B", +"_ c #253149", +": c #A0AAB8", +"< c #888F9B", +"[ c #131823", +"} c #1C212A", +"| c #1F242B", +"1 c #1F242A", +"2 c #233047", +"3 c #293854", +"4 c #4F5E77", +"5 c #525C6A", +"6 c #282F3B", +"7 c #1A212A", +"8 c #1E232B", +"9 c #1F232A", +"0 c #273040", +"a c #4A5B77", +"b c #293650", +"c c #2F3F5E", +"d c #53637E", +"e c #151C28", +"f c #1C2129", +"g c #20242C", +"h c #232830", +"i c #7485A0", +"j c #697C9B", +"k c #43536E", +"l c #314260", +"m c #6F84A1", +"n c #676E79", +"o c #222B3B", +"p c #222935", +"q c #20252D", +"r c #4B5B74", +"s c #879AB3", +"t c #596E92", +"u c #354259", +"v c #394A69", +"w c #687EA2", +"x c #4A5872", +"y c #364153", +"z c #303B51", +"A c #344054", +"B c #7F8DA4", +"C c #5C7296", +"D c #3E506F", +"E c #4D5A6E", +"F c #63799A", +"G c #323A46", +"H c #445573", +"I c #36445C", +"J c #36445B", +"K c #37455D", +"L c #425169", +"M c #45526A", +"N c #27354D", +"O c #1D2433", +"P c #A6B6CA", +"Q c #5C6F8F", +"R c #242B38", +"S c #323F56", +"T c #3F4F68", +"U c #44536C", +"V c #53617A", +"W c #6C7A92", +"X c #B0BBCC", +"Y c #9EA7B8", +"Z c #C5CDDA", +"` c #6E809B", +" . c #212935", +".. c #151A23", +"+. c #293344", +"@. c #44526A", +"#. c #617087", +"$. c #8C98A9", +"%. c #B0B8C4", +"&. c #C9CED7", +"*. c #C5CCD8", +"=. c #79879E", +"-. c #2B3648", +";. c #121824", +">. c #1F232C", +",. c #626F87", +"'. c #4D5B74", +"). c #C0C6D1", +"!. c #C7CBD0", +"~. c #BAC3D0", +"{. c #8592A6", +"]. c #222830", +"^. c #7B8495", +"/. c #778195", +"(. c #B2B8C2", +"_. c #B3B8BF", +":. c #49535F", +"<. c #1D2229", +"[. c #252B30", +"}. c #1F252C", +"|. c #1A1C20", +" ", +" . + @ # ", +" $ % & * = - ", +" ; > , ' ) ! ~ ", +" { ] ^ , / ( _ : ", +" < [ } | 1 ' 2 3 4 5 ", +" 6 7 8 9 0 a b c d ", +" 6 e f g h i j k l m ", +" n o p q r s t u v w x ", +" y z A A B C D E F G H ", +" I J K L M N O P Q R S ", +" T U V W X Y Z ` ...+. ", +" @.#.$.%.&.*.=.-.;.>. ", +" ,.'.).!.~.{.]. ", +" ^./.(._.:.<. ", +" [.}.|. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/stop2.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/stop2.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,48 @@ +/* XPM */ +static const char * const stop2_xpm[] = { +"16 16 29 1", +" c None", +". c #000000", +"+ c #FFFFFF", +"@ c #737372", +"# c #848483", +"$ c #888887", +"% c #7E7E7D", +"& c #A8A7A6", +"* c #A4A4A3", +"= c #A6A5A4", +"- c #B5B4B3", +"; c #858483", +"> c #AAA9A7", +", c #C0BFBE", +"' c #91908E", +") c #AFAEAC", +"! c #CACAC8", +"~ c #A6A5A2", +"{ c #BBBAB7", +"] c #D4D3D2", +"^ c #AEADA9", +"/ c #BFBDBA", +"( c #D7D5D3", +"_ c #B2B0AD", +": c #C3C1BE", +"< c #D9D8D6", +"[ c #B5B3B0", +"} c #D1CFCC", +"| c #DEDDDB", +" ", +" ", +" .............+ ", +" .@#$$$$$$$$$.+ ", +" .%&*********.+ ", +" .%=---------.+ ", +" .;>,,,,,,,,,.+ ", +" .')!!!!!!!!!.+ ", +" .')!!!!!!!!!.+ ", +" .~{]]]]]]]]].+ ", +" .~{]]]]]]]]].+ ", +" .^/(((((((((.+ ", +" ._:<<<<<<<<<.+ ", +" .[}|||||||||.+ ", +" .............+ ", +" +++++++++++++ "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/sub.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/sub.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,21 @@ +/* XPM */ +static const char * const sub_xpm[] = { +"16 16 2 1", +" c None", +". c #000000", +" ", +" ", +" ", +" ", +" ... . . ... ", +". . . . . ", +". . . . . ", +" .. . . ... ", +" . . . . . ", +" . . . . . ", +"... ... ... ", +" ", +" ", +" ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/title.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/title.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,23 @@ +/* XPM */ +static const char * const title_xpm[] = { +"16 16 4 1", +" c None", +". c #000000", +"+ c #CD0909", +"@ c #FFFFFF", +" .. ", +" .++. ", +".++++. ", +".++++. . . ", +" .++. .@. .@. ", +" .. .@@@..@@@.", +" .@. .@. ", +" . . ", +" .. ", +" .++. ", +".++++. ", +".++++. . . ", +" .++. .@. .@. ", +" .. .@@@..@@@.", +" .@. .@. ", +" . . "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/tongue.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/tongue.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,169 @@ +/* XPM */ +static const char * const tongue_xpm[] = { +"16 16 150 2", +" c None", +". c #FC151B", +"+ c #F31C35", +"@ c #FD4344", +"# c #FA8C99", +"$ c #E9080F", +"% c #DDAFA4", +"& c #FDD8E0", +"* c #F33A41", +"= c #F00807", +"- c #E6DFE0", +"; c #ECF6F4", +"> c #E0081D", +", c #F10705", +"' c #E4080E", +") c #EE0512", +"! c #F80C0B", +"~ c #F70D0A", +"{ c #EF1510", +"] c #E60F0D", +"^ c #DC4248", +"/ c #E9383B", +"( c #E91E18", +"_ c #F48D94", +": c #F3E2DA", +"< c #E92B32", +"[ c #EE0B15", +"} c #F1726F", +"| c #FC7680", +"1 c #EE0409", +"2 c #F10306", +"3 c #DE5154", +"4 c #7F0401", +"5 c #170009", +"6 c #535455", +"7 c #DCD4D3", +"8 c #F4F9F7", +"9 c #EBEBEA", +"0 c #EFFEFF", +"a c #FEF1FA", +"b c #F5CBCB", +"c c #F4090A", +"d c #E91F21", +"e c #FEA7AB", +"f c #EA0314", +"g c #0A0203", +"h c #430002", +"i c #CC090F", +"j c #F30407", +"k c #390414", +"l c #110501", +"m c #4D3F3F", +"n c #D60D16", +"o c #E74746", +"p c #850702", +"q c #E60304", +"r c #DC090B", +"s c #E91B29", +"t c #BD070E", +"u c #FA0202", +"v c #F76364", +"w c #B90601", +"x c #DA0307", +"y c #FE060E", +"z c #F30F09", +"A c #F12F34", +"B c #F80409", +"C c #A90405", +"D c #FD020B", +"E c #FABDB8", +"F c #E90700", +"G c #F6A9A6", +"H c #C71C09", +"I c #CA0819", +"J c #F80C06", +"K c #EF0A13", +"L c #FA8786", +"M c #E62B35", +"N c #C20502", +"O c #FA0C12", +"P c #E50100", +"Q c #E8323C", +"R c #F4B3A8", +"S c #7F0C03", +"T c #EF0908", +"U c #F50111", +"V c #F7192A", +"W c #F8AAA5", +"X c #DB0F11", +"Y c #F71514", +"Z c #DA6D61", +"` c #EF887F", +" . c #EE0704", +".. c #EDFCF3", +"+. c #F60212", +"@. c #EB0307", +"#. c #E9070B", +"$. c #E70E0B", +"%. c #F9DDD9", +"&. c #F6060E", +"*. c #B10A0E", +"=. c #F00A09", +"-. c #DE0600", +";. c #F31113", +">. c #FDDFE2", +",. c #DC0909", +"'. c #F10B12", +"). c #F90306", +"!. c #F9181F", +"~. c #FCD0D1", +"{. c #A9040F", +"]. c #EA4754", +"^. c #FA0908", +"/. c #F41821", +"(. c #FA757B", +"_. c #F10905", +":. c #EE090F", +"<. c #ED0D06", +"[. c #F7B7B3", +"}. c #F76869", +"|. c #850405", +"1. c #F80A07", +"2. c #EC0000", +"3. c #F6090B", +"4. c #F10208", +"5. c #EE080A", +"6. c #E90A0B", +"7. c #E82322", +"8. c #FBFAF8", +"9. c #E10B0B", +"0. c #D80507", +"a. c #E58874", +"b. c #E94149", +"c. c #ED0A04", +"d. c #EC0609", +"e. c #F8070B", +"f. c #F50A0E", +"g. c #DD423D", +"h. c #F47671", +"i. c #7C302B", +"j. c #E41D24", +"k. c #F80C08", +"l. c #EE0A0E", +"m. c #ED070A", +"n. c #FA050E", +"o. c #A52B2E", +"p. c #E96D74", +"q. c #FB0015", +"r. c #F40517", +"s. c #B6787D", +" . + @ # ", +" $ % & * = - ; ", +" > , ' ) ! ~ { ] ^ ", +" / ( _ : < [ } | 1 2 ", +" 3 4 5 6 7 8 9 0 a b c d ", +" e f g h i j k l m n o p q r ", +" s t u v w x y z A B C D ", +" E F G H I J K L M N O ", +" P Q R S T U V W X Y Z ", +" ` ...+.@.#.$.%.&.*.=. ", +" -.;.>.,.'.).!.~.{.&.]. ", +" ^./.(._.:.<.[.}.|.1. ", +" 2.3.4.5.6.7.8.9.0.a. ", +" b.c.d.e.f.g.h.i. ", +" j.k.l.m.n.o. ", +" p.q.r.s. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/tonguebla.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/tonguebla.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,156 @@ +/* XPM */ +static const char * const tonguebla_xpm[] = { +"16 16 137 2", +" c None", +". c #FC151B", +"+ c #F31C35", +"@ c #FD4344", +"# c #FA8C99", +"$ c #E9080F", +"% c #DDAFA4", +"& c #FDD8E0", +"* c #F33A41", +"= c #F00807", +"- c #E6DFE0", +"; c #ECF6F4", +"> c #E0081D", +", c #F10705", +"' c #E4080E", +") c #EE0512", +"! c #F80C0B", +"~ c #F70D0A", +"{ c #EF1510", +"] c #E60F0D", +"^ c #DC4248", +"/ c #E9383B", +"( c #E91E18", +"_ c #F48D94", +": c #F3E2DA", +"< c #E92B32", +"[ c #EE0B15", +"} c #F1726F", +"| c #FC7680", +"1 c #EE0409", +"2 c #F10306", +"3 c #DE5154", +"4 c #7F0401", +"5 c #170009", +"6 c #535455", +"7 c #DCD4D3", +"8 c #F4F9F7", +"9 c #EBEBEA", +"0 c #EFFEFF", +"a c #FEF1FA", +"b c #F5CBCB", +"c c #F4090A", +"d c #E91F21", +"e c #FEA7AB", +"f c #EA0314", +"g c #0A0203", +"h c #430002", +"i c #CC090F", +"j c #F30407", +"k c #390414", +"l c #110501", +"m c #4D3F3F", +"n c #D60D16", +"o c #E74746", +"p c #850702", +"q c #E60304", +"r c #DC090B", +"s c #E91B29", +"t c #BD070E", +"u c #FA0202", +"v c #F76364", +"w c #B90601", +"x c #DA0307", +"y c #FE060E", +"z c #F30F09", +"A c #F12F34", +"B c #F80409", +"C c #A90405", +"D c #FD020B", +"E c #FABDB8", +"F c #E90700", +"G c #F6A9A6", +"H c #C71C09", +"I c #CA0819", +"J c #F80C06", +"K c #EF0A13", +"L c #FA8786", +"M c #E62B35", +"N c #C20502", +"O c #FA0C12", +"P c #E50100", +"Q c #E8323C", +"R c #F4B3A8", +"S c #7F0C03", +"T c #EF0908", +"U c #F50111", +"V c #F7192A", +"W c #F8AAA5", +"X c #DB0F11", +"Y c #F71514", +"Z c #DA6D61", +"` c #EF887F", +" . c #EE0704", +".. c #EDFCF3", +"+. c #F60212", +"@. c #EB0307", +"#. c #E9070B", +"$. c #E70E0B", +"%. c #F9DDD9", +"&. c #F6060E", +"*. c #B10A0E", +"=. c #F00A09", +"-. c #DE0600", +";. c #F31113", +">. c #FDDFE2", +",. c #DC0909", +"'. c #F10B12", +"). c #F90306", +"!. c #F9181F", +"~. c #FCD0D1", +"{. c #A9040F", +"]. c #EA4754", +"^. c #FA0908", +"/. c #F41821", +"(. c #000000", +"_. c #EE090F", +":. c #ED0D06", +"<. c #F76869", +"[. c #850405", +"}. c #F80A07", +"|. c #EC0000", +"1. c #F6090B", +"2. c #EE080A", +"3. c #E82322", +"4. c #E10B0B", +"5. c #D80507", +"6. c #E58874", +"7. c #E94149", +"8. c #ED0A04", +"9. c #F50A0E", +"0. c #DD423D", +"a. c #7C302B", +"b. c #E41D24", +"c. c #EE0A0E", +"d. c #FA050E", +"e. c #F40517", +"f. c #B6787D", +" . + @ # ", +" $ % & * = - ; ", +" > , ' ) ! ~ { ] ^ ", +" / ( _ : < [ } | 1 2 ", +" 3 4 5 6 7 8 9 0 a b c d ", +" e f g h i j k l m n o p q r ", +" s t u v w x y z A B C D ", +" E F G H I J K L M N O ", +" P Q R S T U V W X Y Z ", +" ` ...+.@.#.$.%.&.*.=. ", +" -.;.>.,.'.).!.~.{.&.]. ", +" ^./.(.(._.:.(.<.[.}. (. ", +" |.1.(.2.(.3.(.4.5.6.(. (. ", +" 7.8.(.(.9.0.(.a. (. (. ", +" b.(.c.(.d.(. (.(.(. ", +" (.(.e.f.(.(.(. (. (. "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/up.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/up.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,112 @@ +/* XPM */ +static const char * const up_xpm[] = { +"16 16 93 2", +" c None", +". c #000000", +"+ c #BDCCCD", +"@ c #B6C6C8", +"# c #8F9DA8", +"$ c #9FB6C5", +"% c #90AEB9", +"& c #83A0A9", +"* c #6E8E9D", +"= c #83ABC2", +"- c #99BBD4", +"; c #8EB5D3", +"> c #75A6CC", +", c #6FA5C9", +"' c #86A9BE", +") c #87ACBB", +"! c #82A4B0", +"~ c #89A6B2", +"{ c #BFD7E5", +"] c #DDEDFB", +"^ c #DEEEFC", +"/ c #CCE5F5", +"( c #B4D9ED", +"_ c #84BEE6", +": c #9DBBCD", +"< c #E6F0F3", +"[ c #EEF5F9", +"} c #F1F7F8", +"| c #F8FAF9", +"1 c #FBFBFB", +"2 c #FAFBFC", +"3 c #DDEDF7", +"4 c #B8DAEF", +"5 c #7DB8E2", +"6 c #9AB9CB", +"7 c #EEF6F5", +"8 c #FAFCFD", +"9 c #F8FBFB", +"0 c #F5F9F7", +"a c #F4F7F7", +"b c #F3F7F8", +"c c #D0E6F3", +"d c #A7D1EC", +"e c #6BACDE", +"f c #9CB8CC", +"g c #EBF2F2", +"h c #F3F7F7", +"i c #EFF5F6", +"j c #ECF3F2", +"k c #E9F1F2", +"l c #E7F1F4", +"m c #BFDCEC", +"n c #94C4E5", +"o c #599ED6", +"p c #98B4CA", +"q c #D9E6E9", +"r c #DEEBEB", +"s c #DCEAEB", +"t c #DAE8E9", +"u c #D8E8E8", +"v c #D7E6EA", +"w c #A9CDE2", +"x c #7AB2D9", +"y c #448ECC", +"z c #8EB0C6", +"A c #BCD7DA", +"B c #C4DDDC", +"C c #C5DDDE", +"D c #C5DDDD", +"E c #C7DEDF", +"F c #C6DCE0", +"G c #94BFD7", +"H c #62A3CB", +"I c #3381C0", +"J c #8AABC4", +"K c #99BFC6", +"L c #A0C4CA", +"M c #A2C5CB", +"N c #A4C7CC", +"O c #A9CAD0", +"P c #A9C8D1", +"Q c #7AACC7", +"R c #4D91BC", +"S c #2573B1", +"T c #2B688D", +"U c #29648E", +"V c #2A6590", +"W c #2B6592", +"X c #2C6893", +"Y c #2D6594", +"Z c #205A91", +"` c #145190", +" . c #084A8D", +" . ", +" . . ", +" . . . . . . ", +" . . . ", +" . . ", +" + @ # # ", +" $ % & * = - ; > , ", +" ' ) ! ~ { ] ^ / ( _ ", +" : < [ } | 1 2 3 4 5 ", +" 6 7 8 9 0 a b c d e ", +" f g h i j k l m n o ", +" p q r s t u v w x y ", +" z A B C D E F G H I ", +" J K L M N O P Q R S ", +" T U V W X Y Z ` . ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/url.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/url.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,21 @@ +/* XPM */ +static const char * const url_xpm[] = { +"16 16 2 1", +" c None", +". c #000000", +" ", +" ", +" ", +" ", +" .. .. .. ", +" .. .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. .. ", +" .. .. .. ", +" ", +" ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/vcd.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/vcd.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,179 @@ +/* XPM */ +static const char * const vcd_xpm[] = { +"16 16 160 2", +" c None", +". c #CC9665", +"+ c #E1C0A3", +"@ c #EAD1BD", +"# c #E9D2BB", +"$ c #D7B597", +"% c #9D7C5C", +"& c #CE9E71", +"* c #F6E9DE", +"= c #FEF5EE", +"- c #FFFAF6", +"; c #FFFBF7", +"> c #FDF9F5", +", c #F2EBDD", +"' c #FBF5E4", +") c #F3E6D5", +"! c #B19D8A", +"~ c #D9AE89", +"{ c #FFEFE3", +"] c #FFF7F0", +"^ c #FFF6EE", +"/ c #FFF7EF", +"( c #FFF6EB", +"_ c #FFF1DD", +": c #FFF6E3", +"< c #FFFCE9", +"[ c #FFFFF9", +"} c #FFFFFA", +"| c #BEA98F", +"1 c #C08F68", +"2 c #FFD5B2", +"3 c #FFCAA8", +"4 c #FFE2CC", +"5 c #FFF3E9", +"6 c #FFF4E9", +"7 c #FFF3E1", +"8 c #FFF0D0", +"9 c #FFF9D9", +"0 c #FFFEE7", +"a c #FFFFF8", +"b c #FFF8DA", +"c c #B8A685", +"d c #F2B788", +"e c #FFB886", +"f c #FFBD8B", +"g c #FFCA9B", +"h c #FFE7CF", +"i c #FFF6EA", +"j c #FFF4DB", +"k c #FFF7CA", +"l c #FFFFE1", +"m c #FFFFF6", +"n c #FFFBEE", +"o c #FFF3D4", +"p c #FFF3BB", +"q c #DDC18E", +"r c #805A34", +"s c #FDB070", +"t c #FFAD6E", +"u c #FFBA7D", +"v c #FFC78B", +"w c #FFDAA3", +"x c #FFEAC8", +"y c #FFF6C9", +"z c #FFF8C4", +"A c #FFF8E8", +"B c #FFFAEB", +"C c #FFF0C7", +"D c #FFE8A8", +"E c #FFE188", +"F c #FFDC86", +"G c #B57841", +"H c #FFA656", +"I c #FFAC5F", +"J c #FFBC73", +"K c #FFCE89", +"L c #FFDA91", +"M c #FFE194", +"N c #B2A177", +"O c #C0B095", +"P c #FFE6BB", +"Q c #FFE9B3", +"R c #FFD76C", +"S c #FFCC3D", +"T c #ECBB2F", +"U c #966F30", +"V c #BC7D42", +"W c #FFAA52", +"X c #FFAF57", +"Y c #FFC673", +"Z c #FFDE8E", +"` c #FFE58D", +" . c #FCE5A0", +".. c #FFDA8B", +"+. c #FFD673", +"@. c #FFBA00", +"#. c #FEC417", +"$. c #A77D2E", +"%. c #A7713B", +"&. c #FFBF69", +"*. c #FFC570", +"=. c #FFDB87", +"-. c #FFF3A1", +";. c #FFF9BF", +">. c #FFE4BA", +",. c #DFC19C", +"'. c #ECC48A", +"). c #FFCA5D", +"!. c #FFCC45", +"~. c #FEC21C", +"{. c #A57927", +"]. c #FFCF7C", +"^. c #FFDE8B", +"/. c #FFFFCB", +"(. c #FFFFF4", +"_. c #FFECC6", +":. c #FFE4AA", +"<. c #FFE8BA", +"[. c #FFC21D", +"}. c #B58726", +"|. c #E5BC73", +"1. c #FFFAA9", +"2. c #FFFFCD", +"3. c #FFFEF1", +"4. c #FFF3D3", +"5. c #FFE69F", +"6. c #FFE9AB", +"7. c #FFF0C5", +"8. c #FFEBB4", +"9. c #FFD465", +"0. c #A98E59", +"a. c #FFF1B6", +"b. c #FFE59F", +"c. c #FFD86C", +"d. c #FFE08B", +"e. c #FFEAB1", +"f. c #FFE5A3", +"g. c #FFE7AB", +"h. c #CCB396", +"i. c #FFE5B4", +"j. c #FFECA5", +"k. c #FFDB70", +"l. c #FFCB3B", +"m. c #FFD871", +"n. c #FFE8AB", +"o. c #FFE6A4", +"p. c #FFE9AA", +"q. c #C1A46F", +"r. c #EABC6D", +"s. c #FFC924", +"t. c #FFDC6A", +"u. c #FFEFAD", +"v. c #FFEAA1", +"w. c #FFDA8E", +"x. c #A97B28", +"y. c #C08D27", +"z. c #C99C47", +"A. c #CEA762", +"B. c #C09A5A", +"C. c #855F2F", +" . + @ # $ % ", +" & * = - ; > , ' ) ! ", +" ~ { ] ^ / ( _ : < [ } | ", +" 1 2 3 4 5 6 7 8 9 0 a } b c ", +" d e f g h i j k l m n o p q ", +"r s t u v w x y z A B C D E F ", +"G H I J K L M N O P Q D R S T U ", +"V W X Y Z ` . ..+.R @.@.#.$.", +"%.&.*.=.-.;.>.,.'.).!.!.R ~.~.{.", +" ].^.-./.(._.:.<.^.[.!.!.R }. ", +" |.1.2.3.4.5.6.7.8.9.).!.!.R ", +" 0.a.[ 4.b.c.d.e.f.g.9.).!. ", +" h.i.j.k.l.m.n.o.p.p.9. ", +" q.r.!.s.t.u.v.w.p.p. ", +" x.y.z.A.B.C. ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/pixmaps/warning.xpm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/pixmaps/warning.xpm Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,314 @@ +/* XPM */ +static const char * const warning_xpm[] = { +"48 48 263 2", +" c None", +". c #6D0000", +"+ c #700000", +"@ c #6F0000", +"# c #6C0000", +"$ c #610000", +"% c #4F0000", +"& c #660000", +"* c #5C0000", +"= c #6E0000", +"- c #6B0000", +"; c #650000", +"> c #6A0000", +", c #5D0000", +"' c #680000", +") c #5E0000", +"! c #681414", +"~ c #834F4F", +"{ c #987979", +"] c #A28181", +"^ c #934949", +"/ c #710202", +"( c #690000", +"_ c #600000", +": c #640000", +"< c #611212", +"[ c #8D6464", +"} c #C1C1C1", +"| c #D3D3D3", +"1 c #DFDFDF", +"2 c #E0E0E0", +"3 c #D3C6C6", +"4 c #A76E6E", +"5 c #811F1F", +"6 c #750909", +"7 c #7B4B4B", +"8 c #D9D9D9", +"9 c #E1E1E1", +"0 c #D7CBCB", +"a c #994F4F", +"b c #7E1919", +"c c #5F0000", +"d c #9C8888", +"e c #CDCDCD", +"f c #E2E2E2", +"g c #A26060", +"h c #812020", +"i c #720505", +"j c #530000", +"k c #641313", +"l c #ACA3A3", +"m c #DBDBDB", +"n c #E3E3E3", +"o c #C3A2A2", +"p c #7F1B1B", +"q c #661414", +"r c #ABA1A1", +"s c #D4D4D4", +"t c #E4E4E4", +"u c #AE7878", +"v c #791111", +"w c #620000", +"x c #927575", +"y c #E5E5E5", +"z c #A76868", +"A c #740808", +"B c #8C6565", +"C c #CCCCCC", +"D c #E6E6E6", +"E c #7E7E7E", +"F c #4C4C4C", +"G c #464646", +"H c #797979", +"I c #E7E7E7", +"J c #DBD0D0", +"K c #903B3B", +"L c #510000", +"M c #670000", +"N c #722929", +"O c #C0C0C0", +"P c #757575", +"Q c #686868", +"R c #505050", +"S c #282828", +"T c #090909", +"U c #676767", +"V c #E8E8E8", +"W c #D1BBBB", +"X c #801E1E", +"Y c #700101", +"Z c #B3A8A8", +"` c #D5D5D5", +" . c #4D4D4D", +".. c #545454", +"+. c #101010", +"@. c #000000", +"#. c #E9E9E9", +"$. c #B07A7A", +"%. c #7A1313", +"&. c #875454", +"*. c #5E5E5E", +"=. c #323232", +"-. c #EAEAEA", +";. c #EBEBEB", +">. c #8F3939", +",. c #720404", +"'. c #691515", +"). c #C8C8C8", +"!. c #5F5F5F", +"~. c #2A2A2A", +"{. c #D1D1D1", +"]. c #D3BDBD", +"^. c #5B0000", +"/. c #976C6C", +"(. c #D2D2D2", +"_. c #EDEDED", +":. c #565656", +"<. c #202020", +"[. c #ECECEC", +"}. c #994C4C", +"|. c #7B1414", +"1. c #C7C7C7", +"2. c #5C5C5C", +"3. c #D3BBBB", +"4. c #5A0000", +"5. c #926969", +"6. c #EEEEEE", +"7. c #858585", +"8. c #2C2C2C", +"9. c #353535", +"0. c #9C5252", +"a. c #730707", +"b. c #681515", +"c. c #C4C4C4", +"d. c #EFEFEF", +"e. c #989898", +"f. c #4E4E4E", +"g. c #010101", +"h. c #6A6A6A", +"i. c #D6BFBF", +"j. c #540000", +"k. c #630000", +"l. c #895656", +"m. c #F0F0F0", +"n. c #C5C5C5", +"o. c #585858", +"p. c #191919", +"q. c #BBBBBB", +"r. c #9D5353", +"s. c #B8ADAD", +"t. c #F1F1F1", +"u. c #F2F2F2", +"v. c #1B1B1B", +"w. c #CAA8A8", +"x. c #801D1D", +"y. c #3D0000", +"z. c #7A2D2D", +"A. c #CECECE", +"B. c #292929", +"C. c #060606", +"D. c #868686", +"E. c #842525", +"F. c #760B0B", +"G. c #996F6F", +"H. c #D6D6D6", +"I. c #F3F3F3", +"J. c #575757", +"K. c #535353", +"L. c #A45F5F", +"M. c #C3B8B8", +"N. c #F4F4F4", +"O. c #F5F5F5", +"P. c #C8A3A3", +"Q. c #3C0000", +"R. c #6A1515", +"S. c #F6F6F6", +"T. c #410000", +"U. c #7F4242", +"V. c #CFCFCF", +"W. c #707070", +"X. c #434343", +"Y. c #515151", +"Z. c #F7F7F7", +"`. c #A56161", +" + c #7C1717", +".+ c #4E0000", +"++ c #946C6C", +"@+ c #1A1A1A", +"#+ c #0C0C0C", +"$+ c #3B3B3B", +"%+ c #F8F8F8", +"&+ c #B17676", +"*+ c #4C0000", +"=+ c #A58787", +"-+ c #2D2D2D", +";+ c #F9F9F9", +">+ c #CCA9A9", +",+ c #580000", +"'+ c #8A5858", +")+ c #494949", +"!+ c #131313", +"~+ c #FAFAFA", +"{+ c #CDA9A9", +"]+ c #832222", +"^+ c #6C2929", +"/+ c #3C3C3C", +"(+ c #FBFBFB", +"_+ c #822121", +":+ c #560000", +"<+ c #B5A0A0", +"[+ c #FCFCFC", +"}+ c #903A3A", +"|+ c #4A0000", +"1+ c #AA7D7D", +"2+ c #FDFDFD", +"3+ c #DEC7C7", +"4+ c #9F5555", +"5+ c #7D1818", +"6+ c #3E0000", +"7+ c #AE7070", +"8+ c #ECE0E0", +"9+ c #FEFEFE", +"0+ c #CEA9A9", +"a+ c #994949", +"b+ c #862828", +"c+ c #770D0D", +"d+ c #170000", +"e+ c #8F3737", +"f+ c #BE8D8D", +"g+ c #DFC8C8", +"h+ c #FFFFFF", +"i+ c #EEE2E2", +"j+ c #D1AEAE", +"k+ c #A66363", +"l+ c #852626", +"m+ c #310000", +"n+ c #710303", +"o+ c #7C1616", +"p+ c #832323", +"q+ c #9E5353", +"r+ c #AC6D6D", +"s+ c #C59999", +"t+ c #D3B2B2", +"u+ c #D2B1B1", +"v+ c #EFE4E4", +"w+ c #A76464", +"x+ c #A86666", +"y+ c #320000", +"z+ c #520000", +"A+ c #730606", +"B+ c #780F0F", +"C+ c #7B1515", +"D+ c #7A1212", +"E+ c #250000", +"F+ c #450000", +"G+ c #260000", +"H+ c #290000", +"I+ c #340000", +"J+ c #280000", +"K+ c #370000", +"L+ c #590000", +"M+ c #4D0000", +"N+ c #360000", +" ", +" ", +" ", +" . + + + @ # ", +" # + + + + + + + + + $ % ", +" + + + + + + + + + + + @ & * ", +" = + + + + - ; & # + + + + + + > , ", +" @ + + + + ' ) ! ~ { ] ^ + / + + + ( ) _ ", +" @ + + + @ : < [ } | 1 2 2 3 4 5 6 + + ' ) _ ", +" @ + + + > * 7 } 8 9 9 9 9 9 9 9 0 a b / + ' ) c ", +" @ + + + > < d e 2 f f f f f f f f f f g h i + ' c j ", +" # + + + > k l m n n n n n n n n n n n n n o p + + ' _ ", +" - + + + # q r s t t t t t t t t t t t t t t t u v + + w c ", +" + + + @ _ x | y y y y y y y y y y y y y y y y y z A + . c w ", +" @ + + + w B C D D D D D D D E F G H D D D D D D I J K i + > ) L ", +" + + + M N O 2 I I I I I I P Q R S T U I I I V V V V W X Y + & w ", +" + + + . , Z ` V V V V V V V ...+.@.@.@.V #.#.#.#.#.#.#.$.%.+ + _ c ", +" ( + + + _ &.e #.#.#.#.#.#.#.#.*.=.@.@.@.@.-.-.-.-.-.-.-.-.;.>.,.+ M $ ", +" + + + ( '.).n -.-.-.-.-.-.-.s !.~.@.@.@.@.{.;.;.;.;.;.;.;.;.].h Y @ _ ^. ", +" ( + + + $ /.(.;.;.;.;.;.;.;.;._.:.<.@.@.@.@.[.[.[.[.[.[.[.[.[.[.}.|.+ > c ", +" + + + # ! 1.y [.[.[.[.[.[.[.[._.2.<.@.@.@.@._._._._._._._._._._.3.5 + + w 4. ", +" + + + ; 5.` _._._._._._._._.6.6.7.8.@.@.@.9.6.6.6.6.6.6.6.6.6.6.6.0.a.+ - ) ", +" = + + # b.c.#.6.6.6.6.6.6.d.d.d.d.e.f.g.@.@.h.d.d.d.d.d.d.d.d.d.d.d.i.p + + $ j. ", +" + + + k.l.{.d.d.d.d.d.m.m.m.m.m.m.n.o.p.@.@.q.m.m.m.m.m.m.m.m.m.m.m.m.r.a.+ - c ", +" ' + + . ) s.t m.m.m.t.t.t.t.t.t.t.t.u. .<.@.v.t.t.t.t.t.t.t.t.t.t.t.t.t.w.x.+ + $ y. ", +" = + + ' z.A.t.t.t.u.u.u.u.u.u.u.u.u.u.e.B.C.D.u.u.u.u.u.u.u.u.u.u.u.u.u.u.E.F.+ ; j ", +" + + + $ G.H.u.I.I.I.I.I.I.I.I.I.I.I.I.I.J.K.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.L.5 + - _ ", +" + + . c M.#.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.O.O.P.E./ + _ Q. ", +" & + + ( R.(.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.S.S.S.S.S.x.%.+ & T. ", +" ( + + ; U.1 S.S.S.S.S.S.S.S.S.S.S.S.S.V.W.X.Y.C S.S.S.S.S.S.S.S.Z.Z.Z.Z.Z.Z.Z.`. ++ > .+ ", +" ' + + ; ++6.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.U .@+#+$+Z.Z.Z.Z.Z.Z.%+%+%+%+%+%+%+%+%+&+b + # *+ ", +" M + + $ =+Z.%+%+%+%+%+%+%+%+%+%+%+%+%+-+p.@.@.@.%+%+%+%+%+;+;+;+;+;+;+;+;+;+;+>+5 + @ ,+ ", +" & + + $ '+;+;+;+;+;+;+;+;+;+;+;+;+;+;+)+!+@.@.$+;+;+;+~+~+~+~+~+~+~+~+~+~+~+~+{+]++ + $ ", +" & + + ; ^+O.~+~+~+~+~+~+~+~+~+~+~+~+~+V./+@.$+V.~+(+(+(+(+(+(+(+(+(+(+(+(+(+(+&+_++ + j ", +" * + + = :+<+~+(+(+(+(+(+(+(+(+(+(+(+(+(+(+(+(+[+[+[+[+[+[+[+[+[+[+[+[+[+[+[+[+}+%.+ > |+ ", +" + + + ' j 1+[+[+[+[+[+[+[+[+[+[+[+[+[+[+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+3+4+5++ + w 6+ ", +" M + + + = = p 7+8+2+2+2+2+2+2+2+2+2+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+9+0+a+b+c++ + # ) d+ ", +" > + + + + + + + e+f+g+9+9+9+9+h+h+h+h+h+h+h+h+h+h+h+h+h+h+i+j+k+X l+X 6 + + ' , m+ ", +" > + + + + + + + n+o+p+q+r+s+t+u+v+h+h+h+h+h+u+u+u+w+x+]+p+_+ +|./ + @ # _ c y+ ", +" z++ + + + + + + + + + A+B+5+C+C+C+C+C+C+C+C+C+C+ +D+A Y + + + # ; c $ j.E+ ", +" F+( + + + + + + + + + + + + + + + + + + + + + + @ # ' ; _ $ k.z+G+@. ", +" H+% _ + + + + + + + + + + + + + = # > & ; ; c _ k.c z+I+@. ", +" J+K+.+% |+L+$ $ $ $ $ $ c $ $ M+M+% y+N+@.@. ", +" @.@.@.@.@.@.@.@.@. ", +" ", +" ", +" ", +" "}; diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/playbar.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/playbar.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,265 @@ +/* + * main window + * + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include + +#include "config.h" +#include "gui/app.h" +#include "gui/skin/font.h" +#include "gui/skin/skin.h" +#include "gui/wm/ws.h" + +#include "help_mp.h" +#include "mp_core.h" +#include "libvo/x11_common.h" +#include "libvo/fastmemcpy.h" + +#include "stream/stream.h" +#include "mixer.h" +#include "sub/sub.h" + +#include "libmpdemux/demuxer.h" +#include "libmpdemux/stheader.h" +#include "codec-cfg.h" + +#include "gmplayer.h" +#include "actions.h" +#include "widgets.h" +#include "render.h" + +unsigned int GetTimerMS( void ); +unsigned int GetTimer( void ); + +unsigned char * playbarDrawBuffer = NULL; +int playbarVisible = 0; +int playbarLength = 0; +int uiPlaybarFade = 0; + +static void uiPlaybarDraw( void ) +{ + int x; + + if ( !guiApp.subWindow.isFullScreen ) return; + if ( !playbarVisible || !guiApp.playbarIsPresent ) return; + +// guiApp.playbar.x=( guiApp.subWindow.Width - guiApp.playbar.width ) / 2; + switch( guiApp.playbar.x ) + { + case -1: x=( guiApp.subWindow.Width - guiApp.playbar.width ) / 2; break; + case -2: x=( guiApp.subWindow.Width - guiApp.playbar.width ); break; + default: x=guiApp.playbar.x; + } + + switch ( uiPlaybarFade ) + { + case 1: // fade in + playbarLength--; + if ( guiApp.subWindow.Height - guiApp.playbar.height >= playbarLength ) + { + playbarLength=guiApp.subWindow.Height - guiApp.playbar.height; + uiPlaybarFade=0; + vo_mouse_autohide=0; + } + wsMoveWindow( &guiApp.playbarWindow,0,x,playbarLength ); + break; + case 2: // fade out + playbarLength+=10; + if ( playbarLength > guiApp.subWindow.Height ) + { + playbarLength=guiApp.subWindow.Height; + uiPlaybarFade=playbarVisible=0; + vo_mouse_autohide=1; + wsVisibleWindow( &guiApp.playbarWindow,wsHideWindow ); + return; + } + wsMoveWindow( &guiApp.playbarWindow,0,x,playbarLength ); + break; + } + +// --- render + if ( guiApp.playbarWindow.State == wsWindowExpose ) + { + btnModify( evSetMoviePosition,guiInfo.Position ); + btnModify( evSetVolume,guiInfo.Volume ); + + vo_mouse_autohide=0; + + fast_memcpy( playbarDrawBuffer,guiApp.playbar.Bitmap.Image,guiApp.playbar.Bitmap.ImageSize ); + RenderAll( &guiApp.playbarWindow,guiApp.playbarItems,guiApp.IndexOfPlaybarItems,playbarDrawBuffer ); + wsConvert( &guiApp.playbarWindow,playbarDrawBuffer ); + } + wsPutImage( &guiApp.playbarWindow ); +} + +static void uiPlaybarMouseHandle( int Button, int X, int Y, int RX, int RY ) +{ + static int itemtype = 0; + int i; + wItem * item = NULL; + float value = 0.0f; + + static int SelectedItem = -1; + int currentselected = -1; + + for ( i=0;i <= guiApp.IndexOfPlaybarItems;i++ ) + if ( ( guiApp.playbarItems[i].pressed != btnDisabled )&& + ( wgIsRect( X,Y,guiApp.playbarItems[i].x,guiApp.playbarItems[i].y,guiApp.playbarItems[i].x+guiApp.playbarItems[i].width,guiApp.playbarItems[i].y+guiApp.playbarItems[i].height ) ) ) + { currentselected=i; break; } + + switch ( Button ) + { + case wsPMMouseButton: + gtkShow( evHidePopUpMenu,NULL ); + uiShowMenu( RX,RY ); + break; + case wsRMMouseButton: + uiHideMenu( RX,RY,0 ); + break; + case wsRRMouseButton: + gtkShow( evShowPopUpMenu,NULL ); + break; +// --- + case wsPLMouseButton: + gtkShow( evHidePopUpMenu,NULL ); + SelectedItem=currentselected; + if ( SelectedItem == -1 ) break; // yeees, i'm move the fucking window + item=&guiApp.playbarItems[SelectedItem]; + itemtype=item->type; + item->pressed=btnPressed; + + switch( item->type ) + { + case itButton: + if ( ( SelectedItem > -1 ) && + ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) || + ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) ) + { item->pressed=btnDisabled; } + break; + } + + break; + case wsRLMouseButton: + if ( SelectedItem != -1 ) // NOTE TO MYSELF: only if itButton, itHPotmeter or itVPotmeter + { + item=&guiApp.playbarItems[SelectedItem]; + item->pressed=btnReleased; + } + SelectedItem=-1; + if ( currentselected == - 1 ) { itemtype=0; break; } + value=0; + + switch( itemtype ) + { + case itPotmeter: + case itHPotmeter: + btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f ); + uiEventHandling( item->message,item->value ); + value=item->value; + break; + case itVPotmeter: + btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f ); + uiEventHandling( item->message,item->value ); + value=item->value; + break; + } + uiEventHandling( item->message,value ); + + itemtype=0; + break; +// --- + case wsP5MouseButton: value=-2.5f; goto rollerhandled; + case wsP4MouseButton: value= 2.5f; +rollerhandled: + item=&guiApp.playbarItems[currentselected]; + if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) ) + { + item->value+=value; + btnModify( item->message,item->value ); + uiEventHandling( item->message,item->value ); + } + break; +// --- + case wsMoveMouse: + item=&guiApp.playbarItems[SelectedItem]; + switch ( itemtype ) + { + case itPRMButton: + uiMenuMouseHandle( X,Y,RX,RY ); + break; + case itPotmeter: + item->value=(float)( X - item->x ) / item->width * 100.0f; + goto potihandled; + case itVPotmeter: + item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f; + goto potihandled; + case itHPotmeter: + item->value=(float)( X - item->x ) / item->width * 100.0f; +potihandled: + if ( item->value > 100.0f ) item->value=100.0f; + if ( item->value < 0.0f ) item->value=0.0f; + uiEventHandling( item->message,item->value ); + break; + } + break; + } +} + +void uiPlaybarShow( int x, int y ) +{ + if ( !guiApp.playbarIsPresent || !gtkEnablePlayBar ) return; + if ( !guiApp.subWindow.isFullScreen ) return; + + if ( y > guiApp.subWindow.Height - guiApp.playbar.height ) + { + if ( !uiPlaybarFade ) wsVisibleWindow( &guiApp.playbarWindow,wsShowWindow ); + uiPlaybarFade=1; playbarVisible=1; wsPostRedisplay( &guiApp.playbarWindow ); + } + else if ( !uiPlaybarFade ) uiPlaybarFade=2; +} + +void uiPlaybarInit( void ) +{ + if ( !guiApp.playbarIsPresent ) return; + + gfree( (void**)&playbarDrawBuffer ); + + if ( ( playbarDrawBuffer = malloc( guiApp.playbar.Bitmap.ImageSize ) ) == NULL ) + { + gmp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_NEMDB ); + guiExit( EXIT_ERROR ); + } + + guiApp.playbarWindow.Parent=guiApp.subWindow.WindowID; + wsCreateWindow( &guiApp.playbarWindow, + guiApp.playbar.x,guiApp.playbar.y,guiApp.playbar.width,guiApp.playbar.height, + wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsHideFrame|wsHideWindow,"PlayBar" ); + + wsSetShape( &guiApp.playbarWindow,guiApp.playbar.Mask.Image ); + + guiApp.playbarWindow.ReDraw=(void *)uiPlaybarDraw; + guiApp.playbarWindow.MouseHandler=uiPlaybarMouseHandle; + guiApp.playbarWindow.KeyHandler=uiMainKeyHandle; + + playbarLength=guiApp.subWindow.Height; +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/render.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/render.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,485 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include + +#include "render.h" +#include "gui/interface.h" +#include "gui/skin/font.h" + +#include "access_mpcontext.h" +#include "codec-cfg.h" +#include "config.h" +#include "help_mp.h" +#include "libavutil/avstring.h" +#include "libmpdemux/stheader.h" +#include "mixer.h" +#include "osdep/timer.h" +#include "stream/stream.h" + +#define DLABEL_DELAY 2500 // in milliseconds + +static char *image_buffer; +static int image_width; + +static void TranslateFilename(int c, char *tmp, size_t tmplen) +{ + int i; + char *p; + size_t len; + + switch (guiInfo.StreamType) { + case STREAMTYPE_STREAM: + av_strlcpy(tmp, guiInfo.Filename, tmplen); + break; + + case STREAMTYPE_FILE: + if (guiInfo.Filename && guiInfo.Filename[0]) { + p = strrchr(guiInfo.Filename, '/'); + + if (p) + av_strlcpy(tmp, p + 1, tmplen); + else + av_strlcpy(tmp, guiInfo.Filename, tmplen); + + len = strlen(tmp); + + if (len > 3 && tmp[len - 3] == '.') + tmp[len - 3] = 0; + else if (len > 4 && tmp[len - 4] == '.') + tmp[len - 4] = 0; + else if (len > 5 && tmp[len - 5] == '.') + tmp[len - 5] = 0; + } else + av_strlcpy(tmp, MSGTR_NoFileLoaded, tmplen); + break; + +#ifdef CONFIG_DVDREAD + case STREAMTYPE_DVD: + if (guiInfo.DVD.current_chapter) + snprintf(tmp, tmplen, MSGTR_Chapter, guiInfo.DVD.current_chapter); + else + av_strlcat(tmp, MSGTR_NoChapter, tmplen); + break; +#endif + +#ifdef CONFIG_VCD + case STREAMTYPE_VCD: + snprintf(tmp, tmplen, MSGTR_VCDTrack, guiInfo.Track); + break; +#endif + + default: + av_strlcpy(tmp, MSGTR_NoMediaOpened, tmplen); + break; + } + + if (c) { + for (i = 0; tmp[i]; i++) { + int t = 0; + + if (c == 1) + if (tmp[i] >= 'A' && tmp[i] <= 'Z') + t = 32; + + if (c == 2) + if (tmp[i] >= 'a' && tmp[i] <= 'z') + t = -32; + + tmp[i] = (char)(tmp[i] + t); + } + } +} + +static char *Translate(char *str) +{ + static char trbuf[512]; + char tmp[512]; + unsigned int i, c; + int t; + mixer_t *mixer; + + *trbuf = 0; + + for (c = 0, i = 0; i < strlen(str); i++) { + if (str[i] != '$') { + if (c + 1 < sizeof(trbuf)) { + trbuf[c++] = str[i]; + trbuf[c] = 0; + } + } else { + switch (str[++i]) { + case 't': + snprintf(tmp, sizeof(tmp), "%02d", guiInfo.Track); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'o': + TranslateFilename(0, tmp, sizeof(tmp)); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'f': + TranslateFilename(1, tmp, sizeof(tmp)); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'F': + TranslateFilename(2, tmp, sizeof(tmp)); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '6': + t = guiInfo.LengthInSec; + goto calclengthhhmmss; + + case '1': + t = guiInfo.TimeSec; +calclengthhhmmss: + snprintf(tmp, sizeof(tmp), "%02d:%02d:%02d", t / 3600, t / 60 % 60, t % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '7': + t = guiInfo.LengthInSec; + goto calclengthmmmmss; + + case '2': + t = guiInfo.TimeSec; +calclengthmmmmss: + snprintf(tmp, sizeof(tmp), "%04d:%02d", t / 60, t % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '3': + snprintf(tmp, sizeof(tmp), "%02d", guiInfo.TimeSec / 3600); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '4': + snprintf(tmp, sizeof(tmp), "%02d", (guiInfo.TimeSec / 60) % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '5': + snprintf(tmp, sizeof(tmp), "%02d", guiInfo.TimeSec % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '8': + snprintf(tmp, sizeof(tmp), "%01d:%02d:%02d", guiInfo.TimeSec / 3600, (guiInfo.TimeSec / 60) % 60, guiInfo.TimeSec % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'v': + snprintf(tmp, sizeof(tmp), "%3.2f%%", guiInfo.Volume); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'V': + snprintf(tmp, sizeof(tmp), "%3.1f", guiInfo.Volume); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'b': + snprintf(tmp, sizeof(tmp), "%3.2f%%", guiInfo.Balance); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'B': + snprintf(tmp, sizeof(tmp), "%3.1f", guiInfo.Balance); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'd': + snprintf(tmp, sizeof(tmp), "%d", guiInfo.FrameDrop); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'x': + snprintf(tmp, sizeof(tmp), "%d", guiInfo.MovieWidth); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'y': + snprintf(tmp, sizeof(tmp), "%d", guiInfo.MovieHeight); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'C': + snprintf(tmp, sizeof(tmp), "%s", guiInfo.sh_video ? ((sh_video_t *)guiInfo.sh_video)->codec->name : ""); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 's': + if (guiInfo.Playing == 0) + av_strlcat(trbuf, "s", sizeof(trbuf)); + break; + + case 'l': + if (guiInfo.Playing == 1) + av_strlcat(trbuf, "p", sizeof(trbuf)); + break; + + case 'e': + if (guiInfo.Playing == 2) + av_strlcat(trbuf, "e", sizeof(trbuf)); + break; + + case 'a': + + mixer = mpctx_get_mixer(guiInfo.mpcontext); + + if (mixer->muted) { + av_strlcat(trbuf, "n", sizeof(trbuf)); + break; + } + + switch (guiInfo.AudioType) { + case 0: + av_strlcat(trbuf, "n", sizeof(trbuf)); + break; + + case 1: + av_strlcat(trbuf, "m", sizeof(trbuf)); + break; + + case 2: + av_strlcat(trbuf, "t", sizeof(trbuf)); + break; + } + + break; + + case 'T': + switch (guiInfo.StreamType) { + case STREAMTYPE_FILE: + av_strlcat(trbuf, "f", sizeof(trbuf)); + break; + +#ifdef CONFIG_VCD + case STREAMTYPE_VCD: + av_strlcat(trbuf, "v", sizeof(trbuf)); + break; +#endif + + case STREAMTYPE_STREAM: + av_strlcat(trbuf, "u", sizeof(trbuf)); + break; + +#ifdef CONFIG_DVDREAD + case STREAMTYPE_DVD: + av_strlcat(trbuf, "d", sizeof(trbuf)); + break; +#endif + + default: + av_strlcat(trbuf, " ", sizeof(trbuf)); + break; + } + break; + + case '$': + av_strlcat(trbuf, "$", sizeof(trbuf)); + break; + + default: + continue; + } + + c = strlen(trbuf); + } + } + + return trbuf; +} + +static void PutImage(guiImage *bf, int x, int y, int max, int ofs) +{ + int i = 0, ix, iy; + uint32_t *buf = NULL; + uint32_t *drw = NULL; + register uint32_t tmp; + + /* register uint32_t yc; */ + + if (!bf || (bf->Image == NULL)) + return; + + i = bf->Width * (bf->Height / max) * ofs; + buf = (uint32_t *)image_buffer; + drw = (uint32_t *)bf->Image; + +#if 1 + for (iy = y; iy < (int)(y + bf->Height / max); iy++) + for (ix = x; ix < (int)(x + bf->Width); ix++) { + tmp = drw[i++]; + + if (!IS_TRANSPARENT(tmp)) + buf[iy * image_width + ix] = tmp; + } +#else + yc = y * image_width; + + for (iy = y; iy < (int)(y + bf->Height / max); iy++) { + for (ix = x; ix < (int)(x + bf->Width); ix++) { + tmp = drw[i++]; + + if (!IS_TRANSPARENT(tmp)) + buf[yc + ix] = tmp; + } + + yc += image_width; + } +#endif +} + +static void SimplePotmeterPutImage(guiImage *bf, int x, int y, float frac) +{ + int i = 0, w, r, ix, iy; + uint32_t *buf = NULL; + uint32_t *drw = NULL; + register uint32_t tmp; + + if (!bf || (bf->Image == NULL)) + return; + + buf = (uint32_t *)image_buffer; + drw = (uint32_t *)bf->Image; + w = bf->Width * frac; + r = bf->Width - w; + + for (iy = y; iy < (int)(y + bf->Height); iy++) { + for (ix = x; ix < (int)(x + w); ix++) { + tmp = drw[i++]; + + if (!IS_TRANSPARENT(tmp)) + buf[iy * image_width + ix] = tmp; + } + + i += r; + } +} + +void RenderAll(wsTWindow *window, wItem *Items, int nrItems, char *db) +{ + wItem *item; + guiImage *image = NULL; + int i, ofs; + + image_buffer = db; + image_width = window->Width; + + for (i = 0; i < nrItems + 1; i++) { + item = &Items[i]; + + switch (item->pressed) { + case btnPressed: + ofs = 0; + break; + + case btnReleased: + ofs = 1; + break; + + default: + ofs = 2; + break; + } + + switch (item->type) { + case itButton: + PutImage(&item->Bitmap, item->x, item->y, 3, ofs); + break; + + case itPotmeter: + if (item->numphases == 1) + SimplePotmeterPutImage(&item->Bitmap, item->x, item->y, item->value / 100.0); + else + PutImage(&item->Bitmap, item->x, item->y, item->numphases, (item->numphases - 1) * (item->value / 100.0)); + break; + + case itHPotmeter: + if (item->numphases == 1) + SimplePotmeterPutImage(&item->Bitmap, item->x, item->y, item->value / 100.0); + else + PutImage(&item->Bitmap, item->x, item->y, item->numphases, (item->numphases - 1) * (item->value / 100.0)); + PutImage(&item->Mask, item->x + (item->width - item->pwidth) * (item->value / 100.0), item->y, 3, ofs); + break; + + case itVPotmeter: + PutImage(&item->Bitmap, item->x, item->y, item->numphases, item->numphases * (1.0 - item->value / 100.0)); + PutImage(&item->Mask, item->x, item->y + (item->height - item->pheight) * (1.0 - item->value / 100.0), 3, ofs); + break; + + case itSLabel: + if (item->width == -1) + item->width = fntTextWidth(item->fontid, item->label); + image = fntRender(item, 0, item->label); + if (image) + PutImage(image, item->x, item->y, 1, 0); + break; + + case itDLabel: + { + int x; + unsigned int d; + char *t = Translate(item->label); + + if (!item->text || (strcmp(item->text, t) != 0)) { + free(item->text); + item->text = strdup(t); + item->textwidth = fntTextWidth(item->fontid, t); + item->starttime = GetTimerMS(); + item->last_x = 0; + } + + d = GetTimerMS() - item->starttime; + + if (d < DLABEL_DELAY) + x = item->last_x; // don't scroll yet + else { + int l; + char c[2]; + + l = (item->textwidth ? item->textwidth : item->width); + x = l - ((d - DLABEL_DELAY) / 20) % l - 1; + c[0] = *item->text; + c[1] = '\0'; + + if (x < (fntTextWidth(item->fontid, c) + 1) >> 1) { + item->starttime = GetTimerMS(); // stop again + item->last_x = x; // at current x pos + } + } + + image = fntRender(item, x, t); + } + + if (image) + PutImage(image, item->x, item->y, 1, 0); + + break; + } + } + + wsConvert(window, db); +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/render.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/render.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,26 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_RENDER_H +#define MPLAYER_GUI_RENDER_H + +#include "gui/app.h" + +void RenderAll(wsTWindow *window, wItem *Items, int nrItems, char *db); + +#endif /* MPLAYER_GUI_RENDER_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/sub.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/sub.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,106 @@ +/* + * sub window + * + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +#include "config.h" +#include "libvo/x11_common.h" +#include "help_mp.h" +#include "mp_core.h" + +#include "gmplayer.h" +#include "gui/app.h" +#include "gui/interface.h" +#include "widgets.h" + +int uiSubRender = 0; +int subVisible = 0; + +void uiSubDraw( void ) +{ + if ( guiApp.subWindow.State == wsWindowClosed ) guiExit( EXIT_QUIT ); + + if ( guiApp.subWindow.State == wsWindowFocusIn ) subVisible++; + if ( guiApp.subWindow.State == wsWindowFocusOut && metacity_hack != 3 ) subVisible--; + + if ( !guiApp.subWindow.Mapped || + guiApp.subWindow.Visible == wsWindowNotVisible ) return; + + if ( guiInfo.Playing ) uiSubRender=0; + + if ( uiSubRender && guiApp.subWindow.State == wsWindowExpose ) + { + if ( guiApp.sub.Bitmap.Image ) wsPutImage( &guiApp.subWindow ); + } + guiApp.subWindow.State=0; +} + +void uiSubMouseHandle( int Button,int X,int Y,int RX,int RY ) +{ + static int mplSubMoved = 0; + static int msButton = 0; + + uiPlaybarShow( X,Y ); + + switch( Button ) + { + case wsRRMouseButton: + gtkShow( evShowPopUpMenu,NULL ); + break; + case wsPMMouseButton: + gtkShow( evHidePopUpMenu,NULL ); + uiShowMenu( RX,RY ); + msButton=wsPMMouseButton; + break; + case wsRMMouseButton: + uiHideMenu( RX,RY,1 ); + msButton=0; + break; +// --- + case wsPLMouseButton: + gtkShow( evHidePopUpMenu,NULL ); + sx=X; sy=Y; + msButton=wsPLMouseButton; + mplSubMoved=0; + break; + case wsMoveMouse: + switch ( msButton ) + { + case wsPLMouseButton: + mplSubMoved=1; + if ( !guiApp.subWindow.isFullScreen ) wsMoveWindow( &guiApp.subWindow,False,RX - sx,RY - sy ); + break; + case wsPMMouseButton: + uiMenuMouseHandle( X,Y,RX,RY ); + break; + default: uiPlaybarShow( X,Y ); break; + } + break; + case wsRLMouseButton: + if ( ( !mplSubMoved )&&( guiApp.subWindow.isFullScreen ) ) + { + if( subVisible++%2 ) wsMoveTopWindow( wsDisplay,guiApp.mainWindow.WindowID ); + else wsMoveTopWindow( wsDisplay,guiApp.subWindow.WindowID ); + } + msButton=0; + mplSubMoved=0; + break; + } +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/widgets.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/widgets.c Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,317 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "config.h" +#include "help_mp.h" +#include "mp_msg.h" +#include "libavutil/intreadwrite.h" +#include "libvo/x11_common.h" + +#include "widgets.h" +#include "gui/app.h" +#include "gui/interface.h" +#include "gui/wm/ws.h" + +#include "actions.h" +#include "gtk/fs.h" + +GtkWidget *PopUpMenu = NULL; + +GtkWidget *WarningPixmap; +GtkWidget *ErrorPixmap; + +int gtkPopupMenu = 0; +int gtkPopupMenuParam = 0; +int gtkInitialized = 0; + +#include "gtk/sb.h" +#include "gtk/pl.h" +#include "gtk/fs.h" +#include "gtk/mb.h" +#include "gtk/about.h" +#include "gtk/opts.h" +#include "gtk/gtk_menu.h" +#include "gtk/gtk_url.h" +#include "gtk/eq.h" + +#include "pixmaps/mplayer.xpm" + +#define THRESHOLD 128 // transparency values equal to or above this will become + // opaque, all values below this will become transparent + +// --- init & close gtk + +guiIcon_t guiIcon; + +void gtkInit(void) +{ + int argc = 0, i; + char *arg[3], **argv = arg; + GdkPixbuf *pixbuf; + GdkPixmap *gdkIcon; + GdkBitmap *gdkIconMask; + guchar *data; + + mp_msg(MSGT_GPLAYER, MSGL_V, "GTK init.\n"); + + arg[argc++] = GMPlayer; + + if (mDisplayName) { // MPlayer option '-display' was given + arg[argc++] = "--display"; // Pass corresponding command line arguments to GTK, + arg[argc++] = mDisplayName; // to open the requested display for the GUI, too. + } + +#ifdef CONFIG_GTK2 + gtk_disable_setlocale(); +#endif + + gtk_init(&argc, &argv); + + pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)mplayer_xpm); + + gdk_pixbuf_render_pixmap_and_mask_for_colormap(pixbuf, gdk_colormap_get_system(), &gdkIcon, &gdkIconMask, THRESHOLD); + + if (gdk_pixbuf_get_colorspace(pixbuf) == GDK_COLORSPACE_RGB && + gdk_pixbuf_get_n_channels(pixbuf) == 4 && + gdk_pixbuf_get_bits_per_sample(pixbuf) == 8) { + guiIcon.collection_size = 2 + gdk_pixbuf_get_width(pixbuf) * gdk_pixbuf_get_height(pixbuf); + + guiIcon.collection = malloc(guiIcon.collection_size * sizeof(*guiIcon.collection)); + + if (guiIcon.collection) { + guiIcon.collection[0] = gdk_pixbuf_get_width(pixbuf); + guiIcon.collection[1] = gdk_pixbuf_get_height(pixbuf); + + data = gdk_pixbuf_get_pixels(pixbuf); + + for (i = 2; i < guiIcon.collection_size; data += 4, i++) + guiIcon.collection[i] = (data[3] << 24) | AV_RB24(data); // RGBA -> ARGB + } + } else + mp_msg(MSGT_GPLAYER, MSGL_WARN, MSGTR_ICONERROR, "mplayer"); + + // start up GTK which realizes the pixmaps + gtk_main_iteration_do(FALSE); + + guiIcon.normal = GDK_PIXMAP_XID(gdkIcon); + guiIcon.normal_mask = GDK_PIXMAP_XID(gdkIconMask); + + gtkInitialized = 1; +} + +void gtkAddIcon(GtkWidget *window) +{ + wsSetIcon(gdk_display, GDK_WINDOW_XWINDOW(window->window), &guiIcon); +} + +void gtkClearList(GtkWidget *list) +{ + gtk_clist_clear(GTK_CLIST(list)); +} + +int gtkFindCList(GtkWidget *list, char *item) +{ + gint j; + gchar *tmpstr; + + for (j = 0; j < GTK_CLIST(list)->rows; j++) { + gtk_clist_get_text(GTK_CLIST(list), j, 0, &tmpstr); + + if (!strcmp(tmpstr, item)) + return j; + } + + return -1; +} + +void gtkSetDefaultToCList(GtkWidget *list, char *item) +{ + gint i; + + if ((i = gtkFindCList(list, item)) > -1) + gtk_clist_select_row(GTK_CLIST(list), i, 0); +} + +void gtkEventHandling(void) +{ + int i; + + for (i = 0; i < 25; i++) + gtk_main_iteration_do(0); +} + +// --- funcs + +void gtkMessageBox(int type, const gchar *str) +{ + if (!gtkInitialized) + return; + + ShowMessageBox(str); + gtk_label_set_text(GTK_LABEL(gtkMessageBoxText), str); + + /* enable linewrapping by alex */ +// GTK_LABEL(gtkMessageBoxText)->max_width = 80; + if (strlen(str) > 80) + gtk_label_set_line_wrap(GTK_LABEL(gtkMessageBoxText), TRUE); + else + gtk_label_set_line_wrap(GTK_LABEL(gtkMessageBoxText), FALSE); + + switch (type) { + case GTK_MB_FATAL: + gtk_window_set_title(GTK_WINDOW(MessageBox), MSGTR_MSGBOX_LABEL_FatalError); + gtk_widget_hide(WarningPixmap); + gtk_widget_show(ErrorPixmap); + break; + + case GTK_MB_ERROR: + gtk_window_set_title(GTK_WINDOW(MessageBox), MSGTR_MSGBOX_LABEL_Error); + gtk_widget_hide(WarningPixmap); + gtk_widget_show(ErrorPixmap); + break; + + case GTK_MB_WARNING: + gtk_window_set_title(GTK_WINDOW(MessageBox), MSGTR_MSGBOX_LABEL_Warning); + gtk_widget_show(WarningPixmap); + gtk_widget_hide(ErrorPixmap); + break; + } + + gtk_widget_show(MessageBox); + gtkSetLayer(MessageBox); + + if (type == GTK_MB_FATAL) + while (MessageBox) + gtk_main_iteration_do(0); +} + +void gtkSetLayer(GtkWidget *wdg) +{ + wsSetLayer(gdk_display, GDK_WINDOW_XWINDOW(wdg->window), guiApp.subWindow.isFullScreen); + gtkActive(wdg); +} + +void gtkActive(GtkWidget *wdg) +{ + wsMoveTopWindow(gdk_display, GDK_WINDOW_XWINDOW(wdg->window)); +} + +void gtkShow(int type, char *param) +{ + switch (type) { + case evEqualizer: + ShowEqualizer(); + gtkSetLayer(Equalizer); + break; + + case evSkinBrowser: + ShowSkinBrowser(); + +// gtkClearList( SkinList ); + if (gtkFillSkinList(sbMPlayerPrefixDir) && + gtkFillSkinList(sbMPlayerDirInHome)) { + gtkSetDefaultToCList(SkinList, param); + gtk_clist_sort(GTK_CLIST(SkinList)); + gtk_widget_show(SkinBrowser); + gtkSetLayer(SkinBrowser); + } else { + gtk_widget_destroy(SkinBrowser); + gtkMessageBox(GTK_MB_ERROR, "Skin dirs not found ... Please install skins."); + } + + break; + + case evPreferences: + ShowPreferences(); + break; + + case evPlayList: + ShowPlayList(); + gtkSetLayer(PlayList); + break; + + case evLoad: + ShowFileSelect(fsVideoSelector, 0); + gtkSetLayer(fsFileSelect); + break; + + case evFirstLoad: + ShowFileSelect(fsVideoSelector, 0); + gtkSetLayer(fsFileSelect); + break; + + case evLoadSubtitle: + ShowFileSelect(fsSubtitleSelector, 0); + gtkSetLayer(fsFileSelect); + break; + + case evLoadAudioFile: + ShowFileSelect(fsAudioSelector, 0); + gtkSetLayer(fsFileSelect); + break; + + case evAbout: + ShowAboutBox(); + gtkSetLayer(About); + break; + + case evShowPopUpMenu: + gtkPopupMenu = evNone; + gtkPopupMenuParam = 0; + + if (PopUpMenu) { + gtk_widget_hide(PopUpMenu); + gtk_widget_destroy(PopUpMenu); + } + + PopUpMenu = create_PopUpMenu(); + gtk_menu_popup(GTK_MENU(PopUpMenu), NULL, NULL, NULL, NULL, 0, 0); + break; + + case evHidePopUpMenu: + + if (PopUpMenu) { + gtk_widget_hide(PopUpMenu); + gtk_widget_destroy(PopUpMenu); + PopUpMenu = NULL; + } + + break; + + case evPlayNetwork: + ShowURLDialogBox(); + gtkSetLayer(URL); + break; + } +} diff -r c5a19bbeac2b -r 520fb0f7544c gui/ui/widgets.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gui/ui/widgets.h Sat Jun 18 16:03:31 2011 +0000 @@ -0,0 +1,85 @@ +/* + * This file is part of MPlayer. + * + * MPlayer is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * MPlayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with MPlayer; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPLAYER_GUI_WIDGETS_H +#define MPLAYER_GUI_WIDGETS_H + +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "osdep/shmem.h" +#include "actions.h" +#include "mplayer.h" +#include "gui/interface.h" + +#define GTK_MB_SIMPLE 0 +#define GTK_MB_MODAL 1 +#define GTK_MB_FATAL 2 +#define GTK_MB_ERROR 4 +#define GTK_MB_WARNING 8 + +extern GtkWidget *PlayList; +extern GtkWidget *Options; +extern GtkWidget *PopUpMenu; + +extern GtkWidget *WarningPixmap; +extern GtkWidget *ErrorPixmap; + +extern GtkWidget *SkinList; +extern GtkWidget *gtkMessageBoxText; + +extern int gtkPopupMenu; +extern int gtkPopupMenuParam; + +extern char *sbMPlayerDirInHome; +extern char *sbMPlayerPrefixDir; + +typedef struct { + Pixmap small; + Pixmap small_mask; + Pixmap normal; + Pixmap normal_mask; + int collection_size; + CARD32 *collection; +} guiIcon_t; + +extern guiIcon_t guiIcon; + +void widgetsCreate(void); + +void gtkInit(void); +void gtkAddIcon(GtkWidget *window); + +int gtkFillSkinList(gchar *dir); +void gtkClearList(GtkWidget *list); +void gtkSetDefaultToCList(GtkWidget *list, char *item); +int gtkFindCList(GtkWidget *list, char *item); + +void gtkEventHandling(void); + +void gtkShow(int type, char *param); +void gtkMessageBox(int type, const gchar *str); +void gtkSetLayer(GtkWidget *wdg); +void gtkActive(GtkWidget *wdg); + +#endif /* MPLAYER_GUI_WIDGETS_H */ diff -r c5a19bbeac2b -r 520fb0f7544c gui/wm/ws.h --- a/gui/wm/ws.h Sat Jun 18 14:33:41 2011 +0000 +++ b/gui/wm/ws.h Sat Jun 18 16:03:31 2011 +0000 @@ -22,7 +22,7 @@ #ifndef MPLAYER_GUI_WS_H #define MPLAYER_GUI_WS_H -#include "gui/mplayer/widgets.h" +#include "gui/ui/widgets.h" #include #include