├── lib ├── .gitignore └── README.txt ├── doc ├── txt │ ├── .gitignore │ ├── visualc.doc │ ├── faq.doc │ ├── issuezilla.doc │ ├── footer.html │ ├── roadmap.doc │ ├── header.html │ ├── Makefile.am │ ├── examples.doc │ ├── screenshots.doc │ ├── requirements.doc │ ├── contribute.doc │ └── aboutwidgets.doc ├── html │ ├── images │ │ ├── .gitignore │ │ ├── shot1.png │ │ ├── listbox.png │ │ ├── pgbutton.png │ │ ├── example_1.jpg │ │ ├── example_2.jpg │ │ ├── shot1-small.png │ │ ├── pgcheckbutton.png │ │ ├── pgslider_horz.png │ │ ├── pgslider_vert.png │ │ ├── button_help_icon.png │ │ ├── button_no_icon.png │ │ ├── button_ok_icon.png │ │ ├── button_yes_icon.png │ │ ├── button_apply_icon.png │ │ ├── button_cancel_icon.png │ │ ├── button_close_icon.png │ │ ├── paragui-logo-small.png │ │ └── Makefile.am │ ├── .gitignore │ └── Makefile.am ├── images │ └── paragui_logo.png ├── .gitignore ├── Makefile.am └── TODO ├── sdk ├── sampleapp │ ├── .gitignore │ ├── src │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── sampleapp.cpp │ ├── Makefile.am │ ├── autogen.sh │ └── configure.in ├── .gitignore ├── Makefile.am └── README.sampleapp ├── VisualC ├── .gitignore ├── test │ ├── test.dsp │ ├── test.mak │ └── .gitignore ├── paragui_all.dsw ├── dblbuffer │ ├── .gitignore │ ├── dblbuffer.dsp │ └── dblbuffer.dsw ├── paragui_dynamic │ ├── .gitignore │ ├── Version.rc │ ├── paragui_dynamic.dsp │ ├── paragui_dynamic.mak │ ├── resource.h │ └── paragui_dynamic.sln └── paragui_dynamic.dsw ├── CWProject.zip ├── data ├── .gitignore ├── qnx │ ├── Vera.ttf │ ├── drag.bmp │ ├── up_up.bmp │ ├── check_on.bmp │ ├── down_up.bmp │ ├── left_up.bmp │ ├── pb_back.bmp │ ├── radio_on.bmp │ ├── right_up.bmp │ ├── spin_up.bmp │ ├── top_grey.bmp │ ├── up_down.bmp │ ├── up_high.bmp │ ├── check_off.bmp │ ├── down_down.bmp │ ├── down_high.bmp │ ├── left_down.bmp │ ├── left_high.bmp │ ├── radio_off.bmp │ ├── right_down.bmp │ ├── right_high.bmp │ ├── spin_down.bmp │ ├── close_active.bmp │ ├── close_clicked.bmp │ ├── close_normal.bmp │ ├── hscroll_back.bmp │ ├── pb_indicator.bmp │ └── vscroll_back.bmp ├── default │ ├── Vera.ttf │ ├── back.bmp │ ├── icon.bmp │ ├── rb_off.bmp │ ├── rb_on.bmp │ ├── sb_up.bmp │ ├── drop_down.bmp │ ├── editcurs.bmp │ ├── pointer.png │ ├── sb_backh.png │ ├── sb_backv.png │ ├── sb_down.bmp │ ├── sb_drag.bmp │ ├── sb_dragh.png │ ├── sb_dragv.png │ ├── sb_left.bmp │ ├── sb_right.bmp │ ├── spin_down.bmp │ ├── spin_up.bmp │ ├── tab_back.png │ ├── tab_norm.png │ ├── tab_sel.png │ ├── wnd_close.bmp │ ├── background.png │ ├── slider_back.png │ ├── button_no_icon.png │ ├── button_ok_icon.png │ ├── button_help_icon.png │ ├── button_yes_icon.png │ ├── button_apply_icon.png │ ├── button_cancel_icon.png │ └── button_close_icon.png ├── simple │ ├── Vera.ttf │ ├── rb_on.bmp │ ├── sb_up.bmp │ ├── rb_off.bmp │ ├── sb_down.bmp │ ├── sb_drag.bmp │ ├── sb_left.bmp │ ├── spin_up.bmp │ ├── drop_down.bmp │ ├── editcurs.bmp │ ├── sb_right.bmp │ ├── spin_down.bmp │ └── wnd_close.bmp └── Makefile.am ├── test ├── icon.bmp ├── rgb.png ├── fireworks │ ├── .gitignore │ ├── Makefile.am │ ├── main.cpp │ └── blob.h ├── keyboard │ ├── .gitignore │ ├── Makefile.am │ └── main.cpp ├── colorselector │ ├── .gitignore │ ├── Makefile.am │ ├── main.cpp │ └── pgcolorselector.h ├── README ├── layouttest.cpp ├── windowresize.cpp ├── .gitignore ├── dropdown2.cpp ├── dropdown.cpp ├── listbox.cpp ├── array.cpp ├── paratest.spec.in ├── dblbuffer-gp2x.xml ├── dblbuffer.xml ├── sigc.cpp ├── paratest.dev ├── event_bug.cpp ├── updatetest.cpp ├── writefile.cpp ├── eventleavebug.cpp ├── factory.cpp ├── widgetlistbug.cpp └── stretch.cpp ├── bindings ├── Makefile.am ├── csharp │ ├── .gitignore │ └── Makefile.am ├── ruby │ ├── icon.bmp │ ├── .gitignore │ ├── swigcommon.h │ ├── dropdown.rb │ ├── layouttest.rb │ ├── windowresize.rb │ ├── TODO │ ├── listbox.rb │ ├── Makefile.am │ └── windowtest.rb └── python │ ├── event_bug.py │ ├── Makefile.am │ └── python.h ├── src ├── .gitignore ├── core │ ├── .gitignore │ ├── Makefile.am │ ├── pgcolor.cpp │ ├── pgsigconvert.cpp │ ├── pgdatacontainer.cpp │ ├── pgmain.cpp │ └── pgthread.cpp ├── font │ ├── .gitignore │ ├── Makefile.am │ └── facecache.h ├── gp2x │ ├── .gitignore │ ├── Makefile.am │ └── gp2xapplication.cpp ├── physfs │ ├── CREDITS │ ├── CHANGELOG │ ├── archivers │ │ ├── .gitignore │ │ └── Makefile.am │ ├── extras │ │ ├── .gitignore │ │ └── Makefile.am │ ├── platform │ │ ├── .gitignore │ │ └── Makefile.am │ ├── zlib114 │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── inffast.h │ │ ├── infcodes.h │ │ ├── infblock.h │ │ ├── adler32.c │ │ ├── uncompr.c │ │ ├── infutil.c │ │ └── compress.c │ ├── CWProjects.sit │ ├── physfs_internal.h │ ├── test │ │ ├── .gitignore │ │ └── Makefile.am │ ├── .gitignore │ ├── bootstrap │ ├── Makefile.am.oldautomake │ └── TODO ├── ystring │ ├── .gitignore │ └── Makefile.am ├── draw │ ├── .gitignore │ ├── Makefile.am │ ├── pgpoint.cpp │ └── drawtile.cpp ├── themes │ ├── .gitignore │ └── Makefile.am ├── widgets │ ├── .gitignore │ ├── Makefile.am │ └── pgcheckbutton.cpp ├── expat │ ├── .gitignore │ ├── xmltok_impl.h │ ├── Makefile.am │ ├── xmltchar.h │ ├── xmldef.h │ ├── asciitab.h │ ├── utf8tab.h │ ├── latin1tab.h │ ├── iasciitab.h │ └── ascii.h ├── Makefile.am └── paragui.cpp ├── AUTHORS ├── bin ├── .gitignore ├── Makefile └── README.txt ├── include ├── .gitignore ├── pgtabbar.h ├── paraconfig_macos.h ├── pgstring.h ├── pgsingleton.h ├── pgthread.h ├── pgpoint.h ├── paraconfig_win32.h ├── Makefile.am ├── gp2xapplication.h ├── gp2xevents.h ├── pgmultilineedit.h ├── pginfo.h ├── pgpropertyeditor_linefield.h ├── pglistboxitem.h ├── pgdatacontainer.h ├── paraconfig_gnu.h.in ├── pgnavigator.h ├── pgcheckbutton.h ├── pglistboxbaseitem.h └── ychar.h ├── paragui.pc.in ├── README-ParaGUI.txt ├── .gitignore ├── COPYING ├── mkdist-bin_win32.bat ├── CWparagui.txt ├── paragui.spec.in ├── paragui-config.in ├── INSTALL ├── CREDITS ├── TODO ├── autogen.sh └── Makefile.am /lib/.gitignore: -------------------------------------------------------------------------------- 1 | *.exp 2 | *.lib 3 | -------------------------------------------------------------------------------- /doc/txt/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | -------------------------------------------------------------------------------- /sdk/sampleapp/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile.in 2 | 3 | -------------------------------------------------------------------------------- /VisualC/.gitignore: -------------------------------------------------------------------------------- 1 | *.ncb 2 | *.opt 3 | *.suo 4 | 5 | -------------------------------------------------------------------------------- /sdk/.gitignore: -------------------------------------------------------------------------------- 1 | *.in 2 | *.tar.gz 3 | Makefile 4 | -------------------------------------------------------------------------------- /sdk/sampleapp/src/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile.in 2 | 3 | -------------------------------------------------------------------------------- /doc/html/images/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | -------------------------------------------------------------------------------- /CWProject.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/CWProject.zip -------------------------------------------------------------------------------- /data/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *.xml 4 | *.bmp 5 | *.zip 6 | -------------------------------------------------------------------------------- /test/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/test/icon.bmp -------------------------------------------------------------------------------- /test/rgb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/test/rgb.png -------------------------------------------------------------------------------- /bindings/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS= $(BINDINGS) 2 | 3 | DIST_SUBDIRS = ruby python csharp -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /bindings/csharp/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | *.cs 3 | Makefile.in 4 | paragui_wrap.cxx 5 | -------------------------------------------------------------------------------- /data/qnx/Vera.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/Vera.ttf -------------------------------------------------------------------------------- /data/qnx/drag.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/drag.bmp -------------------------------------------------------------------------------- /data/qnx/up_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/up_up.bmp -------------------------------------------------------------------------------- /src/core/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /src/font/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /src/gp2x/.gitignore: -------------------------------------------------------------------------------- 1 | .deps 2 | .libs 3 | *.lo 4 | *.la 5 | Makefile 6 | Makefile.in 7 | -------------------------------------------------------------------------------- /src/physfs/CREDITS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/src/physfs/CREDITS -------------------------------------------------------------------------------- /VisualC/test/test.dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/test/test.dsp -------------------------------------------------------------------------------- /VisualC/test/test.mak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/test/test.mak -------------------------------------------------------------------------------- /data/default/Vera.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/Vera.ttf -------------------------------------------------------------------------------- /data/default/back.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/back.bmp -------------------------------------------------------------------------------- /data/default/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/icon.bmp -------------------------------------------------------------------------------- /data/qnx/check_on.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/check_on.bmp -------------------------------------------------------------------------------- /data/qnx/down_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/down_up.bmp -------------------------------------------------------------------------------- /data/qnx/left_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/left_up.bmp -------------------------------------------------------------------------------- /data/qnx/pb_back.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/pb_back.bmp -------------------------------------------------------------------------------- /data/qnx/radio_on.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/radio_on.bmp -------------------------------------------------------------------------------- /data/qnx/right_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/right_up.bmp -------------------------------------------------------------------------------- /data/qnx/spin_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/spin_up.bmp -------------------------------------------------------------------------------- /data/qnx/top_grey.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/top_grey.bmp -------------------------------------------------------------------------------- /data/qnx/up_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/up_down.bmp -------------------------------------------------------------------------------- /data/qnx/up_high.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/up_high.bmp -------------------------------------------------------------------------------- /data/simple/Vera.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/Vera.ttf -------------------------------------------------------------------------------- /data/simple/rb_on.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/rb_on.bmp -------------------------------------------------------------------------------- /data/simple/sb_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/sb_up.bmp -------------------------------------------------------------------------------- /doc/txt/visualc.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/txt/visualc.doc -------------------------------------------------------------------------------- /src/physfs/CHANGELOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/src/physfs/CHANGELOG -------------------------------------------------------------------------------- /src/ystring/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /VisualC/paragui_all.dsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/paragui_all.dsw -------------------------------------------------------------------------------- /bindings/ruby/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/bindings/ruby/icon.bmp -------------------------------------------------------------------------------- /data/default/rb_off.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/rb_off.bmp -------------------------------------------------------------------------------- /data/default/rb_on.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/rb_on.bmp -------------------------------------------------------------------------------- /data/default/sb_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_up.bmp -------------------------------------------------------------------------------- /data/qnx/check_off.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/check_off.bmp -------------------------------------------------------------------------------- /data/qnx/down_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/down_down.bmp -------------------------------------------------------------------------------- /data/qnx/down_high.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/down_high.bmp -------------------------------------------------------------------------------- /data/qnx/left_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/left_down.bmp -------------------------------------------------------------------------------- /data/qnx/left_high.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/left_high.bmp -------------------------------------------------------------------------------- /data/qnx/radio_off.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/radio_off.bmp -------------------------------------------------------------------------------- /data/qnx/right_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/right_down.bmp -------------------------------------------------------------------------------- /data/qnx/right_high.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/right_high.bmp -------------------------------------------------------------------------------- /data/qnx/spin_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/spin_down.bmp -------------------------------------------------------------------------------- /data/simple/rb_off.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/rb_off.bmp -------------------------------------------------------------------------------- /data/simple/sb_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/sb_down.bmp -------------------------------------------------------------------------------- /data/simple/sb_drag.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/sb_drag.bmp -------------------------------------------------------------------------------- /data/simple/sb_left.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/sb_left.bmp -------------------------------------------------------------------------------- /data/simple/spin_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/spin_up.bmp -------------------------------------------------------------------------------- /src/draw/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | *.loT 8 | -------------------------------------------------------------------------------- /src/physfs/archivers/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /src/physfs/extras/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /src/physfs/platform/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /src/physfs/zlib114/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | -------------------------------------------------------------------------------- /src/themes/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *.lo 4 | *.la 5 | .libs 6 | .deps 7 | *.loT 8 | -------------------------------------------------------------------------------- /test/fireworks/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *.lo 4 | .deps 5 | .libs 6 | fireworks 7 | -------------------------------------------------------------------------------- /test/keyboard/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *.lo 4 | .deps 5 | .libs 6 | keyboard 7 | -------------------------------------------------------------------------------- /data/default/drop_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/drop_down.bmp -------------------------------------------------------------------------------- /data/default/editcurs.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/editcurs.bmp -------------------------------------------------------------------------------- /data/default/pointer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/pointer.png -------------------------------------------------------------------------------- /data/default/sb_backh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_backh.png -------------------------------------------------------------------------------- /data/default/sb_backv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_backv.png -------------------------------------------------------------------------------- /data/default/sb_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_down.bmp -------------------------------------------------------------------------------- /data/default/sb_drag.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_drag.bmp -------------------------------------------------------------------------------- /data/default/sb_dragh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_dragh.png -------------------------------------------------------------------------------- /data/default/sb_dragv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_dragv.png -------------------------------------------------------------------------------- /data/default/sb_left.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_left.bmp -------------------------------------------------------------------------------- /data/default/sb_right.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/sb_right.bmp -------------------------------------------------------------------------------- /data/default/spin_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/spin_down.bmp -------------------------------------------------------------------------------- /data/default/spin_up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/spin_up.bmp -------------------------------------------------------------------------------- /data/default/tab_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/tab_back.png -------------------------------------------------------------------------------- /data/default/tab_norm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/tab_norm.png -------------------------------------------------------------------------------- /data/default/tab_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/tab_sel.png -------------------------------------------------------------------------------- /data/default/wnd_close.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/wnd_close.bmp -------------------------------------------------------------------------------- /data/qnx/close_active.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/close_active.bmp -------------------------------------------------------------------------------- /data/qnx/close_clicked.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/close_clicked.bmp -------------------------------------------------------------------------------- /data/qnx/close_normal.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/close_normal.bmp -------------------------------------------------------------------------------- /data/qnx/hscroll_back.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/hscroll_back.bmp -------------------------------------------------------------------------------- /data/qnx/pb_indicator.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/pb_indicator.bmp -------------------------------------------------------------------------------- /data/qnx/vscroll_back.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/qnx/vscroll_back.bmp -------------------------------------------------------------------------------- /data/simple/drop_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/drop_down.bmp -------------------------------------------------------------------------------- /data/simple/editcurs.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/editcurs.bmp -------------------------------------------------------------------------------- /data/simple/sb_right.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/sb_right.bmp -------------------------------------------------------------------------------- /data/simple/spin_down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/spin_down.bmp -------------------------------------------------------------------------------- /data/simple/wnd_close.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/simple/wnd_close.bmp -------------------------------------------------------------------------------- /doc/html/images/shot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/shot1.png -------------------------------------------------------------------------------- /src/physfs/CWProjects.sit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/src/physfs/CWProjects.sit -------------------------------------------------------------------------------- /src/widgets/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | *.loT 8 | -------------------------------------------------------------------------------- /VisualC/test/.gitignore: -------------------------------------------------------------------------------- 1 | *.plg 2 | Debug 3 | Release 4 | *.txt 5 | *.dep 6 | *.opt 7 | *.plg 8 | *.ncb 9 | -------------------------------------------------------------------------------- /data/default/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/background.png -------------------------------------------------------------------------------- /data/default/slider_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/slider_back.png -------------------------------------------------------------------------------- /doc/html/images/listbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/listbox.png -------------------------------------------------------------------------------- /doc/html/images/pgbutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/pgbutton.png -------------------------------------------------------------------------------- /doc/images/paragui_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/images/paragui_logo.png -------------------------------------------------------------------------------- /doc/txt/faq.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page faq FAQ (Frequently asked questions) 4 | 5 | \include FAQ 6 | 7 | */ -------------------------------------------------------------------------------- /src/physfs/physfs_internal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/src/physfs/physfs_internal.h -------------------------------------------------------------------------------- /test/colorselector/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *.lo 4 | .deps 5 | .libs 6 | colorselector 7 | -------------------------------------------------------------------------------- /VisualC/dblbuffer/.gitignore: -------------------------------------------------------------------------------- 1 | *.plg 2 | Debug 3 | Release 4 | *.txt 5 | *.dep 6 | *.opt 7 | *.plg 8 | *.ncb 9 | -------------------------------------------------------------------------------- /VisualC/dblbuffer/dblbuffer.dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/dblbuffer/dblbuffer.dsp -------------------------------------------------------------------------------- /VisualC/dblbuffer/dblbuffer.dsw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/dblbuffer/dblbuffer.dsw -------------------------------------------------------------------------------- /bindings/ruby/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | interface.i 4 | paraguic_wrap.cpp 5 | *.o 6 | *.so 7 | -------------------------------------------------------------------------------- /data/default/button_no_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_no_icon.png -------------------------------------------------------------------------------- /data/default/button_ok_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_ok_icon.png -------------------------------------------------------------------------------- /doc/html/images/example_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/example_1.jpg -------------------------------------------------------------------------------- /doc/html/images/example_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/example_2.jpg -------------------------------------------------------------------------------- /doc/html/images/shot1-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/shot1-small.png -------------------------------------------------------------------------------- /src/physfs/test/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | .deps 4 | .libs 5 | *.lo 6 | *.la 7 | test_physfs 8 | -------------------------------------------------------------------------------- /VisualC/paragui_dynamic/.gitignore: -------------------------------------------------------------------------------- 1 | *.plg 2 | Debug 3 | Release 4 | *.txt 5 | *.dep 6 | *.opt 7 | *.plg 8 | *.ncb 9 | -------------------------------------------------------------------------------- /data/default/button_help_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_help_icon.png -------------------------------------------------------------------------------- /data/default/button_yes_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_yes_icon.png -------------------------------------------------------------------------------- /doc/html/images/pgcheckbutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/pgcheckbutton.png -------------------------------------------------------------------------------- /doc/html/images/pgslider_horz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/pgslider_horz.png -------------------------------------------------------------------------------- /doc/html/images/pgslider_vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/pgslider_vert.png -------------------------------------------------------------------------------- /VisualC/paragui_dynamic/Version.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/paragui_dynamic/Version.rc -------------------------------------------------------------------------------- /data/default/button_apply_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_apply_icon.png -------------------------------------------------------------------------------- /data/default/button_cancel_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_cancel_icon.png -------------------------------------------------------------------------------- /data/default/button_close_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/data/default/button_close_icon.png -------------------------------------------------------------------------------- /doc/html/images/button_help_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_help_icon.png -------------------------------------------------------------------------------- /doc/html/images/button_no_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_no_icon.png -------------------------------------------------------------------------------- /doc/html/images/button_ok_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_ok_icon.png -------------------------------------------------------------------------------- /doc/html/images/button_yes_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_yes_icon.png -------------------------------------------------------------------------------- /src/physfs/extras/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | physfsrwops.c \ 3 | physfsrwops.h \ 4 | physfshttpd.c 5 | 6 | 7 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Alexander Pipelka 2 | David Hedbor 3 | Marek Habersack 4 | -------------------------------------------------------------------------------- /bindings/csharp/Makefile.am: -------------------------------------------------------------------------------- 1 | all: csharp 2 | 3 | csharp: 4 | swig -csharp -c++ -I$(top_srcdir)/include -DDECLSPEC=" " paragui.i -------------------------------------------------------------------------------- /doc/html/images/button_apply_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_apply_icon.png -------------------------------------------------------------------------------- /doc/html/images/button_cancel_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_cancel_icon.png -------------------------------------------------------------------------------- /doc/html/images/button_close_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/button_close_icon.png -------------------------------------------------------------------------------- /doc/html/images/paragui-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/doc/html/images/paragui-logo-small.png -------------------------------------------------------------------------------- /bin/.gitignore: -------------------------------------------------------------------------------- 1 | *.exp 2 | *.lib 3 | *.ilk 4 | *.exe 5 | *.txt 6 | *.dll 7 | make_colors 8 | pgcolors.cpp 9 | pgcolors.h 10 | -------------------------------------------------------------------------------- /doc/txt/issuezilla.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page bugreporting Bugreporting 4 | 5 | This page has to be rewritten. 6 | 7 | */ 8 | 9 | -------------------------------------------------------------------------------- /VisualC/paragui_dynamic/paragui_dynamic.dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/paragui_dynamic/paragui_dynamic.dsp -------------------------------------------------------------------------------- /VisualC/paragui_dynamic/paragui_dynamic.mak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pipelka/paragui/HEAD/VisualC/paragui_dynamic/paragui_dynamic.mak -------------------------------------------------------------------------------- /bin/Makefile: -------------------------------------------------------------------------------- 1 | make_colors: make_colors.cpp 2 | g++ -o make_colors make_colors.cpp 3 | 4 | regen_colors: make_colors 5 | ./make_colors 6 | -------------------------------------------------------------------------------- /include/.gitignore: -------------------------------------------------------------------------------- 1 | stamp-h stamp-h.in Makefile Makefile.in 2 | paraconfig_gnu.h 3 | stamp-h* 4 | paraconfig_gnu.h.in 5 | Makefile 6 | Makefile.in 7 | -------------------------------------------------------------------------------- /bin/README.txt: -------------------------------------------------------------------------------- 1 | RESERVED FOR BINARY RELEASES 2 | ---------------------------- 3 | 4 | Static and dynamic link libraries will be 5 | placed into this directory. 6 | -------------------------------------------------------------------------------- /lib/README.txt: -------------------------------------------------------------------------------- 1 | RESERVED FOR BINARY RELEASES 2 | ---------------------------- 3 | 4 | Static and dynamic link libraries will be 5 | placed into this directory. 6 | -------------------------------------------------------------------------------- /sdk/sampleapp/src/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = sampleapp 2 | 3 | sampleapp_SOURCES = sampleapp.cpp 4 | sampleapp_LDADD = $(PARAGUI_LIBS) 5 | 6 | INCLUDES = $(PARAGUI_CFLAGS) 7 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | paragui.doxy 4 | latex 5 | *.tar.gz 6 | doxygen.log 7 | *.tar.gz.sig 8 | *.swp 9 | *.tmp 10 | xml 11 | *.devhelp 12 | *.gz 13 | -------------------------------------------------------------------------------- /doc/html/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | *.map 3 | *.md5 4 | *.gif 5 | *.css 6 | *.png 7 | *.dot 8 | index.hh* 9 | Makefile 10 | Makefile.in 11 | example_1.jpg 12 | example_2.jpg 13 | -------------------------------------------------------------------------------- /doc/txt/footer.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | The ParaGUI Project - Alexander Pipelka 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /doc/html/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | images 3 | 4 | clean: 5 | rm -f *.html *.css *.gif *.png *.map *.md5 index.hh* *.dot 6 | 7 | distclean: clean 8 | rm -f Makefile 9 | rm -f images/Makefile -------------------------------------------------------------------------------- /sdk/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | README.sampleapp \ 3 | sampleapp.tar.gz 4 | 5 | sampleapp.tar.gz: 6 | tar --exclude CVS -czvf sampleapp.tar.gz $(srcdir)/sampleapp 7 | 8 | all: sampleapp.tar.gz 9 | -------------------------------------------------------------------------------- /test/README: -------------------------------------------------------------------------------- 1 | ParaGUI sample apps 2 | 3 | paratest: Simple test application 4 | navtest: Keyboard navigation 5 | layouttest: Loading of XML layouts 6 | 7 | Compilation: 8 | 9 | ./configure 10 | make 11 | -------------------------------------------------------------------------------- /sdk/sampleapp/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | src 3 | 4 | $(PACKAGE)-$(VERSION).tar.gz: dist 5 | 6 | rpm: $(PACKAGE)-$(VERSION).tar.gz 7 | cp $(PACKAGE)-$(VERSION).tar.gz /usr/src/redhat/SOURCES 8 | rpm -ba $(PACKAGE).spec 9 | -------------------------------------------------------------------------------- /src/physfs/test/Makefile.am: -------------------------------------------------------------------------------- 1 | if BUILD_TEST_PHYSFS 2 | 3 | noinst_PROGRAMS = test_physfs 4 | 5 | INCLUDES = -I$(top_srcdir) 6 | 7 | test_physfs_LDADD = ../libphysfs.la 8 | test_physfs_SOURCES = test_physfs.c 9 | 10 | endif 11 | -------------------------------------------------------------------------------- /doc/txt/roadmap.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page roadmap The current roadmap (TODO's and plans) 4 | 5 | \section roadmap_sect1 Development roadmap 6 | 7 | \include RELEASENOTES 8 | 9 | \section roadmap_sect2 Outstanding issues 10 | 11 | \include TODO 12 | 13 | */ 14 | -------------------------------------------------------------------------------- /paragui.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: ParaGUI 7 | Description: cross-platform widget library 8 | Version: @VERSION@ 9 | Libs: @PARAGUI_LIBS@ 10 | Cflags: @PARAGUI_CFLAGS@ 11 | -------------------------------------------------------------------------------- /doc/txt/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | The ParaGUI Project Documentation 4 | 5 | 6 | 7 |
8 |
9 | -------------------------------------------------------------------------------- /sdk/sampleapp/src/sampleapp.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | 4 | void main() { 5 | PG_Application app; 6 | app.LoadTheme("default"); 7 | 8 | app.InitScreen(640, 480, 0); 9 | app.SetEmergencyQuit(true); 10 | 11 | app.Run(); 12 | } 13 | -------------------------------------------------------------------------------- /bindings/ruby/swigcommon.h: -------------------------------------------------------------------------------- 1 | #ifndef SWIGCOMMON_H 2 | #define SWIGCOMMON_H 3 | 4 | #define DECLSPEC 5 | 6 | #define Uint32 unsigned int 7 | #define Sint32 int 8 | 9 | #define Uint16 unsigned short 10 | #define Sint16 short 11 | 12 | #define Uint8 unsigned char 13 | 14 | #endif 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/expat/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | configure 4 | libtool 5 | config.log 6 | config.cache 7 | config.status 8 | *.lo 9 | *.la 10 | paratest 11 | paratest.spec 12 | aclocal.m4 13 | .deps 14 | .libs 15 | navtest dblbuffer animation 16 | layouttest windowtest dropdown windowresize 17 | acinclude.m4 18 | -------------------------------------------------------------------------------- /src/physfs/archivers/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libarchivers.la 2 | 3 | if BUILD_ZLIB 4 | INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/zlib114 5 | else 6 | INCLUDES = -I$(top_srcdir) 7 | endif 8 | 9 | libarchivers_la_SOURCES = \ 10 | dir.c \ 11 | grp.c \ 12 | hog.c \ 13 | mvl.c \ 14 | zip.c \ 15 | qpak.c 16 | 17 | -------------------------------------------------------------------------------- /doc/html/images/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | button_apply_icon.png \ 3 | button_cancel_icon.png \ 4 | button_close_icon.png \ 5 | button_help_icon.png \ 6 | button_no_icon.png \ 7 | button_ok_icon.png \ 8 | button_yes_icon.png \ 9 | paragui-logo-small.png \ 10 | shot1.png \ 11 | shot1-small.png 12 | 13 | #distclean: 14 | # rm -f Makefile 15 | -------------------------------------------------------------------------------- /doc/txt/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | aboutwidgets.doc \ 3 | bincomp.doc \ 4 | coding.doc \ 5 | contribute.doc \ 6 | examples.doc \ 7 | issuezilla.doc \ 8 | layoutformat.doc \ 9 | mainpage.doc \ 10 | requirements.doc \ 11 | roadmap.doc \ 12 | screenshots.doc \ 13 | tutorial.doc \ 14 | visualc.doc \ 15 | header.html \ 16 | footer.html 17 | -------------------------------------------------------------------------------- /src/ystring/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libystring.la 2 | 3 | libystring_la_SOURCES = \ 4 | ychar.cpp \ 5 | ystring.cpp 6 | 7 | EXTRA_DIST = 8 | 9 | INCLUDES = \ 10 | $(SDL_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | style_cvs: 14 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 15 | 16 | style_personal: 17 | astyle *.cpp 18 | -------------------------------------------------------------------------------- /src/gp2x/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libpggp2x.la 2 | 3 | libpggp2x_la_SOURCES = \ 4 | gp2xapplication.cpp \ 5 | gp2xevents.cpp 6 | 7 | INCLUDES = \ 8 | $(SDL_CFLAGS) \ 9 | $(SIGC_CFLAGS) \ 10 | -I$(top_srcdir)/include 11 | 12 | style_cvs: 13 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 14 | 15 | style_personal: 16 | astyle *.cpp 17 | -------------------------------------------------------------------------------- /src/font/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libpgfont.la 2 | 3 | libpgfont_la_SOURCES = \ 4 | pgfont_impl.cpp \ 5 | pgfont.cpp 6 | 7 | EXTRA_DIST = \ 8 | facecache.h 9 | 10 | INCLUDES = \ 11 | $(SIGC_CFLAGS) \ 12 | $(SDL_CFLAGS) \ 13 | -I$(top_srcdir)/include 14 | 15 | style_cvs: 16 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 17 | 18 | style_personal: 19 | astyle *.cpp 20 | -------------------------------------------------------------------------------- /test/fireworks/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_PROGRAMS = fireworks 2 | 3 | fireworks_SOURCES = \ 4 | blob.cpp \ 5 | main.cpp 6 | 7 | fireworks_LDADD = \ 8 | $(SDL_LIBS) \ 9 | -L../../src ../../src/libparagui.la \ 10 | $(FREETYPE_LIBS) \ 11 | $(LIBSTDCPP) \ 12 | $(SIGC_LIBS) 13 | 14 | EXTRA_DIST = \ 15 | blob.h 16 | 17 | INCLUDES = \ 18 | -I$(top_srcdir)/include \ 19 | $(SDL_CFLAGS) \ 20 | $(SIGC_CFLAGS) 21 | -------------------------------------------------------------------------------- /bindings/ruby/dropdown.rb: -------------------------------------------------------------------------------- 1 | require 'paragui' 2 | 3 | include Paragui 4 | 5 | app = PG_Application.new 6 | app.LoadTheme "default" 7 | app.InitScreen(640, 480, 0, 0) 8 | 9 | dd1 = PG_DropDown.new(nil, 1, PG_Rect.new(10,10,100,20)) 10 | dd2 = PG_DropDown.new(nil, 2, PG_Rect.new(120,10,100,20)) 11 | 12 | 10.times {|i| dd1.AddItem "poop"; dd2.AddItem "yeah"} 13 | 14 | dd1.Show 15 | dd2.Show 16 | 17 | app.Run 18 | -------------------------------------------------------------------------------- /test/keyboard/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_PROGRAMS = keyboard 2 | 3 | keyboard_SOURCES = \ 4 | keyboard.cpp \ 5 | main.cpp 6 | 7 | keyboard_LDADD = \ 8 | $(SDL_LIBS) \ 9 | -L../../src ../../src/libparagui.la \ 10 | $(FREETYPE_LIBS) \ 11 | $(LIBSTDCPP) \ 12 | $(SIGC_LIBS) 13 | 14 | EXTRA_DIST = \ 15 | keyboard.h 16 | 17 | INCLUDES = \ 18 | -I$(top_srcdir)/include \ 19 | $(SDL_CFLAGS) \ 20 | $(SIGC_CFLAGS) 21 | -------------------------------------------------------------------------------- /src/gp2x/gp2xapplication.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | 3 | #ifdef PARAGUI_GP2X 4 | 5 | #include "gp2xapplication.h" 6 | #include "gp2xevents.h" 7 | 8 | void GP2X_Application::Run() { 9 | GP2X_Events* eventsupplier = new GP2X_Events; 10 | 11 | SetEventSupplier(eventsupplier); 12 | eventsupplier->start(); 13 | 14 | PG_Application::Run(); 15 | 16 | eventsupplier->stop(); 17 | } 18 | 19 | #endif // PARAGUI_GP2X 20 | -------------------------------------------------------------------------------- /doc/txt/examples.doc: -------------------------------------------------------------------------------- 1 | /** 2 | \example paratest.cpp 3 | Demonstrates general usage of the library (widgets, callbacks, ...) 4 | */ 5 | 6 | /** 7 | \example dblbuffer.cpp 8 | A demo application using "doublebuffering". It also shows hot to use ParaGUI 9 | without the built-in eventloop (using a custom one). 10 | */ 11 | 12 | /** 13 | \example sigc.cpp 14 | Demonstrates multiple inheritance of SigC::Object classes 15 | */ 16 | -------------------------------------------------------------------------------- /test/colorselector/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_PROGRAMS = colorselector 2 | 3 | colorselector_SOURCES = \ 4 | pgcolorselector.cpp \ 5 | main.cpp 6 | 7 | colorselector_LDADD = \ 8 | $(SDL_LIBS) \ 9 | -L../../src ../../src/libparagui.la \ 10 | $(FREETYPE_LIBS) \ 11 | $(LIBSTDCPP) \ 12 | $(SIGC_LIBS) 13 | 14 | EXTRA_DIST = \ 15 | pgcolorselector.h 16 | 17 | INCLUDES = \ 18 | -I$(top_srcdir)/include \ 19 | $(SDL_CFLAGS) \ 20 | $(SIGC_CFLAGS) 21 | -------------------------------------------------------------------------------- /bindings/ruby/layouttest.rb: -------------------------------------------------------------------------------- 1 | # test XML layout 2 | 3 | require 'paragui' 4 | 5 | include Paragui 6 | 7 | app = PG_Application.new 8 | app.EnableBackground true 9 | app.LoadTheme "default" 10 | 11 | if not app.InitScreen(800, 600, 0, 0) 12 | puts "Reesolution not supported!" 13 | exit 14 | end 15 | 16 | wnd = PG_Window.new nil, PG_Rect.new(0,0,400,300), "Test" 17 | wnd.LoadLayout "pokus.xml" 18 | 19 | sleep 2 20 | wnd.Show 21 | 22 | app.Run 23 | -------------------------------------------------------------------------------- /VisualC/paragui_dynamic/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Developer Studio generated include file. 3 | // Used by Version.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 101 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /bindings/ruby/windowresize.rb: -------------------------------------------------------------------------------- 1 | # resize internally before showing 2 | 3 | require 'paragui' 4 | 5 | include Paragui 6 | 7 | app = PG_Application.new 8 | app.LoadTheme "default" 9 | app.InitScreen(640, 480, 0, 0) 10 | 11 | a = PG_Window.new(nil, PG_Rect.new(10, 10, 100, 100), "Window 98, the most reliable window yet.") 12 | b = PG_Window.new(nil, PG_Rect.new(60, 110, 100, 100), "Window XP, .") 13 | 14 | a.SizeWidget(400, 200) 15 | b.SizeWidget(400, 200) 16 | 17 | a.Show 18 | b.Show 19 | 20 | app.Run 21 | -------------------------------------------------------------------------------- /src/themes/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libtheme.la 2 | 3 | libtheme_la_SOURCES = \ 4 | themeloader.cpp \ 5 | theme_priv.cpp 6 | 7 | INCLUDES = \ 8 | $(SIGC_CFLAGS) \ 9 | $(EXPAT_INCLUDE) \ 10 | $(SDL_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | EXTRA_DIST = \ 14 | theme_priv.h 15 | 16 | style_cvs: 17 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 18 | astyle --style=kr --indent=tab=4 --indent-switches *.h 19 | 20 | style_personal: 21 | astyle *.cpp 22 | astyle *.h 23 | -------------------------------------------------------------------------------- /src/draw/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libpgdraw.la 2 | 3 | libpgdraw_la_SOURCES = \ 4 | surface.cpp \ 5 | rotozoom.cpp \ 6 | drawline.cpp \ 7 | setpixel.cpp \ 8 | stretch.cpp \ 9 | pgpoint.cpp \ 10 | pgrect.cpp \ 11 | drawtile.cpp \ 12 | gradient.cpp 13 | 14 | EXTRA_DIST = 15 | 16 | INCLUDES = \ 17 | $(SDL_CFLAGS) \ 18 | $(SIGC_CFLAGS) \ 19 | -I$(top_srcdir)/include 20 | 21 | style_cvs: 22 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 23 | 24 | style_personal: 25 | astyle *.cpp 26 | -------------------------------------------------------------------------------- /src/physfs/zlib114/Makefile.am: -------------------------------------------------------------------------------- 1 | X = adler32.c \ 2 | crc32.c \ 3 | infblock.c \ 4 | infblock.h \ 5 | infcodes.c \ 6 | infcodes.h \ 7 | inffast.c \ 8 | inffast.h \ 9 | inffixed.h \ 10 | inflate.c \ 11 | inftrees.c \ 12 | inftrees.h \ 13 | infutil.c \ 14 | infutil.h \ 15 | uncompr.c \ 16 | zconf.h \ 17 | zlib.h \ 18 | zutil.c \ 19 | zutil.h 20 | 21 | if BUILD_ZLIB 22 | noinst_LTLIBRARIES = libz.la 23 | libz_la_SOURCES = $(X) 24 | else 25 | EXTRA_DIST = $(X) 26 | endif 27 | 28 | -------------------------------------------------------------------------------- /src/physfs/platform/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libplatform.la 2 | 3 | INCLUDES = -I$(top_srcdir) 4 | 5 | if BUILD_BEOS 6 | libplatform_la_SOURCES = \ 7 | posix.c \ 8 | beos.cpp 9 | else 10 | libplatform_la_SOURCES = \ 11 | unix.c \ 12 | win32.c \ 13 | posix.c \ 14 | os2.c 15 | endif 16 | 17 | 18 | EXTRA_DIST = \ 19 | skeleton.c \ 20 | macclassic.c \ 21 | win32.c \ 22 | unix.c \ 23 | os2.c \ 24 | beos.cpp 25 | 26 | -------------------------------------------------------------------------------- /src/physfs/.gitignore: -------------------------------------------------------------------------------- 1 | VisualC.zip 2 | Makefile 3 | Makefile.in 4 | Makefile.am 5 | libtool 6 | paragui-config 7 | aclocal.m4 8 | config.h.in 9 | configure 10 | stamp-h 11 | stamp-h.in 12 | *.tar.gz 13 | *.kdevses 14 | *.kdevprj 15 | paragui.pc 16 | config.* 17 | depcomp 18 | install-sh 19 | ltmain.sh 20 | missing 21 | mkinstalldirs 22 | *.prw 23 | *.pws 24 | *.prj 25 | *.patch 26 | *.kdevelop 27 | *.cache 28 | *.mlz 29 | *.rtf 30 | .deps 31 | .libs 32 | *.la 33 | *.lo 34 | *.ori 35 | *.spec 36 | stamp-h1 37 | 38 | docs 39 | configure.lineno 40 | -------------------------------------------------------------------------------- /README-ParaGUI.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the ParaGUI runtime binaries: 3 | 4 | ParaGUI is a high-level crosssplatfrom application framework 5 | and GUI library. It is completely based on the Simple DirectMedia 6 | Layer (SDL). ParaGUI is targeted on crossplatform multimedia 7 | applications and embedded devices operating on framebuffer displays. 8 | 9 | 10 | ParaGUI source code is available from: 11 | http://www.paragui.org 12 | 13 | This library is distributed under the terms of the GNU LGPL license: 14 | http://www.gnu.org/copyleft/lesser.html 15 | -------------------------------------------------------------------------------- /test/layouttest.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | #include "pgwindow.h" 4 | 5 | int main( int argc, char **argv ) { 6 | 7 | // construct the application object 8 | PG_Application app(argv[0]); 9 | 10 | app.EnableBackground(true); 11 | app.LoadTheme("default"); 12 | 13 | // init 1024x768 14 | if(!app.InitScreen(800,600, 0, SDL_SWSURFACE)){ 15 | printf("Resolution not supported\n"); 16 | exit(-1); 17 | } 18 | 19 | app.LoadLayout("pokus.xml"); 20 | 21 | // Enter main loop 22 | app.Run(); 23 | 24 | return EXIT_SUCCESS; 25 | } 26 | -------------------------------------------------------------------------------- /src/physfs/zlib114/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | extern int inflate_fast OF(( 12 | uInt, 13 | uInt, 14 | inflate_huft *, 15 | inflate_huft *, 16 | inflate_blocks_statef *, 17 | z_streamp )); 18 | -------------------------------------------------------------------------------- /bindings/ruby/TODO: -------------------------------------------------------------------------------- 1 | * no need to deal with EventObject, that kind of functionality is handled 2 | internally 3 | 4 | * PG_TimerObject should be a mixin 5 | - or perhaps use a different SDL library? 6 | * PG_Navigator as well, but what is it? 7 | - it makes the cursor jump 8 | 9 | * How in the world are we going to bridge RUDL and Paragui? 10 | - the SDL_Surface objects need to be shared 11 | - also, the clipping rect if any 12 | - Idea: typemap to convert SDL_Surface to unsigned long (out) 13 | - Idea: typemap to convert unsigned long *sdl_surface_ptr to SDL_Surface (in) 14 | -------------------------------------------------------------------------------- /test/windowresize.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | #include "pgwindow.h" 4 | 5 | int main( int argc, char **argv ) 6 | { 7 | PG_Application app(argv[0]); 8 | 9 | app.LoadTheme( "default" ); 10 | 11 | app.InitScreen( 640, 480 ); 12 | 13 | PG_Window a( NULL, PG_Rect( 10, 10, 100, 100 ), "Window 98, the most reliable window yet."); 14 | PG_Window b( NULL, PG_Rect( 60, 110, 100, 100 ), "Window XP, ."); 15 | 16 | a.SizeWidget( 400, 200 ); 17 | b.SizeWidget( 400, 200 ); 18 | 19 | a.Show(); 20 | b.Show(); 21 | 22 | app.Run(); 23 | 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /src/physfs/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd `dirname $0` 4 | 5 | set -e 6 | echo "Initial preparation...this can take awhile, so sit tight..." 7 | perl -w -e 'use File::Copy; exit 0 if (-f "Makefile.am"); my $x = `automake --version |head -n 1`; chomp($x); $x = 0.0 if ($x !~ s/\A.*?(\d+\.\d+).*\Z/$1/); if ($x < 1.5) { copy("./Makefile.am.oldautomake", "./Makefile.am"); } else { copy("./Makefile.am.newautomake", "./Makefile.am"); }' 8 | aclocal 9 | libtoolize --automake --copy --force 10 | autoheader 11 | automake --foreign --add-missing --copy 12 | autoconf 13 | 14 | echo "You are now ready to run ./configure ..." 15 | 16 | -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | configure 4 | libtool 5 | config.log 6 | config.cache 7 | config.status 8 | *.lo 9 | paratest 10 | paratest.spec 11 | aclocal.m4 12 | acinclude.m4 13 | .deps 14 | .libs 15 | navtest dblbuffer animation 16 | layouttest windowtest dropdown 17 | windowresize 18 | listbox 19 | stress1 20 | stress2 21 | pgtestfile 22 | writefile 23 | widgetlistbug 24 | eventbug 25 | array 26 | sigc 27 | animation 28 | dblbuffer 29 | dropdown 30 | eventleavebug 31 | factory 32 | layouttest 33 | navtest 34 | windowtest 35 | unicodetest 36 | cairotest 37 | callgrind.out.* 38 | dropdown2 39 | windowtest2 40 | updatetest 41 | stretch 42 | *.o 43 | -------------------------------------------------------------------------------- /test/dropdown2.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | 6 | int main(int argc, char* argv[]) 7 | { 8 | PG_Application app(argv[0]); 9 | app.LoadTheme("default"); 10 | if (!app.InitScreen(500, 300, 16, 0)) 11 | return -1; 12 | 13 | PG_Widget widget(0, PG_Rect(0, 0, 500, 300)); 14 | 15 | PG_DropDown d(&widget, PG_Rect(20, 40, 200, 30)); 16 | d.AddItem("test"); 17 | d.AddItem("test2"); 18 | 19 | // d.DeleteAll(); 20 | d.RemoveAll(); 21 | 22 | d.AddItem("test"); 23 | d.AddItem("test2"); 24 | d.AddItem("test3"); 25 | 26 | widget.Show(); 27 | 28 | app.Run(); 29 | 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /VisualC/paragui_dynamic.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "paragui_dynamic"=.\paragui_dynamic\paragui_dynamic.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | VisualC.zip 2 | Makefile 3 | Makefile.in 4 | paragui.spec 5 | paragui.spec.in 6 | libtool 7 | paragui-config 8 | aclocal.m4 9 | config.h.in 10 | xmingw32msvc-paragui.spec 11 | configure 12 | stamp-h 13 | stamp-h.in 14 | *-stamp 15 | *.tar.gz 16 | *.kdevses 17 | *.kdevprj 18 | paragui.pc 19 | config.* 20 | depcomp 21 | install-sh 22 | ltmain.sh 23 | missing 24 | mkinstalldirs 25 | *.prw 26 | *.pws 27 | *.prj 28 | *.patch 29 | *.kdevelop 30 | *.cache 31 | *.mlz 32 | *.rtf 33 | *.diff 34 | paragui-1.* 35 | *.gz 36 | *.doxygen 37 | .cdtproject 38 | .externalToolBuilders 39 | patches 40 | autopackage 41 | paragui-config.1 42 | Doxyfile 43 | *.pcs 44 | stamp-h1 45 | .settings 46 | configure.lineno 47 | .anjuta 48 | TODO.tasks 49 | _configs.sed 50 | -------------------------------------------------------------------------------- /bindings/ruby/listbox.rb: -------------------------------------------------------------------------------- 1 | # TODO find out why this crashes on exit 2 | 3 | require 'paragui' 4 | 5 | include Paragui 6 | 7 | $counter = 1 8 | 9 | def populate(list) 10 | 10.times do 11 | list.AddItem PG_ListBoxItem.new(25, "Item#{$counter}") 12 | $counter += 1 13 | end 14 | end 15 | 16 | app = PG_Application.new 17 | app.LoadTheme "default" 18 | app.InitScreen(640, 480, 0, 0) 19 | app.SetEmergencyQuit(true) 20 | 21 | lb = PG_ListBox.new nil, PG_Rect.new(10,10,300,100) 22 | # this is how we set a callback 23 | lb.set_rbcallback MSG_SELECTITEM, proc {|id, widget, item| 24 | # inspect the data 25 | puts "#{id}, #{item} #{widget.type}" 26 | widget.DeleteAll 27 | populate widget 28 | widget.Update 29 | true 30 | } 31 | populate lb 32 | lb.Show 33 | 34 | app.Run 35 | -------------------------------------------------------------------------------- /sdk/sampleapp/autogen.sh: -------------------------------------------------------------------------------- 1 | cd `dirname $0` 2 | aclocalinclude="$ACLOCAL_FLAGS" 3 | 4 | echo "Running aclocal $aclocalinclude ..." 5 | aclocal $aclocalinclude || { 6 | echo 7 | echo "**Error**: aclocal failed. This may mean that you have not" 8 | echo "installed all of the packages you need, or you may need to" 9 | echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" 10 | echo "for the prefix where you installed the packages whose" 11 | echo "macros were not found" 12 | exit 1 13 | } 14 | 15 | echo "Running automake ..." 16 | automake -c -a --foreign || ( echo "***ERROR*** automake failed." ; exit 1 ) 17 | 18 | echo "Running autoconf ..." 19 | autoconf || ( echo "***ERROR*** autoconf failed." ; exit 1 ) 20 | 21 | echo "Please run ./configure now" 22 | -------------------------------------------------------------------------------- /test/dropdown.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This sample app demonstrates a really ugly bug 3 | Submitted by: Andrew Ford 4 | */ 5 | 6 | #include "paragui.h" 7 | #include "pgdropdown.h" 8 | #include "pgapplication.h" 9 | 10 | int main( int argc, char **argv ) 11 | { 12 | PG_Application app(argv[0]); 13 | app.LoadTheme( "default" ); 14 | app.InitScreen( 640, 480 ); 15 | 16 | PG_DropDown *dd1, *dd2; 17 | 18 | dd1 = new PG_DropDown(NULL, PG_Rect( 10, 10, 100, 20 )); 19 | dd2 = new PG_DropDown(NULL, PG_Rect( 120, 10,100, 20 )); 20 | 21 | for( int i = 0; i < 10; i++ ) 22 | { 23 | dd1->AddItem( "poop" ); 24 | dd2->AddItem( "yeah" ); 25 | } 26 | 27 | dd1->Show(); 28 | dd2->Show(); 29 | 30 | app.Run(); 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/listbox.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | #include "pglistbox.h" 4 | #include "pglistboxitem.h" 5 | 6 | bool handleListBoxItem(PG_ListBoxBaseItem* item) { 7 | return true; 8 | } 9 | 10 | int main( int argc, char **argv ) 11 | { 12 | PG_Application app(argv[0]); 13 | 14 | app.LoadTheme( "default" ); 15 | 16 | app.InitScreen( 640, 480, 0 ); 17 | app.SetEmergencyQuit(true); 18 | 19 | PG_ListBox listbox(NULL, PG_Rect(10,10,300,100)); 20 | listbox.sigSelectItem.connect(slot(handleListBoxItem)); 21 | listbox.Show(); 22 | 23 | PG_ListBoxItem* item; 24 | int i; 25 | 26 | for(i=0; i<10; i++) { 27 | item = new PG_ListBoxItem(&listbox, 25, ""); 28 | item->SetTextFormat("Item %i", i+1); 29 | } 30 | 31 | app.Run(); 32 | 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /test/keyboard/main.cpp: -------------------------------------------------------------------------------- 1 | #include "keyboard.h" 2 | #include "pgapplication.h" 3 | 4 | int main(int argc, char* argv[]) { 5 | char theme[20]; 6 | strcpy(theme, "simple"); 7 | 8 | // initial flags for screensurface 9 | Uint32 flags = SDL_SWSURFACE|SDL_HWPALETTE; 10 | int bpp = 0; 11 | 12 | // construct the application object 13 | PG_Application app; 14 | 15 | if(!app.LoadTheme(theme)) { 16 | printf("Unable to load theme \"%s\"", theme); 17 | return -1; 18 | } 19 | 20 | if(!app.InitScreen(640, 480, bpp, flags)){ 21 | printf("Resolution not supported\n"); 22 | exit(-1); 23 | } 24 | 25 | TKeyAlpha_LineEdit edit(NULL, PG_Rect(200,300,300,25)); 26 | edit.Init(); 27 | edit.Show(); 28 | 29 | app.SetEmergencyQuit(true); 30 | app.Run(); 31 | 32 | return EXIT_SUCCESS; 33 | } 34 | -------------------------------------------------------------------------------- /doc/txt/screenshots.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page screenshots ParaGUI screenshots 4 | 5 |
6 |

Demo applications

7 |
8 | \htmlonly
\endhtmlonly 9 | Just one of these useless applications demonstrating the capabilities of a library.
10 | ;-) 11 |

12 | \htmlonly 13 |
14 | 15 |
16 |
17 | 24 | 25 | 26 |
18 |
19 |
Large
20 | Example application with the default theme 21 |
22 |

23 |
27 | \endhtmlonly 28 | \image latex shot1.png "Example application with the default theme" width=7cm 29 |

30 | */ 31 | 32 | -------------------------------------------------------------------------------- /test/array.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | #include "pgthemewidget.h" 4 | #include "pglabel.h" 5 | 6 | class PG_ArrayWidget : public PG_ThemeWidget { 7 | public: 8 | 9 | PG_ArrayWidget(PG_Widget* parent, const PG_Rect& r) : PG_ThemeWidget(parent, r) { 10 | for(int i=0; i<50; i++) { 11 | lines[i] = new PG_Label(this, PG_Rect(0,i*25,150,25), "line"); 12 | } 13 | } 14 | 15 | protected: 16 | PG_Label* lines[50]; 17 | }; 18 | 19 | int main( int argc, char **argv ) 20 | { 21 | PG_Application app(argv[0]); 22 | 23 | app.LoadTheme( "default" ); 24 | 25 | app.InitScreen( 640, 480, 0 ); 26 | app.SetEmergencyQuit(true); 27 | 28 | PG_ArrayWidget* a = new PG_ArrayWidget(NULL, PG_Rect(50,50,150,250)); 29 | a->Show(); 30 | app.Run(); 31 | delete a; 32 | 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /sdk/README.sampleapp: -------------------------------------------------------------------------------- 1 | SampleApp autoconf / automake framework 2 | 3 | This framework will help you to start a new project 4 | using ParaGUI. 5 | 6 | How to use: 7 | ----------- 8 | 9 | - Copy the sampleapp.tar.gz tarball to a new dir. 10 | 11 | - Unpack the tarball 12 | tar -zxvf sampleapp.tar.gz 13 | 14 | - Rename the created directory 15 | mv sampleapp MyProject 16 | 17 | - Edit configure.in, Makefile.am to fit your needs 18 | 19 | - run ./autogen.sh to create the framework 20 | 21 | - run ./configure to configure your sources 22 | 23 | - run "make dist" to create a distribution tarball 24 | 25 | 26 | That's only a rough introduction. Please visit 27 | "http://www.gnu.org/manual" for further information 28 | concerning autoconf / automake, ... 29 | 30 | 31 | Have fun 32 | 33 | Alexander Pipelka 34 | 35 | 36 | -------------------------------------------------------------------------------- /sdk/sampleapp/configure.in: -------------------------------------------------------------------------------- 1 | dnl Process this file with autoconf to produce a configure script. 2 | AC_INIT(Makefile.am) 3 | 4 | dnl Setup for automake 5 | PARAGUI_VERSION=1.0.3 6 | 7 | SAMPLEAPP_VERSION=0.0.1 8 | 9 | dnl Detect the canonical host and target build environment 10 | AC_CANONICAL_HOST 11 | AC_CANONICAL_TARGET 12 | 13 | AM_INIT_AUTOMAKE(sampleapp, $SAMPLEAPP_VERSION) 14 | 15 | dnl Check for tools 16 | 17 | AC_PROG_MAKE_SET 18 | AC_PROG_CC 19 | AC_PROG_CXX 20 | AC_PROG_CPP 21 | AC_PROG_INSTALL 22 | AC_C_CONST 23 | 24 | dnl Check for PARAGUI 25 | 26 | AM_PATH_PARAGUI($PARAGUI_VERSION, 27 | :, 28 | AC_MSG_ERROR([*** PARAGUI version $PARAGUI_VERSION not found!]) 29 | ) 30 | 31 | CXXFLAGS="$CFLAGS" 32 | AC_SUBST(CXXFLAGS) 33 | 34 | # Finally create all the generated files 35 | AC_OUTPUT([ 36 | Makefile 37 | src/Makefile 38 | ]) 39 | -------------------------------------------------------------------------------- /src/core/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libpgcore.la 2 | 3 | libpgcore_la_SOURCES = \ 4 | physfsrwops.cpp \ 5 | missing.cpp \ 6 | pgdatacontainer.cpp \ 7 | pgapplication.cpp \ 8 | pgcolors.cpp \ 9 | pgfilearchive.cpp \ 10 | pgfile.cpp \ 11 | pglog.cpp \ 12 | pgmain.cpp \ 13 | pgmessageobject.cpp \ 14 | pgnavigator.cpp \ 15 | pgrectlist.cpp \ 16 | pgsurfacecache.cpp \ 17 | pgtimerobject.cpp \ 18 | pgsigconvert.cpp \ 19 | pgcolor.cpp \ 20 | pgsdleventsupplier.cpp \ 21 | pgthread.cpp 22 | 23 | libpgcore_la_LIBADD = \ 24 | $(SDL_LIBS) \ 25 | $(SIGC_LIBS) 26 | 27 | EXTRA_DIST = \ 28 | physfsrwops.h 29 | 30 | INCLUDES = \ 31 | $(SIGC_CFLAGS) \ 32 | $(SDL_CFLAGS) \ 33 | $(PHYSFS_INCLUDE) \ 34 | -I$(top_srcdir)/include 35 | 36 | style_cvs: 37 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 38 | 39 | style_personal: 40 | astyle *.cpp 41 | -------------------------------------------------------------------------------- /src/physfs/zlib114/infcodes.h: -------------------------------------------------------------------------------- 1 | /* infcodes.h -- header to use infcodes.c 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | struct inflate_codes_state; 12 | typedef struct inflate_codes_state FAR inflate_codes_statef; 13 | 14 | extern inflate_codes_statef *inflate_codes_new OF(( 15 | uInt, uInt, 16 | inflate_huft *, inflate_huft *, 17 | z_streamp )); 18 | 19 | extern int inflate_codes OF(( 20 | inflate_blocks_statef *, 21 | z_streamp , 22 | int)); 23 | 24 | extern void inflate_codes_free OF(( 25 | inflate_codes_statef *, 26 | z_streamp )); 27 | 28 | -------------------------------------------------------------------------------- /test/paratest.spec.in: -------------------------------------------------------------------------------- 1 | %define name @PACKAGE@ 2 | %define version @VERSION@ 3 | %define release 1 4 | 5 | Summary: ParaGUI Demoapplication 6 | Name: %{name} 7 | Version: %{version} 8 | Release: %{release} 9 | Source0: %{name}-%{version}.tar.gz 10 | Copyright: LGPL 11 | Group: System Environment/Libraries 12 | BuildRoot: /var/tmp/%{name}-buildroot 13 | Prefix: %{_prefix} 14 | Packager: Alexander Pipelka 15 | 16 | %description 17 | Demoapplication for the ParaGUI Windowing system 18 | 19 | %prep 20 | rm -rf ${RPM_BUILD_ROOT} 21 | 22 | %setup 23 | 24 | %build 25 | CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} 26 | make 27 | 28 | %install 29 | rm -rf $RPM_BUILD_ROOT 30 | make install prefix=$RPM_BUILD_ROOT/%{prefix} 31 | 32 | %clean 33 | rm -rf $RPM_BUILD_ROOT 34 | 35 | %files 36 | %defattr(-,root,root) 37 | %{prefix}/bin 38 | 39 | %changelog 40 | -------------------------------------------------------------------------------- /src/expat/xmltok_impl.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | enum { 7 | BT_NONXML, 8 | BT_MALFORM, 9 | BT_LT, 10 | BT_AMP, 11 | BT_RSQB, 12 | BT_LEAD2, 13 | BT_LEAD3, 14 | BT_LEAD4, 15 | BT_TRAIL, 16 | BT_CR, 17 | BT_LF, 18 | BT_GT, 19 | BT_QUOT, 20 | BT_APOS, 21 | BT_EQUALS, 22 | BT_QUEST, 23 | BT_EXCL, 24 | BT_SOL, 25 | BT_SEMI, 26 | BT_NUM, 27 | BT_LSQB, 28 | BT_S, 29 | BT_NMSTRT, 30 | BT_COLON, 31 | BT_HEX, 32 | BT_DIGIT, 33 | BT_NAME, 34 | BT_MINUS, 35 | BT_OTHER, /* known not to be a name or name start character */ 36 | BT_NONASCII, /* might be a name or name start character */ 37 | BT_PERCNT, 38 | BT_LPAR, 39 | BT_RPAR, 40 | BT_AST, 41 | BT_PLUS, 42 | BT_COMMA, 43 | BT_VERBAR 44 | }; 45 | 46 | #include 47 | -------------------------------------------------------------------------------- /src/expat/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES=libexpat.la 2 | 3 | libexpat_la_SOURCES = \ 4 | xmltok.c \ 5 | xmlrole.c \ 6 | xmlparse.c 7 | 8 | #INCLUDES = -DXML_NS -DXML_DTD -DXML_MIN_SIZE 9 | INCLUDES = -DXML_MIN_SIZE 10 | 11 | EXTRA_DIST = \ 12 | expat.h \ 13 | ascii.h \ 14 | iasciitab.h \ 15 | nametab.h \ 16 | xmldef.h \ 17 | xmlrole.h \ 18 | xmltok.h \ 19 | asciitab.h \ 20 | latin1tab.h \ 21 | utf8tab.h \ 22 | xmlparse.h \ 23 | xmltchar.h \ 24 | xmltok_impl.h \ 25 | xmltok_impl.c \ 26 | xmltok_ns.c 27 | 28 | # If you know what your system's byte order is, define XML_BYTE_ORDER: 29 | # use -DXML_BYTE_ORDER=12 for little-endian byte order; 30 | # use -DXML_BYTE_ORDER=21 for big-endian (network) byte order. 31 | # -DXML_NS adds support for checking of lexical aspects of XML namespaces spec 32 | # -DXML_MIN_SIZE makes a smaller but slower parser 33 | # -DXML_DTD adds full support for parsing DTDs 34 | -------------------------------------------------------------------------------- /test/dblbuffer-gp2x.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /test/dblbuffer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000, 2001, 2002 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | -------------------------------------------------------------------------------- /bindings/python/event_bug.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from paragui import * 3 | 4 | class MyDialog(PG_Window, PG_EventObject): 5 | def __init__(self): 6 | PG_Window.__init__(self, None, PG_Rect(0, 0, 200, 200), "Test", 1) 7 | self.e = PG_LineEdit(self, PG_Rect(10, 40, 150, 20)) 8 | self.ok = PG_Button(self, 0, PG_Rect(10, 100, 180, 20)) 9 | self.ok.set_pymethod(MSG_BUTTONCLICK, self.okClicked) 10 | 11 | def okClicked(self, *args): 12 | print "okClicked:", self 13 | self.QuitModal() 14 | 15 | app = PG_Application() 16 | app.SetEmergencyQuit(1) 17 | 18 | if not app.LoadTheme("default", 1, "../dat"): 19 | print "Unable to load theme!" 20 | sys.exit(-1) 21 | 22 | app.SetFontSize(14) 23 | 24 | if not app.InitScreen(300, 300, 16, 0): 25 | print "Couldn't initialize X Windowing System" 26 | sys.exit(1) 27 | 28 | md = MyDialog() 29 | md.Show() 30 | md.RunModal() 31 | md.Hide() 32 | 33 | app.Run() 34 | -------------------------------------------------------------------------------- /test/fireworks/main.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | #include "blob.h" 4 | 5 | #define RESX 800 6 | #define RESY 600 7 | 8 | int main(int argc, char* argv[]) { 9 | char theme[20]; 10 | strcpy(theme, "simple"); 11 | 12 | // initial flags for screensurface 13 | Uint32 flags = SDL_SWSURFACE|SDL_HWPALETTE; 14 | int bpp = 0; 15 | 16 | int resx = RESX, resy = RESY; 17 | 18 | // construct the application object 19 | PG_Application app; 20 | 21 | if(!app.LoadTheme(theme)) { 22 | printf("Unable to load theme \"%s\"", theme); 23 | return -1; 24 | } 25 | 26 | if(!app.InitScreen(resx, resy, bpp, flags)){ 27 | printf("Resolution %dx%d not supported\n", resx, resy); 28 | exit(-1); 29 | } 30 | 31 | Blob fireworks(NULL, PG_Rect(100, 100, 600, 400)); 32 | fireworks.AddTimer(60); 33 | fireworks.Show(); 34 | 35 | app.SetEmergencyQuit(true); 36 | app.Run(); 37 | 38 | return EXIT_SUCCESS; 39 | } 40 | -------------------------------------------------------------------------------- /src/expat/xmltchar.h: -------------------------------------------------------------------------------- 1 | #ifdef XML_UNICODE 2 | #ifndef XML_UNICODE_WCHAR_T 3 | #error xmlwf requires a 16-bit Unicode-compatible wchar_t 4 | #endif 5 | #define T(x) L ## x 6 | #define ftprintf fwprintf 7 | #define tfopen _wfopen 8 | #define fputts fputws 9 | #define puttc putwc 10 | #define tcscmp wcscmp 11 | #define tcscpy wcscpy 12 | #define tcscat wcscat 13 | #define tcschr wcschr 14 | #define tcsrchr wcsrchr 15 | #define tcslen wcslen 16 | #define tperror _wperror 17 | #define topen _wopen 18 | #define tmain wmain 19 | #define tremove _wremove 20 | #else /* not XML_UNICODE */ 21 | #define T(x) x 22 | #define ftprintf fprintf 23 | #define tfopen fopen 24 | #define fputts fputs 25 | #define puttc putc 26 | #define tcscmp strcmp 27 | #define tcscpy strcpy 28 | #define tcscat strcat 29 | #define tcschr strchr 30 | #define tcsrchr strrchr 31 | #define tcslen strlen 32 | #define tperror perror 33 | #define topen open 34 | #define tmain main 35 | #define tremove remove 36 | #endif /* not XML_UNICODE */ 37 | -------------------------------------------------------------------------------- /src/core/pgcolor.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // C++ Implementation: pgcolor 3 | // 4 | // Description: 5 | // 6 | // 7 | // Author: Alexander Pipelka , (C) 2003 8 | // 9 | // Copyright: See COPYING file that comes with this distribution 10 | // 11 | // 12 | 13 | #include "pgcolor.h" 14 | 15 | PG_Color::PG_Color() { 16 | r = 0; 17 | g = 0; 18 | b = 0; 19 | } 20 | 21 | PG_Color::PG_Color(const SDL_Color& c) { 22 | *this = c; 23 | } 24 | 25 | PG_Color::PG_Color(Uint32 c) { 26 | *this = c; 27 | } 28 | 29 | PG_Color::PG_Color(Uint8 r, Uint8 g, Uint8 b) { 30 | *this = (Uint32)((r << 16) | (g << 8) | b); 31 | } 32 | 33 | PG_Color& PG_Color::operator=(const SDL_Color& c) { 34 | r = c.r; 35 | g = c.g; 36 | b = c.b; 37 | 38 | return *this; 39 | } 40 | 41 | PG_Color& PG_Color::operator=(Uint32 c) { 42 | r = (c >> 16) & 0xFF; 43 | g = (c >> 8) & 0xFF; 44 | b = c & 0xFF; 45 | 46 | return *this; 47 | } 48 | 49 | PG_Color::operator Uint32() const { 50 | return (r << 16) | (g << 8) | b; 51 | } 52 | -------------------------------------------------------------------------------- /mkdist-bin_win32.bat: -------------------------------------------------------------------------------- 1 | set include=c:\projetcs\include;c:\projects\include\SDL;%include% 2 | set lib=c:\projects\lib;c:\projects\lib\SDL;%lib% 3 | 4 | cd VisualC 5 | 6 | cd paragui_dynamic 7 | NMAKE /f "paragui_dynamic.mak" CFG="paragui_dynamic - Win32 Release" 8 | cd .. 9 | 10 | cd test 11 | NMAKE /f "test.mak" CFG="test - Win32 Release" 12 | cd .. 13 | 14 | cd .. 15 | 16 | rem rd /S /Q paragui-win32 17 | 18 | mkdir paragui-win32 19 | mkdir paragui-win32\bin 20 | mkdir paragui-win32\lib 21 | mkdir paragui-win32\include 22 | mkdir paragui-win32\data 23 | 24 | copy bin\paragui.dll paragui-win32\bin 25 | copy bin\test.exe paragui-win32\bin 26 | 27 | copy include\*.h paragui-win32\include 28 | copy lib\paragui.lib paragui-win32\lib 29 | 30 | copy README paragui-win32 31 | copy README-ParaGUI.txt paragui-win32 32 | copy RELEASENOTES.final paragui-win32 33 | copy COPYING paragui-win32 34 | copy CREDITS paragui-win32 35 | 36 | copy data\default.zip paragui-win32\data 37 | copy data\simple.zip paragui-win32\data 38 | -------------------------------------------------------------------------------- /VisualC/paragui_dynamic/paragui_dynamic.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "paragui_dynamic", "paragui_dynamic\paragui_dynamic.vcproj", "{901C4FE3-C6E8-4588-BF38-7760241C1F5A}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfiguration) = preSolution 8 | Debug = Debug 9 | Release = Release 10 | EndGlobalSection 11 | GlobalSection(ProjectConfiguration) = postSolution 12 | {901C4FE3-C6E8-4588-BF38-7760241C1F5A}.Debug.ActiveCfg = Debug|Win32 13 | {901C4FE3-C6E8-4588-BF38-7760241C1F5A}.Debug.Build.0 = Debug|Win32 14 | {901C4FE3-C6E8-4588-BF38-7760241C1F5A}.Release.ActiveCfg = Release|Win32 15 | {901C4FE3-C6E8-4588-BF38-7760241C1F5A}.Release.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(ExtensibilityGlobals) = postSolution 18 | EndGlobalSection 19 | GlobalSection(ExtensibilityAddIns) = postSolution 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = $(PHYSFS_SUBDIR) $(EXPAT_SUBDIR) draw font themes core widgets ystring gp2x 2 | 3 | DIST_SUBDIRS = draw font themes core widgets expat physfs ystring gp2x 4 | 5 | lib_LTLIBRARIES = libparagui.la 6 | 7 | libparagui_la_SOURCES = paragui.cpp 8 | 9 | libparagui_la_LDFLAGS = \ 10 | -release $(LT_RELEASE) \ 11 | -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) 12 | 13 | libparagui_la_LIBADD = \ 14 | $(SIGC_LIBS) \ 15 | $(SDL_LIBS) \ 16 | $(EXPAT_LIB) \ 17 | $(PHYSFS_LIB) \ 18 | ./draw/libpgdraw.la \ 19 | ./font/libpgfont.la \ 20 | ./core/libpgcore.la \ 21 | ./widgets/libpgwidgets.la \ 22 | ./themes/libtheme.la \ 23 | ./ystring/libystring.la \ 24 | ./gp2x/libpggp2x.la \ 25 | $(VNCSERVER_LIBS) \ 26 | $(LIBSTDCPP) 27 | 28 | INCLUDES = \ 29 | $(SIGC_CFLAGS) \ 30 | $(SDL_CFLAGS) \ 31 | -I$(top_srcdir)/include 32 | 33 | style_cvs: 34 | dirs="draw font themes core widgets" ; for dir in $(SUBDIRS) ; do cd $$dir && make style_cvs && cd .. ; done 35 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 36 | 37 | style_personal: 38 | astyle *.cpp 39 | -------------------------------------------------------------------------------- /test/sigc.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "paragui.h" 3 | #include "pgapplication.h" 4 | #include "pgsignals.h" 5 | #include "pglabel.h" 6 | 7 | #include 8 | 9 | // create a custom class derived from SigC::Object 10 | class MySigC : public virtual SigC::Object { 11 | public: 12 | SigC::Signal1 msg; 13 | }; 14 | 15 | // MyLabel uses PG_Label (which has the bas class SigC::Object) 16 | // and MySigC (also derived from SigC::Object) 17 | class MyLabel : public PG_Label, public MySigC { 18 | public: 19 | MyLabel(PG_Widget* parent, const PG_Rect& r) : PG_Label(parent, r, "") { 20 | msg.connect(slot(*this, &MyLabel::MySlot)); 21 | }; 22 | 23 | bool MySlot(const std::string& text) { 24 | SetText(text.c_str()); 25 | return true; 26 | }; 27 | }; 28 | 29 | int main(int argc, char* argv[]) { 30 | PG_Application app(argv[0]); 31 | app.LoadTheme("default"); 32 | 33 | app.InitScreen(640, 480, 0); 34 | app.SetEmergencyQuit(true); 35 | 36 | MyLabel l(NULL, PG_Rect(50, 50, 300, 25)); 37 | l.msg("test"); 38 | l.Show(); 39 | 40 | app.Run(); 41 | } 42 | -------------------------------------------------------------------------------- /bindings/ruby/Makefile.am: -------------------------------------------------------------------------------- 1 | SWIG = swig 2 | SWIGCOMPILE = $(SWIG) -ruby -c++ -I$(top_srcdir)/include -I$(srcdir) 3 | 4 | SWIGINTERFACE=interface.i 5 | 6 | COMPILE = $(CC) $(CXXFLAGS) -fpic 7 | 8 | PGHEADERS=$(shell ls $(top_srcdir)/include/*.h) 9 | 10 | LINK = $(COMPILE) -shared \ 11 | -L@prefix@/lib \ 12 | -L$(top_srcdir)/src \ 13 | $(PARAGUI_LIBS) 14 | 15 | INCLUDES = \ 16 | $(SDL_CFLAGS) \ 17 | -I$(top_srcdir)/include \ 18 | -I$(RUBY_INCLUDE_DIR) \ 19 | -I../../include 20 | 21 | 22 | OBJECTS = \ 23 | paraguic_wrap.o 24 | 25 | paragui.so: $(OBJECTS) 26 | $(LINK) $(OBJECTS) -o paragui.so 27 | 28 | paraguic_wrap.cpp: $(PGHEADERS) 29 | $(SWIGCOMPILE) -o paraguic_wrap.cpp interface.i 30 | 31 | paraguic_wrap.o: paraguic_wrap.cpp 32 | $(COMPILE) $(INCLUDES) -c $< 33 | 34 | distclean: clean 35 | rm -f Makefile 36 | 37 | clean: 38 | rm -f *.so *.c *.o *~ *. *.cpp 39 | 40 | .PHONY: clean 41 | 42 | pararubydir = $(RUBY_INSTALL_DIR) 43 | 44 | pararuby_DATA = \ 45 | paragui.so 46 | 47 | EXTRA_DIST = \ 48 | swigcommon.h \ 49 | interface.i \ 50 | dropdown.rb \ 51 | layouttest.rb \ 52 | listbox.rb \ 53 | windowresize.rb \ 54 | windowtest.rb \ 55 | icon.bmp \ 56 | pokus.xml 57 | -------------------------------------------------------------------------------- /src/physfs/Makefile.am.oldautomake: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libphysfs.la 2 | 3 | SUBDIRS = platform archivers zlib114 . test extras 4 | 5 | #libphysfsincludedir = $(includedir) 6 | #libphysfsinclude_HEADERS = \ 7 | # physfs.h 8 | 9 | libphysfs_la_SOURCES = \ 10 | physfs.c \ 11 | physfs_internal.h \ 12 | physfs_byteorder.c 13 | 14 | if BUILD_ZLIB 15 | ZLIB_LIB = zlib114/libz.la 16 | else 17 | ZLIB_LIB = 18 | endif 19 | 20 | libphysfs_la_LDFLAGS = \ 21 | -release $(LT_RELEASE) \ 22 | -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) 23 | libphysfs_la_LIBADD = \ 24 | archivers/libarchivers.la \ 25 | platform/libplatform.la \ 26 | $(ZLIB_LIB) 27 | 28 | EXTRA_DIST = \ 29 | CREDITS \ 30 | LICENSE \ 31 | CHANGELOG \ 32 | INSTALL \ 33 | TODO \ 34 | Doxyfile \ 35 | CWProjects.sit \ 36 | physfs.spec.in \ 37 | physfs.spec \ 38 | physfs.dsp \ 39 | test_physfs.dsp \ 40 | makeos2.cmd \ 41 | physfs.h 42 | 43 | dist-hook: 44 | mkdir $(distdir)/docs 45 | echo "Docs are generated with the program "Doxygen" (http://www.doxygen.org/)," >> $(distdir)/docs/README 46 | echo " or can be read online at http://icculus.org/physfs/docs/" >> $(distdir)/docs/README 47 | echo >> $(distdir)/docs/README 48 | 49 | -------------------------------------------------------------------------------- /src/widgets/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libpgwidgets.la 2 | 3 | libpgwidgets_la_SOURCES = \ 4 | pgbutton.cpp \ 5 | pgcheckbutton.cpp \ 6 | pgcolumnitem.cpp \ 7 | pgdropdown.cpp \ 8 | pgimage.cpp \ 9 | pglabel.cpp \ 10 | pglayout.cpp \ 11 | pglineedit.cpp \ 12 | pglistboxbaseitem.cpp \ 13 | pglistbox.cpp \ 14 | pglistboxitem.cpp \ 15 | pgmaskedit.cpp \ 16 | pgmessagebox.cpp \ 17 | pgpopupmenu.cpp \ 18 | pgprogressbar.cpp \ 19 | pgradiobutton.cpp \ 20 | pgscrollbar.cpp \ 21 | pgslider.cpp \ 22 | pgspinnerbox.cpp \ 23 | pgthemewidget.cpp \ 24 | pgwidget.cpp \ 25 | pgwidgetdnd.cpp \ 26 | pgwidgetlist.cpp \ 27 | pgscrollwidget.cpp \ 28 | pgwindow.cpp \ 29 | pgrichedit.cpp \ 30 | pgscrollarea.cpp \ 31 | pgmenubar.cpp \ 32 | pgmultilineedit.cpp \ 33 | propstrings_priv.h \ 34 | propstrings_priv.cpp \ 35 | pgtooltiphelp.cpp \ 36 | pgpropertyeditor.cpp 37 | 38 | libpgwidgets_la_LIBADD = \ 39 | $(SIGC_LIBS) 40 | 41 | EXTRA_DIST = 42 | 43 | INCLUDES = \ 44 | $(SIGC_CFLAGS) \ 45 | $(EXPAT_INCLUDE) \ 46 | $(SDL_CFLAGS) \ 47 | -I$(top_srcdir)/include 48 | 49 | style_cvs: 50 | astyle --style=kr --indent=tab=4 --indent-switches *.cpp 51 | 52 | style_personal: 53 | astyle *.cpp 54 | -------------------------------------------------------------------------------- /test/paratest.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=paratest.dev 3 | Name=paratest 4 | UnitCount=1 5 | Type=0 6 | Ver=1 7 | ObjFiles= 8 | Includes=..\include 9 | Libs=..\ 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler=-Os_@@_ 14 | Linker=--strip-all -lSDLmain -lSDL -Wl,-u,_WinMain@16_@@_../libparagui.a_@@_ 15 | IsCpp=1 16 | Icon= 17 | ExeOutput=..\bin 18 | ObjectOutput= 19 | OverrideOutput=0 20 | OverrideOutputName=paratest.exe 21 | HostApplication= 22 | Folders= 23 | CommandLine= 24 | CppCompiler=-Os_@@_ 25 | IncludeVersionInfo=0 26 | SupportXPThemes=0 27 | CompilerSet=0 28 | CompilerSettings=000000000000000000 29 | 30 | [Unit1] 31 | FileName=paratest.cpp 32 | Folder=paratest 33 | CompileCpp=1 34 | Compile=1 35 | Link=1 36 | Priority=1000 37 | OverrideBuildCmd=0 38 | BuildCmd= 39 | 40 | [Views] 41 | ProjectView=1 42 | 43 | [VersionInfo] 44 | Major=0 45 | Minor=1 46 | Release=1 47 | Build=1 48 | LanguageID=1033 49 | CharsetID=1252 50 | CompanyName= 51 | FileVersion=0.1 52 | FileDescription=Developed using the Dev-C++ IDE 53 | InternalName= 54 | LegalCopyright= 55 | LegalTrademarks= 56 | OriginalFilename=paratest.exe 57 | ProductName=paratest 58 | ProductVersion=0.1 59 | AutoIncBuildNr=0 60 | 61 | -------------------------------------------------------------------------------- /data/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | BUILDDIR=@TOP_BUILDDIR@/data/ 3 | 4 | default.zip: $(srcdir)/default.theme 5 | chmod -R 644 $(srcdir)/default/*.* 6 | chmod -R 644 $(srcdir)/default.theme 7 | chmod 755 $(srcdir)/default 8 | (cd $(srcdir); zip -9 -r $(BUILDDIR)default.zip default.theme ./default/* -i *.png *.bmp *.ttf *.theme) 9 | 10 | qnx.zip: $(srcdir)/qnx.theme 11 | chmod -R 644 $(srcdir)qnx/*.* 12 | chmod -R 644 $(srcdir)/qnx.theme 13 | chmod 755 $(srcdir)/qnx 14 | (cd $(srcdir);zip -9 -r $(BUILDDIR)qnx.zip qnx.theme qnx -i *.png *.bmp *.ttf *.theme) 15 | 16 | simple.zip: $(srcdir)/simple.theme 17 | chmod -R 644 $(srcdir)/simple/*.* 18 | chmod -R 644 $(srcdir)/simple.theme 19 | chmod 755 $(srcdir)/simple 20 | (cd $(srcdir); zip -9 -r $(BUILDDIR)simple.zip simple.theme simple -i *.png *.bmp *.ttf *.theme) 21 | 22 | default_mac.zip: 23 | (cd $(srcdir); zip -9 -r $(BUILDDIR)default_mac.zip default_mac.theme default -i *.png *.bmp *.theme) 24 | 25 | 26 | paraguidatadir = $(datadir)/paragui 27 | 28 | paraguidata_DATA = \ 29 | default.zip \ 30 | simple.zip 31 | # qnx.zip 32 | 33 | EXTRA_DIST = \ 34 | default.theme \ 35 | default.zip \ 36 | simple.theme \ 37 | simple.zip 38 | # qnx.zip 39 | 40 | clean: 41 | 42 | distclean: clean 43 | rm -f Makefile 44 | -------------------------------------------------------------------------------- /test/event_bug.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | 8 | class MyDialog : public PG_Window { 9 | public: 10 | MyDialog(); 11 | 12 | bool ok_clicked(); 13 | 14 | PG_LineEdit* e; 15 | PG_Button* ok; 16 | }; 17 | 18 | MyDialog::MyDialog() : PG_Window(0, PG_Rect(0, 0, 200, 200), "test", MODAL) { 19 | e = new PG_LineEdit(this, PG_Rect(0, 25, 200, 20)); 20 | ok = new PG_Button(this, PG_Rect(10, 100, 180, 20)); 21 | 22 | ok->sigClick.connect(slot(*this, &MyDialog::ok_clicked)); 23 | } 24 | 25 | bool MyDialog::ok_clicked() { 26 | QuitModal(); 27 | return true; 28 | } 29 | 30 | int main(int argc, char** argv) { 31 | PG_Application app(argv[0]); 32 | app.SetEmergencyQuit(true); 33 | 34 | if (!app.LoadTheme("default", true, "../dat")) { 35 | std::cerr << "Unable to load theme!" << std::endl; 36 | exit(-1); 37 | } 38 | 39 | app.SetFontSize(14); 40 | 41 | if (!app.InitScreen(300, 300, 16, 0)) { 42 | std::cerr << "Couldn't initialize X Windowing System\n"; 43 | exit(1); 44 | } 45 | 46 | MyDialog md; 47 | md.Show(); 48 | md.RunModal(); 49 | md.Hide(); 50 | 51 | app.Run(); 52 | 53 | return 0; 54 | } 55 | -------------------------------------------------------------------------------- /test/colorselector/main.cpp: -------------------------------------------------------------------------------- 1 | #include "pgcolorselector.h" 2 | #include "pgapplication.h" 3 | 4 | int main(int argc, char* argv[]) { 5 | char theme[20]; 6 | strcpy(theme, "simple"); 7 | 8 | // initial flags for screensurface 9 | Uint32 flags = SDL_SWSURFACE|SDL_HWPALETTE; 10 | int bpp = 16; 11 | 12 | // construct the application object 13 | PG_Application app; 14 | 15 | if(!app.LoadTheme(theme)) { 16 | printf("Unable to load theme \"%s\"", theme); 17 | return -1; 18 | } 19 | 20 | if(!app.InitScreen(640, 480, bpp, flags)){ 21 | printf("Resolution not supported\n"); 22 | exit(-1); 23 | } 24 | 25 | PG_ColorSelector colorsel1(NULL, PG_Rect(10,10,300,150)); 26 | colorsel1.Show(); 27 | 28 | PG_Gradient g; 29 | g.colors[0].r = 255; 30 | g.colors[0].g = 0; 31 | g.colors[0].b = 0; 32 | 33 | g.colors[1].r = 0; 34 | g.colors[1].g = 255; 35 | g.colors[1].b = 0; 36 | 37 | g.colors[2].r = 0; 38 | g.colors[2].g = 0; 39 | g.colors[2].b = 255; 40 | 41 | g.colors[3].r = 255; 42 | g.colors[3].g = 255; 43 | g.colors[3].b = 255; 44 | 45 | PG_ColorSelector colorsel2(NULL, PG_Rect(10,170,300,150)); 46 | colorsel2.SetColorGradient(g); 47 | colorsel2.Show(); 48 | 49 | app.SetEmergencyQuit(true); 50 | app.Run(); 51 | 52 | return EXIT_SUCCESS; 53 | } 54 | -------------------------------------------------------------------------------- /src/core/pgsigconvert.cpp: -------------------------------------------------------------------------------- 1 | // -*- c++ -*- 2 | /* 3 | Copyright 2000, Karl Einar Nelson 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | */ 19 | #include "pgsigconvert.h" 20 | 21 | #ifdef SIGC_CXX_NAMESPACES 22 | namespace SigCX { 23 | #endif 24 | 25 | AdaptorConvertSlotNode::~AdaptorConvertSlotNode() {} 26 | 27 | AdaptorConvertSlotNode::AdaptorConvertSlotNode(SigC::FuncPtr proxy, 28 | const SigC::Node& s, 29 | SigC::FuncPtr convert_func) 30 | : AdaptorSlotNode(proxy,s), convert_func_(convert_func) {} 31 | 32 | #ifdef SIGC_CXX_NAMESPACES 33 | } 34 | #endif 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /include/pgtabbar.h: -------------------------------------------------------------------------------- 1 | #ifndef PG_TABBAR_H 2 | #define PG_TABBAR_H 3 | 4 | #include "pgthemewidget.h" 5 | #include "pgwidgetlistex.h" 6 | #include "pgbutton.h" 7 | 8 | class PG_TabBar; 9 | typedef Signal1 PG_SignalTabRemove; 10 | 11 | class PG_TabBar : public PG_Widget { 12 | public: 13 | 14 | PG_TabBar(PG_Widget* parent, const PG_Rect r, const char* style = "TabBar"); 15 | ~PG_TabBar(); 16 | 17 | PG_Button* AddTab(const char* text, int id = -1); 18 | 19 | PG_Button* AddTab(const char* text, PG_TabSelectSlot slot, int id = -1); 20 | 21 | bool RemoveTab(PG_Button* tab); 22 | 23 | bool SelectNext(); 24 | 25 | bool SelectPrev(); 26 | 27 | PG_Button* FindTab(int index); 28 | 29 | PG_Button* FindTab(const char* text); 30 | 31 | int FindIndex(PG_Button* tab); 32 | 33 | inline int GetChildCount() { 34 | return my_tabList->GetChildCount(); 35 | } 36 | 37 | PG_SignalTabSelect sigTabSelect; 38 | PG_SignalTabRemove sigTabRemove; 39 | 40 | protected: 41 | 42 | void eventSizeWidget(Uint16 w, Uint16 h); 43 | 44 | bool handleTabClick(PG_Button* button); 45 | 46 | bool handleTabNav(PG_Button* button); 47 | 48 | PG_Button* my_selectedTab; 49 | 50 | PG_WidgetListEx* my_tabList; 51 | PG_Button* my_btnPrev; 52 | PG_Button* my_btnNext; 53 | 54 | std::string my_style; 55 | }; 56 | 57 | #endif // PG_TABBAR_H 58 | -------------------------------------------------------------------------------- /bindings/python/Makefile.am: -------------------------------------------------------------------------------- 1 | SWIGCOMPILE = $(SWIG) -python -shadow -c++ -I$(top_srcdir)/include -I$(srcdir) 2 | 3 | COMPILE = $(CC) $(CXXFLAGS) -fpic 4 | 5 | PGHEADERS=$(shell ls $(top_srcdir)/include/*.h) 6 | 7 | LINK = $(COMPILE) -shared \ 8 | -L@prefix@/lib \ 9 | -lexpat \ 10 | -lz \ 11 | $(SDL_LIBS) \ 12 | $(IMAGE_LIBS) \ 13 | $(LIBSTDCPP) \ 14 | -lparagui -L$(top_srcdir)/src 15 | 16 | INCLUDES = \ 17 | $(SDL_CFLAGS) \ 18 | -I$(top_srcdir)/include \ 19 | -I$(PYTHON_INCLUDE_DIR) \ 20 | -I../../include 21 | 22 | 23 | OBJECTS = \ 24 | paraguic_wrap.o 25 | 26 | paraguicmodule.so: $(OBJECTS) 27 | $(LINK) $(OBJECTS) -o paraguicmodule.so 28 | 29 | #paragui.py: 30 | 31 | #paragui.pyc: 32 | # python -c "import paragui" 2>/dev/null || echo -n 33 | 34 | #paragui.pyo: 35 | # python -OO -c "import paragui" 2>/dev/null || echo -n 36 | 37 | paraguic_wrap.cpp: $(PGHEADERS) python.h 38 | $(SWIGCOMPILE) -I$(top_srcdir)/include -o paraguic_wrap.cpp python.h 39 | 40 | paraguic_wrap.o: paraguic_wrap.cpp 41 | $(COMPILE) $(INCLUDES) -c $< 42 | 43 | distclean: clean 44 | rm -f Makefile 45 | 46 | clean: 47 | rm -f *.so *.c *.o *~ *. *.cpp *.py? 48 | 49 | .PHONY: clean 50 | 51 | parapythondir = $(PYTHON_LIB_DIR) 52 | 53 | parapython_DATA = \ 54 | paraguicmodule.so \ 55 | paragui.py \ 56 | paragui.pyc \ 57 | paragui.pyo 58 | 59 | EXTRA_DIST = \ 60 | swigcommon.h \ 61 | python.h 62 | -------------------------------------------------------------------------------- /src/physfs/zlib114/infblock.h: -------------------------------------------------------------------------------- 1 | /* infblock.h -- header to use infblock.c 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | struct inflate_blocks_state; 12 | typedef struct inflate_blocks_state FAR inflate_blocks_statef; 13 | 14 | extern inflate_blocks_statef * inflate_blocks_new OF(( 15 | z_streamp z, 16 | check_func c, /* check function */ 17 | uInt w)); /* window size */ 18 | 19 | extern int inflate_blocks OF(( 20 | inflate_blocks_statef *, 21 | z_streamp , 22 | int)); /* initial return code */ 23 | 24 | extern void inflate_blocks_reset OF(( 25 | inflate_blocks_statef *, 26 | z_streamp , 27 | uLongf *)); /* check value on output */ 28 | 29 | extern int inflate_blocks_free OF(( 30 | inflate_blocks_statef *, 31 | z_streamp)); 32 | 33 | extern void inflate_set_dictionary OF(( 34 | inflate_blocks_statef *s, 35 | const Bytef *d, /* dictionary */ 36 | uInt n)); /* dictionary length */ 37 | 38 | extern int inflate_blocks_sync_point OF(( 39 | inflate_blocks_statef *s)); 40 | -------------------------------------------------------------------------------- /src/expat/xmldef.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | #include 7 | 8 | #ifdef XML_WINLIB 9 | 10 | #define WIN32_LEAN_AND_MEAN 11 | #define STRICT 12 | #include 13 | 14 | #define malloc(x) HeapAlloc(GetProcessHeap(), 0, (x)) 15 | #define calloc(x, y) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (x)*(y)) 16 | #define free(x) HeapFree(GetProcessHeap(), 0, (x)) 17 | #define realloc(x, y) HeapReAlloc(GetProcessHeap(), 0, x, y) 18 | #define abort() /* as nothing */ 19 | 20 | #else /* not XML_WINLIB */ 21 | 22 | #include 23 | 24 | #endif /* not XML_WINLIB */ 25 | 26 | /* This file can be used for any definitions needed in 27 | particular environments. */ 28 | 29 | /* Mozilla specific defines */ 30 | 31 | #ifdef MOZILLA_CLIENT 32 | 33 | #include "nspr.h" 34 | #define malloc(x) PR_Malloc((size_t)(x)) 35 | #define realloc(x, y) PR_Realloc((x), (size_t)(y)) 36 | #define calloc(x, y) PR_Calloc((x),(y)) 37 | #define free(x) PR_Free(x) 38 | #if PR_BYTES_PER_INT != 4 39 | #define int int32 40 | #endif 41 | 42 | /* Enable Unicode string processing in expat. */ 43 | #ifndef XML_UNICODE 44 | #define XML_UNICODE 45 | #endif 46 | 47 | /* Enable external parameter entity parsing in expat */ 48 | #ifndef XML_DTD 49 | #define XML_DTD 1 50 | #endif 51 | 52 | #endif /* MOZILLA_CLIENT */ 53 | -------------------------------------------------------------------------------- /src/draw/pgpoint.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000-2004 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2006/02/06 21:24:20 $ 24 | Source File: $Source: /sources/paragui/paragui/src/draw/pgpoint.cpp,v $ 25 | CVS/RCS Revision: $Revision: 1.1.4.4 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #include "pgpoint.h" 30 | 31 | PG_Point PG_Point::null; 32 | 33 | PG_Point::PG_Point() : x(0), y(0) {} 34 | 35 | PG_Point::PG_Point(Sint16 _x, Sint16 _y) : x(_x), y(_y) {} 36 | -------------------------------------------------------------------------------- /test/updatetest.cpp: -------------------------------------------------------------------------------- 1 | #include "pgapplication.h" 2 | #include "pgthemewidget.h" 3 | #include "pgwindow.h" 4 | #include "pgbutton.h" 5 | #include "pgcheckbutton.h" 6 | 7 | class MyWindow: public PG_Window { 8 | public: 9 | MyWindow( PG_Widget* parent, const PG_Rect& r = PG_Rect::null ) : PG_Window( parent, r ) 10 | {}; 11 | bool click( PG_RadioButton* a, bool b ) 12 | { 13 | UpdateOverlappingSiblings( b, true ); 14 | return true; 15 | }; 16 | }; 17 | 18 | 19 | int main(int argc,char *argv[]) 20 | { 21 | PG_Application app(argv[0]); 22 | app.SetEmergencyQuit(true); 23 | app.LoadTheme("simple"); 24 | app.InitScreen(800,600,0,SDL_SWSURFACE); 25 | 26 | MyWindow* window = new MyWindow( NULL,PG_Rect(200,200,350,300)); 27 | new PG_Label( window, PG_Rect(20, 30,300,30), "not overlapping the button" ); 28 | new PG_Label( window, PG_Rect(20,100,300,30), "behind button" ); 29 | PG_Button* button = new PG_Button( window, PG_Rect(60,70,250,100), "Button" ); 30 | button->SetTransparency(40,40,40); 31 | new PG_Label( window, PG_Rect(20,130,300,30), "in front of button" ); 32 | new PG_Label( window, PG_Rect(20,180,300,30), "not overlapping the button" ); 33 | PG_CheckButton* c = new PG_CheckButton( window, PG_Rect( 20, 220, 300, 30 ), "UpdateOverlappingSiblings" ); 34 | c->SetPressed(); 35 | c->sigClick.connect( SigC::slot( *window, &MyWindow::click )); 36 | window->Show(); 37 | 38 | app.Run(); 39 | } 40 | -------------------------------------------------------------------------------- /src/font/facecache.h: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgdatacontainer.h" 3 | 4 | #define FT_FLOOR(X) ((X & -64) / 64) 5 | #define FT_CEIL(X) (((X + 63) & -64) / 64) 6 | #define PG_FITALIC_ANGLE 0.26f 7 | 8 | #include 9 | #include FT_FREETYPE_H 10 | #include FT_ERRORS_H 11 | #include FT_CACHE_H 12 | #include FT_CACHE_IMAGE_H 13 | #include FT_CACHE_SMALL_BITMAPS_H 14 | 15 | #ifdef HASH_MAP_INC 16 | #include HASH_MAP_INC 17 | #endif 18 | #include 19 | 20 | class PG_GlyphCacheItem : public PG_DataContainer { 21 | public: 22 | PG_GlyphCacheItem(Uint32 size) : PG_DataContainer(size) { 23 | }; 24 | 25 | int Glyph_Index; 26 | FT_Bitmap Bitmap; 27 | 28 | int Bitmap_left; 29 | int Bitmap_top; 30 | int Advance_x; 31 | }; 32 | 33 | typedef std::map PG_GlyphCache; 34 | 35 | class PG_FontFaceCacheItem { 36 | public: 37 | 38 | PG_FontFaceCacheItem() { 39 | Face = NULL; 40 | }; 41 | 42 | virtual ~PG_FontFaceCacheItem() { 43 | for(PG_GlyphCache::iterator i = GlyphCache.begin(); i != GlyphCache.end(); i++) { 44 | delete (*i).second; 45 | } 46 | FT_Done_Face(Face); 47 | }; 48 | 49 | FT_Face Face; 50 | PG_GlyphCache GlyphCache; 51 | 52 | //Additional font paramters - usable for style 53 | int Bold_Offset; 54 | int Underline_Height; 55 | 56 | int Ascent; 57 | int Descent; 58 | int Height; 59 | int LineSkip; 60 | 61 | int Use_Kerning; 62 | FT_F26Dot6 fontsize; 63 | }; 64 | -------------------------------------------------------------------------------- /src/physfs/TODO: -------------------------------------------------------------------------------- 1 | Stuff that needs to be done and wishlist: 2 | 3 | These are in no particular order. A 1.0 release is reliant on doing some of 4 | this stuff. Some might be dupes, some might be done already. 5 | 6 | - Other archivers: perhaps tar(.gz|.bz2), RPM, ARJ, etc. These are less 7 | important, since streaming archives aren't of much value to games (which 8 | is why zipfiles are king: random access), but it could have uses for, say, 9 | an installer/updater. I thought it might be neat to have MBOX and Maildir 10 | support so that both "archives" look identical to an application; might be 11 | nice for an email program. That's blue sky, unless someone wants to tackle 12 | it. 13 | - I'm a little nervous about the use of linked lists in qpak.c. 14 | - Stack allocate in stripAppleBundle() (platform/unix.c) instead of calloc(). 15 | - macclassic.c : 16 | "/* (Hmm. Default behaviour is broken in the base library. :) ) */" 17 | - Platforms to port to: Amiga (needs platform driver), DOS4GW (platform driver). 18 | - profile string list interpolation. 19 | - We have two different ways to find dir entries in zip.c. 20 | - Do symlinks in zip archiver work when they point to dirs? 21 | - Enable more warnings? 22 | - Use __cdecl in physfs.h? 23 | - Look for FIXMEs (many marked with "!!!" in comments). 24 | - Check for tab chars in the source. 25 | - Probably other stuff. Requests and recommendations are welcome. 26 | 27 | // end of TODO ... 28 | 29 | -------------------------------------------------------------------------------- /bindings/ruby/windowtest.rb: -------------------------------------------------------------------------------- 1 | require 'paragui' 2 | 3 | include Paragui 4 | 5 | class CMyWindow < PG_Window 6 | def initialize(parent, rect, text, flags, style="Window") 7 | super(parent, rect, text, flags, style) 8 | end 9 | end 10 | 11 | class CMyWidget < PG_ThemeWidget 12 | def initialize(parent, rect) 13 | super(parent, rect) 14 | mywindow = CMyWindow.new(self, PG_Rect.new(50,50,150,100), "Fenster", WF_DEFAULT) 15 | AddChild(mywindow) 16 | end 17 | end 18 | 19 | def init_app(app) 20 | app.SetEmergencyQuit true 21 | app.LoadTheme "default" 22 | app.InitScreen(800,600,0,0) 23 | end 24 | 25 | app = PG_Application.new 26 | init_app(app) 27 | 28 | def create_widgets 29 | mywidget = CMyWidget.new(nil, PG_Rect.new(200,200,350,250)) 30 | mywidget.Show 31 | 32 | msgbox = PG_MessageBox.new nil, PG_Rect.new(200,50,240,200), 33 | "Model Messagebox", 'Click "Ok" to close me', 34 | PG_Rect.new(90,120,50,50), "Ok", 35 | PG_Rect.new(0,0,0,0), "", 36 | PG_TA_CENTER, "MessageBox" 37 | 38 | drop = PG_DropDown.new msgbox, 15, PG_Rect.new(5,60,200,25) 39 | drop.SetIndent 5 40 | drop.AddItem "Under Construction" 41 | 3.times {|i| drop.AddItem "Item#{i}"} 42 | 43 | msgbox.Show 44 | msgbox.WaitForClick 45 | msgbox 46 | end 47 | 48 | (create_widgets).Hide 49 | 50 | app.Run 51 | # can't seem to delete app completely 52 | -------------------------------------------------------------------------------- /include/paraconfig_macos.h: -------------------------------------------------------------------------------- 1 | #ifndef MACOS_CONFIG_INCLUDED 2 | #define MACOS_CONFIG_INCLUDED 3 | 4 | /* Define to 1 if UNICODE support is enabled */ 5 | /* #undef UNICODE_ENABLED */ 6 | 7 | /* Define if you the the SDL_image library (-lSDL_Image) */ 8 | #define PG_HAVE_SDLIMAGE 1 9 | 10 | /* Define the default path to the theme files */ 11 | #define PG_PARAGUI_THEMEDIR ":data:" 12 | 13 | /* Define if RTTI is enabled in your compiler (for dynamic_cast and typeid) */ 14 | #define PG_RTTI_ENABLED 1 15 | 16 | /* Define if the exception handling is enabled in your compiler */ 17 | #undef PG_EXCEPTIONS_ENABLED 18 | 19 | /* Define if mpatrol memory profiler support is enabled */ 20 | /* #undef PG_MPATROL_ENABLED */ 21 | 22 | /* Define if you have the fnmatch function. */ 23 | /* #undef PG_HAVE_FNMATCH */ 24 | 25 | /* Define if you have the strdup function. */ 26 | /* #undef PG_HAVE_STRDUP */ 27 | 28 | /* Define if you have the strtok function. */ 29 | #define PG_HAVE_STRTOK 1 30 | 31 | /* Define if you have the vsnprintf function. */ 32 | #define PG_HAVE_VSNPRINTF 1 33 | 34 | /* Define if you have the header file. */ 35 | #define PG_HAVE_DLFCN_H 1 36 | 37 | /* Define if you have the jpeg library (-ljpeg). */ 38 | #define PG_HAVE_LIBJPEG 1 39 | 40 | /* Define if you have the png library (-lpng). */ 41 | #define PG_HAVE_LIBPNG 1 42 | 43 | /* Define if you have the tiff library (-ltiff). */ 44 | #define PG_HAVE_LIBTIFF 1 45 | 46 | /* SDL_image shared library */ 47 | #define PG_SDLIMAGE_LIB "???" 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/physfs/zlib114/adler32.c: -------------------------------------------------------------------------------- 1 | /* adler32.c -- compute the Adler-32 checksum of a data stream 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* @(#) $Id: adler32.c,v 1.1.2.3 2003/05/26 07:39:54 braindead Exp $ */ 7 | 8 | #include "zlib.h" 9 | 10 | #define BASE 65521L /* largest prime smaller than 65536 */ 11 | #define NMAX 5552 12 | /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ 13 | 14 | #define DO1(buf,i) {s1 += buf[i]; s2 += s1;} 15 | #define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); 16 | #define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); 17 | #define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); 18 | #define DO16(buf) DO8(buf,0); DO8(buf,8); 19 | 20 | /* ========================================================================= */ 21 | uLong ZEXPORT adler32(adler, buf, len) 22 | uLong adler; 23 | const Bytef *buf; 24 | uInt len; 25 | { 26 | unsigned long s1 = adler & 0xffff; 27 | unsigned long s2 = (adler >> 16) & 0xffff; 28 | int k; 29 | 30 | if (buf == Z_NULL) return 1L; 31 | 32 | while (len > 0) { 33 | k = len < NMAX ? len : NMAX; 34 | len -= k; 35 | while (k >= 16) { 36 | DO16(buf); 37 | buf += 16; 38 | k -= 16; 39 | } 40 | if (k != 0) do { 41 | s1 += *buf++; 42 | s2 += s1; 43 | } while (--k); 44 | s1 %= BASE; 45 | s2 %= BASE; 46 | } 47 | return (s2 << 16) | s1; 48 | } 49 | -------------------------------------------------------------------------------- /CWparagui.txt: -------------------------------------------------------------------------------- 1 | Code Warrior 7 Projects for Windows and Mac (05/31/2002) 2 | 3 | I am not sure if these will work with earlier versions of CW, 4 | but you can try, the only reason that they may not is if some of the 5 | OS libs don't exist. 6 | 7 | Now to use the project files........ 8 | 9 | Unzip into the man branch of paragui you are using. You will 10 | find the project file to load with CW in the CWProject directory. 11 | In order to completly compile the paragui lib, you DON'T have to compile 12 | in the external libs like with VC++. You only need to link in the libs 13 | when you compile your actual program. 14 | 15 | Currently the project files only compile static versions of paragui, 16 | but hopefully soon there will be dynamically linkable versions. 17 | 18 | Any external includes (SDL, freetype, SDL_image, expat, physFS) must 19 | be loacted in the CWProjects\external dir. You're free to change the access 20 | paths to were you have these files if you know how.....just remember to remove 21 | the {project}\external access path from the access paths or you will get 22 | multiple defines. 23 | 24 | Also, please note that when compiling the paragui lib on either MAC 25 | or windows, the PG_color.cpp will appear to freeze.....it doesn't, it takes 26 | about 5 minutes to compile on my AMD 950. 27 | 28 | Have fun, I hope I covered everything here....O one more thing, any 29 | external libs MUST also be compiled from CW in order to link them with any 30 | other CW project, including this one. :) 31 | 32 | any questions, 33 | ksswyer@hotmail.com -------------------------------------------------------------------------------- /test/colorselector/pgcolorselector.h: -------------------------------------------------------------------------------- 1 | #ifndef PG_COLORSELECTOR_H 2 | #define PG_COLORSELECTOR_H 3 | 4 | #include "pgthemewidget.h" 5 | #include "pgslider.h" 6 | 7 | class DECLSPEC PG_ColorSelector : public PG_ThemeWidget { 8 | protected: 9 | 10 | class PG_ColorBox : public PG_ThemeWidget { 11 | public: 12 | 13 | PG_ColorBox(PG_ColorSelector* parent, const PG_Rect& r); 14 | 15 | inline PG_ColorSelector* GetParent() { 16 | return static_cast(PG_ThemeWidget::GetParent()); 17 | } 18 | 19 | PG_Color GetBaseColor(); 20 | 21 | protected: 22 | 23 | void eventBlit(SDL_Surface* srf, const PG_Rect& src, const PG_Rect& dst); 24 | 25 | bool eventMouseMotion(const SDL_MouseMotionEvent* motion); 26 | bool eventMouseButtonDown(const SDL_MouseButtonEvent* button); 27 | bool eventMouseButtonUp(const SDL_MouseButtonEvent* button); 28 | 29 | private: 30 | 31 | bool my_btndown; 32 | PG_Point p; 33 | }; 34 | 35 | public: 36 | 37 | PG_ColorSelector(PG_Widget* parent, const PG_Rect&r, const std::string& style="colorselector"); 38 | ~PG_ColorSelector(); 39 | 40 | void SetColor(const PG_Color& c); 41 | 42 | inline void SetColorGradient(PG_Gradient g) { 43 | my_colorbox->SetGradient(g); 44 | } 45 | 46 | protected: 47 | 48 | bool handle_colorslide(long data); 49 | 50 | void SetBaseColor(const PG_Color& c); 51 | 52 | PG_ColorBox* my_colorbox; 53 | PG_Slider* my_colorslider; 54 | PG_ThemeWidget* my_colorresult; 55 | 56 | PG_Color my_color; 57 | PG_Color my_basecolor; 58 | 59 | friend class PG_ColorBox; 60 | }; 61 | 62 | #endif // PG_COLORSELECTOR_H 63 | -------------------------------------------------------------------------------- /bindings/python/python.h: -------------------------------------------------------------------------------- 1 | #ifdef SWIG 2 | 3 | %include "paragui.h" 4 | 5 | // Grab a Python function object as a Python object. 6 | %typemap(python,in) PyObject *pyfunc { 7 | if (!PyCallable_Check($input)) { 8 | PyErr_SetString(PyExc_TypeError, "Need a callable object!"); 9 | return NULL; 10 | } 11 | $1 = $input; 12 | } 13 | 14 | %module pgmessageobject 15 | 16 | %extend PG_MessageObject { 17 | 18 | // This function matches the prototype of the normal C callback 19 | // function for our widget. However, we use the clientdata pointer 20 | // for holding a reference to a Python callable object. 21 | 22 | static bool PythonCallBack(int id, PG_Widget *widget, unsigned long data, void *clientdata) { 23 | PyObject *func, *arglist; 24 | PyObject *result; 25 | bool res = 0; 26 | 27 | func = (PyObject *) clientdata; // Get Python function 28 | arglist = Py_BuildValue("(ill)",id,widget,data);// Build argument list 29 | result = PyEval_CallObject(func,arglist); // Call Python 30 | Py_DECREF(arglist); // Trash arglist 31 | if (result) { // If no errors, return double 32 | res = PyInt_AsLong(result); 33 | } 34 | Py_XDECREF(result); 35 | return res; 36 | } 37 | 38 | // Attach a new method to our plot widget for adding Python functions 39 | // Set a Python function object as a callback function 40 | // Note : PyObject *pyfunc is remapped with a typempap 41 | 42 | void set_pymethod(PG_MSG_TYPE type, PyObject *pyfunc) { 43 | self->SetEventCallback(type, PG_MessageObject_PythonCallBack, (void *) pyfunc); 44 | Py_INCREF(pyfunc); 45 | } 46 | } 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /paragui.spec.in: -------------------------------------------------------------------------------- 1 | %define name @PACKAGE@ 2 | %define version @VERSION@ 3 | %define release 3 4 | 5 | Summary: ParaGUI - A complete GUI/Windowing system for SDL 6 | Name: %{name} 7 | Version: %{version} 8 | Release: %{release} 9 | Source0: %{name}-%{version}.tar.gz 10 | URL: http://www.bms-austria.com/projects/paragui 11 | Copyright: LGPL 12 | Group: System Environment/Libraries 13 | BuildRoot: /var/tmp/%{name}-buildroot 14 | Prefix: %{_prefix} 15 | Packager: Alexander Pipelka 16 | 17 | %description 18 | This library is a complete GUI/Windowing system for SDL 19 | 20 | %package devel 21 | Summary: Libraries, includes and more to develop SDL GUI applications. 22 | Group: Development/Libraries 23 | Requires: %{name} 24 | Requires: SDL-devel 25 | Requires: SDL_image-devel 26 | Requires: expat-devel 27 | 28 | %description devel 29 | This library is a complete GUI/Windowing system for SDL 30 | 31 | %prep 32 | rm -rf ${RPM_BUILD_ROOT} 33 | 34 | %setup 35 | 36 | %build 37 | CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} --enable-readline=no --enable-internalphysfs --disable-static --disable-rtti --disable-exceptions 38 | make 39 | 40 | %install 41 | rm -rf $RPM_BUILD_ROOT 42 | make install prefix=$RPM_BUILD_ROOT/%{prefix} 43 | 44 | %clean 45 | rm -rf $RPM_BUILD_ROOT 46 | 47 | %files 48 | %defattr(-,root,root) 49 | %doc README-ParaGUI.txt COPYING INSTALL 50 | %{prefix}/lib/lib*.so.* 51 | %{prefix}/share/paragui 52 | 53 | %files devel 54 | %defattr(-,root,root) 55 | %{prefix}/bin/*-config 56 | %{prefix}/lib/lib*.so 57 | %{prefix}/lib/lib*.la 58 | %{prefix}/lib/pkgconfig/paragui.pc 59 | %{prefix}/include 60 | %{prefix}/share/aclocal/* 61 | 62 | %changelog 63 | -------------------------------------------------------------------------------- /paragui-config.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | exec_prefix_set=no 6 | 7 | usage="\ 8 | Usage: paragui-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]" 9 | 10 | if test $# -eq 0; then 11 | echo "${usage}" 1>&2 12 | exit 1 13 | fi 14 | 15 | while test $# -gt 0; do 16 | case "$1" in 17 | -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; 18 | *) optarg= ;; 19 | esac 20 | 21 | case $1 in 22 | --prefix=*) 23 | prefix=$optarg 24 | if test $exec_prefix_set = no ; then 25 | exec_prefix=$optarg 26 | fi 27 | ;; 28 | --prefix) 29 | echo $prefix 30 | ;; 31 | --exec-prefix=*) 32 | exec_prefix=$optarg 33 | exec_prefix_set=yes 34 | ;; 35 | --exec-prefix) 36 | echo $exec_prefix 37 | ;; 38 | --version) 39 | echo @PARAGUI_VERSION@ 40 | ;; 41 | --cflags) 42 | if test @includedir@ != /usr/include ; then 43 | includes=-I@includedir@ 44 | fi 45 | echo $includes -I@includedir@/paragui @PARAGUI_CFLAGS@ 46 | ;; 47 | --libs) 48 | if [ "`uname`" = "SunOS" ]; then 49 | libdirs="-L@libdir@ -R@libdir@" 50 | else 51 | libdirs="-L@libdir@" 52 | fi 53 | echo $libdirs @PARAGUI_LIBS@ 54 | ;; 55 | --static-libs) 56 | if [ "`uname`" = "SunOS" ]; then 57 | libdirs="-L@libdir@ -R@libdir@" 58 | else 59 | libdirs="-L@libdir@" 60 | fi 61 | echo $libdirs @PARAGUI_LIBS@ @SYSTEM_LIBS@ 62 | ;; 63 | *) 64 | echo "${usage}" 1>&2 65 | exit 1 66 | ;; 67 | esac 68 | shift 69 | done 70 | -------------------------------------------------------------------------------- /include/pgstring.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:07 $ 24 | Source File: $Source: /sources/paragui/paragui/include/Attic/pgstring.h,v $ 25 | CVS/RCS Revision: $Revision: 1.1.2.4 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pgstring.h 30 | Header file for the PG_String class. 31 | */ 32 | 33 | #ifndef PG_STRING_H 34 | #define PG_STRING_H 35 | 36 | #include "paragui.h" 37 | 38 | #if defined(PG_ENABLE_UNICODE) 39 | #include "ychar.h" 40 | #include "ystring.h" 41 | #define PG_Char YChar 42 | #define PG_String YString 43 | #else 44 | #include 45 | #define PG_Char unsigned char 46 | #define PG_String std::string 47 | #endif 48 | 49 | #endif // PG_STRING_H 50 | -------------------------------------------------------------------------------- /test/writefile.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************** 2 | This is a simple PG_File demo that writes 2 ints to a file 3 | Roger D. Vargas 4 | **********************************************************/ 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | int main(int argc, char* argv[]) { 11 | PG_FileArchive *Arc; 12 | PG_File *wf; 13 | 14 | int v1=23444,v2=44566; 15 | 16 | // Create the FileArchive object 17 | Arc = new PG_FileArchive(argv[0]); 18 | 19 | // Set the base app dir as write dir 20 | Arc->SetWriteDir(PG_FileArchive::GetUserDir()); 21 | 22 | // Now open a file for writing 23 | PG_LogMSG("creating writeable file ..."); 24 | wf = Arc->OpenFile("pgtestfile", PG_FileArchive::WRITE); 25 | 26 | // Write a line of text (CR will be added) 27 | wf->putline("test"); 28 | 29 | //Now write a couple of ints 30 | wf->write(&v1,sizeof(v1)); 31 | wf->write(&v2,sizeof(v2)); 32 | 33 | // close file 34 | delete wf; 35 | 36 | // Open created file for reading 37 | PG_LogMSG("checking file ..."); 38 | wf = Arc->OpenFile("pgtestfile", PG_FileArchive::READ); 39 | 40 | // read and check the line of text 41 | std::string text = wf->getline(); 42 | if(text != "test") { 43 | PG_LogERR("File corrupted (reading text failed)"); 44 | } 45 | 46 | // read and check the ints 47 | int i=0; 48 | wf->read(&i, sizeof(i)); 49 | if(i != v1) { 50 | PG_LogERR("File corrupted (reading int v1)"); 51 | } 52 | 53 | wf->read(&i, sizeof(i)); 54 | if(i != v2) { 55 | PG_LogERR("File corrupted (reading int v2)"); 56 | } 57 | 58 | PG_LogMSG("check passed"); 59 | 60 | // close file & archive 61 | delete wf; 62 | delete Arc; 63 | } 64 | -------------------------------------------------------------------------------- /include/pgsingleton.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:07 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pgsingleton.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.2.6 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pgsingleton.h 30 | Header file for the PG_Singleton class template 31 | */ 32 | 33 | #ifndef PG_SINGLETON_H 34 | #define PG_SINGLETON_H 35 | 36 | template< class T > 37 | class PG_Singleton { 38 | public: 39 | static T& GetInstance() { 40 | static T obj; 41 | return obj; 42 | } 43 | 44 | protected: 45 | PG_Singleton() {} 46 | 47 | ~PG_Singleton() {} 48 | 49 | private: 50 | PG_Singleton(const T&); 51 | 52 | T& operator=(const T&); 53 | }; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /test/eventleavebug.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | class CentralWidget : public PG_ThemeWidget { 9 | public: 10 | CentralWidget(PG_Widget *parent, const PG_Rect &rect); 11 | virtual ~CentralWidget(); 12 | virtual void eventMouseLeave(); 13 | private: 14 | PG_ThemeWidget *innerWidget; 15 | }; 16 | 17 | CentralWidget::CentralWidget(PG_Widget *parent, const PG_Rect &rect) : PG_ThemeWidget(parent, rect) { 18 | innerWidget = new PG_ThemeWidget(this, PG_Rect(rect.w / 2 - 40, rect.h / 2 - 10, 80, 20)); 19 | innerWidget->SetBorderSize(1); 20 | innerWidget->Show(false); 21 | } 22 | 23 | CentralWidget::~CentralWidget() { 24 | RemoveAllChilds(); 25 | } 26 | 27 | void CentralWidget::eventMouseLeave() { 28 | std::cout << "eventMouseLeave triggered" << std::endl; 29 | innerWidget->Hide(); // this will set off an infinite loop 30 | } 31 | 32 | int main(int argc, char* argv[]) { 33 | putenv("SDL_VIDEO_CENTERED=\"\""); 34 | 35 | PG_Application app(argv[0]); 36 | 37 | if (!app.LoadTheme("default") || !app.InitScreen(800, 600, 32, SDL_SWSURFACE | SDL_NOFRAME)) { 38 | std::cout << "error, aborting" << std::endl; 39 | return EXIT_FAILURE; 40 | } 41 | 42 | PG_Window window(NULL, PG_Rect(0, 0, 800, 600), "Infinite Loop Application", PG_Window::DEFAULT); 43 | CentralWidget centralWidget(&window, PG_Rect(200, 100, 400, 400)); 44 | centralWidget.SetBorderSize(1); 45 | centralWidget.Show(false); 46 | window.Show(false); 47 | SDL_WarpMouse(centralWidget.my_xpos + 20, centralWidget.my_ypos + 20); 48 | window.RunModal(); 49 | return EXIT_SUCCESS; 50 | } 51 | -------------------------------------------------------------------------------- /src/core/pgdatacontainer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:10 $ 24 | Source File: $Source: /sources/paragui/paragui/src/core/pgdatacontainer.cpp,v $ 25 | CVS/RCS Revision: $Revision: 1.1.6.1.2.2 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #include "pgdatacontainer.h" 30 | 31 | PG_DataContainer::PG_DataContainer(Uint32 size) { 32 | if(size == 0) { 33 | my_data = NULL; 34 | my_size = 0; 35 | } 36 | 37 | my_data = new char[size]; 38 | my_size = size; 39 | } 40 | 41 | PG_DataContainer::~PG_DataContainer() { 42 | if(my_data != NULL) { 43 | delete[] my_data; 44 | } 45 | } 46 | 47 | 48 | Uint32 PG_DataContainer::size() { 49 | return my_size; 50 | } 51 | 52 | char* PG_DataContainer::data() { 53 | return my_data; 54 | } 55 | -------------------------------------------------------------------------------- /test/factory.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | #include "pgapplication.h" 3 | #include "pgthemewidget.h" 4 | #include "pgbutton.h" 5 | #include "pgwindow.h" 6 | #include "pglabel.h" 7 | #include "pgfactory.h" 8 | 9 | int main( int argc, char **argv ) { 10 | 11 | // create custom factory. key is "unsigned long" 12 | typedef PG_FactoryHolder MyFactory; 13 | 14 | PG_Application app(argv[0]); 15 | 16 | app.LoadTheme( "default" ); 17 | app.InitScreen( 640, 480, 0 ); 18 | app.SetEmergencyQuit(true); 19 | 20 | // register classes (default factory, key "std::string") 21 | PG_Factory::RegisterClass("themewidget"); 22 | PG_Factory::RegisterClass("button"); 23 | PG_Factory::RegisterClass("window"); 24 | PG_Factory::RegisterClass("label"); 25 | 26 | // register classes (custom factory) 27 | MyFactory::RegisterClass(1); 28 | 29 | // create PG_ThemeWidget object 30 | PG_Widget* w = PG_Factory::CreateObject("themewidget"); 31 | w->MoveWidget(PG_Rect(10,10,300,200)); 32 | w->Show(); 33 | 34 | // create PG_Button object 35 | PG_Widget* b = PG_Factory::CreateObject("button", w); 36 | b->MoveWidget(PG_Rect(100,100,150,30)); 37 | b->SetText("Factory"); 38 | b->Show(); 39 | 40 | // create PG_Window object 41 | PG_Widget* wnd = PG_Factory::CreateObject("window"); 42 | wnd->MoveWidget(PG_Rect(100,100,200,300)); 43 | wnd->SetText("Window"); 44 | 45 | // create PG_Label object (custom factory) 46 | PG_Widget* l = MyFactory::CreateObject(1, wnd); 47 | l->MoveWidget(PG_Rect(50,50,100,20)); 48 | l->SetText("Label"); 49 | 50 | wnd->Show(); 51 | 52 | app.Run(); 53 | 54 | return 0; 55 | } 56 | -------------------------------------------------------------------------------- /doc/txt/requirements.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page requirements Requirements for compiling ParaGUI 4 | 5 | ParaGUI is mainly based on SDL.
6 | Please checkout the following libs for successful compilation.

7 | 8 |

    9 |
  • ParaGUI Version <= 0.5.2: 10 | 11 | SDL (Simple Directmedia Layer) Version <= 1.1.4
    12 | SDL_ttf (True Type Font Rendering Engine for SDL) Version <= 1.2.1
    13 | FreeType >= 1.2.0

    14 | 15 |

  • ParaGUI Version >= 0.5.3: 16 | 17 | SDL (Simple Directmedia Layer) Version >= 1.1.5
    18 | or the latest snapshot from the CVS repository
    19 | SDL_ttf (True Type Font Rendering Engine for SDL) Version >= 1.2.2
    20 | FreeType >= 1.2.0

    21 | 22 |

  • ParaGUI Version >= 0.6.5: 23 | 24 | SDL (Simple Directmedia Layer) Version >= 1.2.0
    25 | or the latest snapshot from the CVS repository
    26 | SDL_ttf (True Type Font Rendering Engine for SDL) Version >= 1.2.2
    27 | FreeType >= 1.2.0
    28 | SDL_Image >= 1.1.0 (if enabled)

    29 | 30 |

  • ParaGUI Version >= 1.0.0: 31 | 32 | SDL (Simple Directmedia Layer) Version >= 1.2.0
    33 | FreeType >= 2.0.3
    34 | SDL_Image >= 1.1.0 (if enabled)
    35 | expat >= 1.95.1
    36 | zlib

    37 | If you enable python support you will need the following 38 | additional packages for successful compilation:
    39 | SWIG Version >= 1.3.5 (www.swig.org)
    40 | Python Version >= 2.0

    41 | 42 |

  • ParaGUI Version >= 1.1.0: 43 | 44 | SDL (Simple Directmedia Layer) Version >= 1.2.6
    45 | SDL_Image >= 1.1.0 (optional)
    46 | FreeType >= 2.1.4
    47 | libSigC++ >= 2.0.5
    48 | expat >= 1.95.1 (optional)
    49 | physfs >= 1.0.0 (optional)

    50 |

51 | */ 52 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | Requirements for building the sources: 2 | 3 | SDL >= 1.2.0 4 | http://www.libsdl.org/download-1.2.html 5 | 6 | freetype >= 2.0 7 | http://www.freetype.org/download.html 8 | 9 | SDL_image >= 1.2.0 (if enabled) 10 | http://www.libsdl.org/projects/SDL_image 11 | 12 | zlib 13 | http://www.gzip.org/zlib 14 | 15 | expat 16 | http://expat.sourceforge.net 17 | 18 | Depending on the image fileformats you 19 | want to use you may also find handy: 20 | 21 | libpng: 22 | http://www.libpng.org/pub/png 23 | 24 | libjpeg: 25 | http://www.ijg.org 26 | 27 | 28 | You will also need the correponding development packages 29 | (if you are using rpm packages). 30 | 31 | 32 | 33 | Installation for distributions: 34 | 35 | ./configure [options] 36 | make 37 | make install (as root) 38 | 39 | Installation for CVS: 40 | 41 | sh autogen.sh 42 | ./configure [options] 43 | make 44 | make install (as root) 45 | 46 | 47 | Useful configure options: 48 | 49 | --disable-sdlimage : 50 | Compile the sources without SDL_image support. 51 | Will produce smaller code but only bmp's can be loaded. 52 | 53 | --enable-debug : 54 | Will produce debug messages during execution (slow). 55 | 56 | --with-themedir=DIR : 57 | ParaGUI themefiles will be placed in DIR. 58 | Default location is PREFIX/share/paragui 59 | 60 | --enable-internalexpat: 61 | Use the built-in expat sources (if you don't have libexpat 62 | installed and you don't want to install it). 63 | 64 | --enable-internalphysfs: 65 | Use the built-in PhysicsFS library. 66 | 67 | 68 | Hint: 69 | Several people had troubles compiling CVS snapshots on 70 | SuSE and Slackware. 71 | If you get error messages running the autogen.sh script 72 | please try the following: 73 | 74 | Change this line in autogen.sh 75 | aclocal 76 | to: 77 | aclocal -I/usr/local/share/aclocal 78 | -------------------------------------------------------------------------------- /include/pgthread.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author$ 23 | Update Date: $Date$ 24 | Source File: $Source$ 25 | CVS/RCS Revision: $Revision$ 26 | Status: $State$ 27 | */ 28 | 29 | #ifndef PG_THREAD_H 30 | #define PG_THREAD_H 31 | 32 | #include "SDL_thread.h" 33 | #include "pgsignals.h" 34 | 35 | class PG_Thread : public virtual SigC::Object { 36 | 37 | public: 38 | 39 | PG_Thread(); 40 | 41 | virtual ~PG_Thread(); 42 | 43 | bool Start(); 44 | 45 | bool Stop(); 46 | 47 | PG_Signal1 sigThreadMain; 48 | 49 | protected: 50 | 51 | virtual bool ThreadMain(); 52 | 53 | bool IsRunning(); 54 | 55 | private: 56 | 57 | static int static_pgthread_main(void* data); 58 | 59 | SDL_mutex* my_mutex; 60 | 61 | SDL_Thread* my_thread; 62 | 63 | bool my_running; 64 | 65 | }; 66 | 67 | #endif // PG_THREAD_H 68 | -------------------------------------------------------------------------------- /include/pgpoint.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:05 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pgpoint.h,v $ 25 | CVS/RCS Revision: $Revision: 1.1.4.9 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pgpoint.h 30 | Header file for the PG_Pointt class. 31 | */ 32 | 33 | #ifndef PG_POINT_H 34 | #define PG_POINT_H 35 | 36 | #include "SDL.h" 37 | 38 | /** 39 | @author Alexander Pipelka 40 | 41 | @short A wrapper for a point on the screen. 42 | 43 | Useful when its necessary to specify a 2D using Cartesian coordinates (x, y). 44 | 45 | */ 46 | 47 | 48 | class DECLSPEC PG_Point { 49 | public: 50 | 51 | PG_Point(); 52 | 53 | PG_Point(Sint16 _x, Sint16 _y); 54 | 55 | Sint16 x; 56 | Sint16 y; 57 | 58 | static PG_Point null; 59 | }; 60 | 61 | #endif // PG_POINT_H 62 | -------------------------------------------------------------------------------- /include/paraconfig_win32.h: -------------------------------------------------------------------------------- 1 | #ifndef WIN32_CONFIG_INCLUDED 2 | #define WIN32_CONFIG_INCLUDED 3 | 4 | #ifndef PARAGUI_DYNAMIC_EXPORTS 5 | #undef DECLSPEC 6 | #define DECLSPEC __declspec(dllimport) 7 | #endif 8 | 9 | #ifndef __MINGW32__ 10 | // disable some nerved non-critical warnings (for now) 11 | #pragma warning(disable: 4275) 12 | #pragma warning(disable: 4251) 13 | #endif 14 | 15 | /* Define if UNICODE support is enabled */ 16 | #define PG_ENABLE_UNICODE 1 17 | 18 | /* Define if you want to include the builtin colortable */ 19 | #define PG_ENABLE_PGCOLORS 1 20 | 21 | /* Define if you have the SDL_image library */ 22 | #define PG_HAVE_SDLIMAGE 1 23 | 24 | /* Define the default path to the theme files */ 25 | #define PG_PARAGUI_THEMEDIR "./data" 26 | 27 | /* Define if you have the fnmatch function. */ 28 | /* #undef PG_HAVE_FNMATCH */ 29 | 30 | /* Define if you have the strdup function. */ 31 | /* #undef PG_HAVE_STRDUP */ 32 | 33 | /* Define if you have the strtok function. */ 34 | #define PG_HAVE_STRTOK 1 35 | 36 | /* Define if you have the vsnprintf function. */ 37 | /* #undef PG_HAVE_VSNPRINTF */ 38 | 39 | /* Define if you have the jpeg library (-ljpeg). */ 40 | #define PG_HAVE_LIBJPEG 1 41 | 42 | /* Define if you have the png library (-lpng). */ 43 | #define PG_HAVE_LIBPNG 1 44 | 45 | /* Define if you have the tiff library (-ltiff). */ 46 | #define PG_HAVE_LIBTIFF 1 47 | 48 | /* SDL_image shared library */ 49 | #define PG_SDLIMAGE_LIB "sdl_image.dll" 50 | 51 | #ifdef _MSC_VER 52 | #define PG_HAVE_STRDUP 1 53 | #endif 54 | 55 | // Some stuff needed for Win32 56 | #ifdef WIN32 57 | #define WIN32_LEAN_AND_MEAN 58 | #define VC_EXTRALEAN 59 | #include 60 | extern int SDL_RegisterApp(char*, Uint32, void*); 61 | #undef SendMessage 62 | #endif // WIN32 63 | 64 | #endif // WIN32_CONFIG_INCLUDED 65 | -------------------------------------------------------------------------------- /include/Makefile.am: -------------------------------------------------------------------------------- 1 | DISTCLEANFILES = paraconfig_gnu.h 2 | 3 | libparaguiincludedir = $(includedir)/paragui 4 | 5 | libparaguiinclude_HEADERS = \ 6 | paraconfig_gnu.h \ 7 | paragui.h \ 8 | pgpoint.h \ 9 | pgrect.h \ 10 | pgrectlist.h \ 11 | pgscrollwidget.h \ 12 | pgwidgetlist.h \ 13 | pglabel.h \ 14 | pgwidgetdnd.h \ 15 | pgwidget.h \ 16 | pgthemewidget.h \ 17 | pgmessageobject.h \ 18 | pgbutton.h \ 19 | pgapplication.h \ 20 | pgscrollbar.h \ 21 | pgwindow.h \ 22 | pglineedit.h \ 23 | pgprogressbar.h \ 24 | pgradiobutton.h \ 25 | pgcheckbutton.h \ 26 | pgslider.h \ 27 | pgtheme.h \ 28 | pglistboxbaseitem.h \ 29 | pglistboxitem.h \ 30 | pglistbox.h \ 31 | pgcolumnitem.h \ 32 | pgdropdown.h \ 33 | pgsurfacecache.h \ 34 | pgpopupmenu.h \ 35 | pgmessagebox.h \ 36 | pgmaskedit.h \ 37 | pgspinnerbox.h \ 38 | pgnavigator.h \ 39 | pgrichedit.h \ 40 | pgimage.h \ 41 | pglayout.h \ 42 | pglog.h \ 43 | pgfilearchive.h \ 44 | pgfile.h \ 45 | pgfont.h \ 46 | pgcolor.h \ 47 | pgcolors.h \ 48 | pgdraw.h \ 49 | pginfo.h \ 50 | pgmenubar.h \ 51 | pgdatacontainer.h \ 52 | pgtimerobject.h \ 53 | pgsignals.h \ 54 | pgsigconvert.h \ 55 | pgscrollarea.h \ 56 | pgfactory.h \ 57 | pgsingleton.h \ 58 | pgstring.h \ 59 | pgmultilineedit.h \ 60 | ystring.h \ 61 | ychar.h \ 62 | pgeventsupplier.h \ 63 | pgsdleventsupplier.h \ 64 | pgtooltiphelp.h \ 65 | pgpropertyeditor.h \ 66 | pgpropertyeditor_linefield.h \ 67 | pgpropertyfield_checkbox.h \ 68 | pgpropertyfield_intdropdown.h \ 69 | pgpropertyfield_integer.h \ 70 | pgpropertyfield_string.h \ 71 | gp2xevents.h \ 72 | gp2xapplication.h \ 73 | pgthread.h 74 | 75 | 76 | EXTRA_DIST = \ 77 | paraconfig_win32.h \ 78 | paraconfig_macos.h 79 | 80 | style_cvs: 81 | astyle --style=kr --indent=tab=4 --indent-switches *.h 82 | 83 | style_personal: 84 | astyle *.h 85 | -------------------------------------------------------------------------------- /doc/txt/contribute.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page contribute Contributing (A small CVS guide) 4 | 5 |
6 | Our project is hosted at savannah. The mailing lists and the CVS repository are located there. 7 |

8 | Check out the sources from CVS : 9 |

10 | ParaGUI's CVS repository can be checked out through anonymous 11 | CVS over SSH with the following instruction set. When prompted 12 | for a password for anoncvs, simply press the Enter key. 13 | 14 |

15 | The SSHv2 public key fingerprints for the machine hosting the cvs 16 | trees are: 17 |

18 | RSA: 1024 80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5
19 | DSA: 1024 4d:c8:dc:9a:99:96:ae:cc:ce:d3:2b:b0:a3:a4:95:a5
20 | 
21 | 22 | Stable software repository : 23 |
export CVS_RSH="ssh"
24 |
cvs -z3 -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/paragui co -r devel-1-0 paragui
25 | Development software repository : 26 |
export CVS_RSH="ssh"
27 |
cvs -z3 -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/paragui co -r devel-1-1 paragui
28 |

29 | When you update from within the module's directory (with cvs update) you do not need the -d option anymore. 30 |

31 | Sync with the repository : 32 |

cvs -z3 update -d -P
33 |

34 | Create a patch/diff : 35 |

36 | After editing the sources it's easy to create a difference set of the current repository. Change to the modules directory and issue the following commands (asuming you're using something UNIX like): 37 |

38 |

cvs -z3 diff -u > whatever_the_name_of_the_patch_is.patch
39 |

40 | Get your patch commited : 41 |

42 | Send the resulting file to the "paragui-dev@nongnu.org" mailing list describing what it does and why do you want the patch to be commited. 43 |
44 | */ 45 | -------------------------------------------------------------------------------- /src/expat/asciitab.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | /* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 7 | /* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 8 | /* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML, 9 | /* 0x0C */ BT_NONXML, BT_CR, BT_NONXML, BT_NONXML, 10 | /* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 11 | /* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 12 | /* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 13 | /* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 14 | /* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM, 15 | /* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS, 16 | /* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS, 17 | /* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL, 18 | /* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT, 19 | /* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT, 20 | /* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI, 21 | /* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST, 22 | /* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX, 23 | /* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT, 24 | /* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 25 | /* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 26 | /* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 27 | /* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 28 | /* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB, 29 | /* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT, 30 | /* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX, 31 | /* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT, 32 | /* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 33 | /* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 34 | /* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 35 | /* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 36 | /* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER, 37 | /* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER, 38 | -------------------------------------------------------------------------------- /src/expat/utf8tab.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | 7 | /* 0x80 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 8 | /* 0x84 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 9 | /* 0x88 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 10 | /* 0x8C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 11 | /* 0x90 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 12 | /* 0x94 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 13 | /* 0x98 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 14 | /* 0x9C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 15 | /* 0xA0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 16 | /* 0xA4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 17 | /* 0xA8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 18 | /* 0xAC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 19 | /* 0xB0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 20 | /* 0xB4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 21 | /* 0xB8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 22 | /* 0xBC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL, 23 | /* 0xC0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 24 | /* 0xC4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 25 | /* 0xC8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 26 | /* 0xCC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 27 | /* 0xD0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 28 | /* 0xD4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 29 | /* 0xD8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 30 | /* 0xDC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2, 31 | /* 0xE0 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3, 32 | /* 0xE4 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3, 33 | /* 0xE8 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3, 34 | /* 0xEC */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3, 35 | /* 0xF0 */ BT_LEAD4, BT_LEAD4, BT_LEAD4, BT_LEAD4, 36 | /* 0xF4 */ BT_LEAD4, BT_NONXML, BT_NONXML, BT_NONXML, 37 | /* 0xF8 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 38 | /* 0xFC */ BT_NONXML, BT_NONXML, BT_MALFORM, BT_MALFORM, 39 | -------------------------------------------------------------------------------- /doc/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | html \ 3 | txt 4 | 5 | EXTRA_DIST = \ 6 | paragui-config.sgml \ 7 | RELEASENOTES \ 8 | COPYRIGHT-FONTS.TXT \ 9 | VisualC.html \ 10 | TODO 11 | 12 | builddoc: paragui.doxy 13 | doxygen paragui.doxy 14 | 15 | html/index.html: builddoc 16 | 17 | xml/index.xml: builddoc 18 | 19 | $(PACKAGE)doc-html-$(VERSION).tar.gz: html/index.html paragui.devhelp.gz 20 | mkdir -p $(PACKAGE)doc-html-$(VERSION) ; \ 21 | mkdir -p $(PACKAGE)doc-html-$(VERSION)/images ; \ 22 | cp html/*.html $(PACKAGE)doc-html-$(VERSION) ; \ 23 | cp html/*.gif $(PACKAGE)doc-html-$(VERSION); \ 24 | cp html/*.map $(PACKAGE)doc-html-$(VERSION); \ 25 | cp html/*.css $(PACKAGE)doc-html-$(VERSION); \ 26 | cp html/*.png $(PACKAGE)doc-html-$(VERSION); \ 27 | cp paragui.devhelp.gz $(PACKAGE)doc-html-$(VERSION); \ 28 | cp html/images/*.png $(PACKAGE)doc-html-$(VERSION)/images; \ 29 | tar -zcf $(PACKAGE)doc-html-$(VERSION).tar.gz $(PACKAGE)doc-html-$(VERSION); \ 30 | rm -Rf $(PACKAGE)doc-html-$(VERSION) 31 | 32 | htmldoc: $(PACKAGE)doc-html-$(VERSION).tar.gz 33 | 34 | devhelp_file = paragui.devhelp 35 | 36 | paragui.devhelp.gz: paragui.devhelp 37 | gzip -c -9 paragui.devhelp > paragui.devhelp.gz 38 | 39 | paragui.devhelp: xml/index.xml 40 | xsltproc -o $(devhelp_file) doxygen_to_devhelp.xsl xml/index.xml 41 | 42 | devhelpdir = $(prefix)/share/devhelp/books/paragui 43 | 44 | install-devhelp: paragui.devhelp.gz html/index.html 45 | mkdir -p $(DESTDIR)$(devhelpdir) 46 | mkdir -p $(DESTDIR)$(devhelpdir)/images 47 | $(INSTALL_DATA) html/*.html $(DESTDIR)$(devhelpdir) 48 | $(INSTALL_DATA) html/*.gif $(DESTDIR)$(devhelpdir) 49 | $(INSTALL_DATA) html/*.map $(DESTDIR)$(devhelpdir) 50 | $(INSTALL_DATA) html/*.css $(DESTDIR)$(devhelpdir) 51 | $(INSTALL_DATA) html/*.png $(DESTDIR)$(devhelpdir) 52 | $(INSTALL_DATA) paragui.devhelp.gz $(DESTDIR)$(devhelpdir) 53 | $(INSTALL_DATA) html/images/*.png $(DESTDIR)$(devhelpdir)/images 54 | -------------------------------------------------------------------------------- /CREDITS: -------------------------------------------------------------------------------- 1 | CREDITS: 2 | 3 | Special thanks go to Sam Lantinga 4 | for the great SDL library . 5 | 6 | Sebastian Haag : 7 | Win32 maintenance 8 | bug fix wizard 9 | overall improvements 10 | 11 | Ulf Lorenz : 12 | various fixes 13 | 14 | Mohammed Yousif : 15 | UNICODE support 16 | 17 | Keith Swyer : 18 | MacOS support 19 | CodeWarrior 7 project files 20 | 21 | David Hedbor : 22 | GCC 3.0/Win32 testing 23 | VisualC++ workspaces 24 | bug fixes 25 | C++ standards checking 26 | SDL_rotozoom integration 27 | 28 | Marek Habersack : 29 | PG_PopupMenu 30 | STLport integration 31 | 32 | Ales Teska : 33 | new freetype font rendering 34 | XML layout loader 35 | various small changes 36 | 37 | Jaroslav Vozab : 38 | PG_RichEdit, PG_WidgetListEx 39 | new text rendering 40 | 41 | Antonin Hildebrand : 42 | Win32 testing 43 | 44 | Mike Dunston : 45 | PG_SpinnerBox 46 | first version of zipped themes 47 | 48 | Michael Moerz : 49 | Debian packaging 50 | 51 | Jacek Poplawski - OpenGL ideas 52 | Donald Molaro - bug fixes 53 | 54 | rotozoom.cpp is based on the LGPL package 55 | SDL_rotozoom by A. Schiffler . Reworked to fit 56 | into the ParaGUI framework by David Hedbor . 57 | 58 | PhysicsFS is copyrighted by 59 | Ryan C. Gordon under the LGPL. 60 | 61 | 62 | Thanks to the many people providing patches, fixes & ideas: 63 | 64 | Andrew Ford 65 | Brian T. Crowder 66 | Oliver Lietz 67 | Henrik Edwards 68 | Paolo Ciccone 69 | David Hunt 70 | Jens Rieks 71 | Dave Robillard 72 | Ray Kelm 73 | Francis Irving 74 | Pete Shinners 75 | Franck Guillaud 76 | 77 | 78 | Sorry, if I forgot anyone. 79 | 80 | Alex 81 | 82 | -------------------------------------------------------------------------------- /src/expat/latin1tab.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | /* 0x80 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 7 | /* 0x84 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 8 | /* 0x88 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 9 | /* 0x8C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 10 | /* 0x90 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 11 | /* 0x94 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 12 | /* 0x98 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 13 | /* 0x9C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 14 | /* 0xA0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 15 | /* 0xA4 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 16 | /* 0xA8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER, 17 | /* 0xAC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 18 | /* 0xB0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 19 | /* 0xB4 */ BT_OTHER, BT_NMSTRT, BT_OTHER, BT_NAME, 20 | /* 0xB8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER, 21 | /* 0xBC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER, 22 | /* 0xC0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 23 | /* 0xC4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 24 | /* 0xC8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 25 | /* 0xCC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 26 | /* 0xD0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 27 | /* 0xD4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER, 28 | /* 0xD8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 29 | /* 0xDC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 30 | /* 0xE0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 31 | /* 0xE4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 32 | /* 0xE8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 33 | /* 0xEC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 34 | /* 0xF0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 35 | /* 0xF4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER, 36 | /* 0xF8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 37 | /* 0xFC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 38 | -------------------------------------------------------------------------------- /src/core/pgmain.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:11 $ 24 | Source File: $Source: /sources/paragui/paragui/src/core/pgmain.cpp,v $ 25 | CVS/RCS Revision: $Revision: 1.1.6.2.2.3 $ 26 | Status: $State: Exp $ 27 | */ 28 | #ifndef _GNU_SOURCE 29 | #define _GNU_SOURCE 30 | #endif 31 | 32 | #include "pgapplication.h" 33 | #include "pglog.h" 34 | 35 | #include 36 | 37 | int PG_main(int argc, char **argv, PG_Application *app) { 38 | if (!app) 39 | return 1; 40 | 41 | PG_TRY { 42 | app->Run(); 43 | } 44 | 45 | PG_CATCH_ALL { 46 | // 47 | // For now it just aborts... 48 | // 49 | // TODO: report more information (will require adding a 50 | // PG_exception class and handling the standard exceptions in a 51 | // separate catch block) 52 | // 53 | PG_LogERR("Unhandled exception caught in PG_main! " 54 | "Aborting execution."); 55 | exit(1); 56 | } 57 | 58 | return 0; 59 | } 60 | -------------------------------------------------------------------------------- /src/expat/iasciitab.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | /* Like asciitab.h, except that 0xD has code BT_S rather than BT_CR */ 7 | /* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 8 | /* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 9 | /* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML, 10 | /* 0x0C */ BT_NONXML, BT_S, BT_NONXML, BT_NONXML, 11 | /* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 12 | /* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 13 | /* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 14 | /* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML, 15 | /* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM, 16 | /* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS, 17 | /* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS, 18 | /* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL, 19 | /* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT, 20 | /* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT, 21 | /* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI, 22 | /* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST, 23 | /* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX, 24 | /* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT, 25 | /* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 26 | /* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 27 | /* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 28 | /* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 29 | /* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB, 30 | /* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT, 31 | /* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX, 32 | /* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT, 33 | /* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 34 | /* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 35 | /* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 36 | /* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, 37 | /* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER, 38 | /* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER, 39 | -------------------------------------------------------------------------------- /src/paragui.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:09 $ 24 | Source File: $Source: /sources/paragui/paragui/src/paragui.cpp,v $ 25 | CVS/RCS Revision: $Revision: 1.3.6.3.2.6 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #include "pginfo.h" 30 | #include "paragui.h" 31 | #include "pglog.h" 32 | 33 | namespace PG_Info { 34 | 35 | static std::string Version = PG_VERSION; 36 | static std::string Homepage = "http://www.paragui.org"; 37 | static std::string Licence = "LGPL (Lesser General Public Licence)"; 38 | 39 | const std::string& GetVersion() { 40 | return Version; 41 | }; 42 | 43 | const std::string& GetHomepage() { 44 | return Homepage; 45 | }; 46 | 47 | const std::string& GetLicence() { 48 | return Licence; 49 | }; 50 | 51 | void PrintInfo() { 52 | PG_LogMSG("ParaGUI Information:"); 53 | PG_LogMSG("Version: %s", GetVersion().c_str()); 54 | PG_LogMSG("URL: %s", GetHomepage().c_str()); 55 | PG_LogMSG("Licence: %s", GetLicence().c_str()); 56 | } 57 | }; 58 | -------------------------------------------------------------------------------- /doc/TODO: -------------------------------------------------------------------------------- 1 | Things anyone could adopt: 2 | 3 | REDESIGN OF EVENT/MOUSE HANDLING 4 | -------------------------------- 5 | 6 | There are some major problems in the event/mouse handling code. 7 | Events for eventLeaveMouse and eventEnterMouse aren't handled the 8 | right way. I think it's the oldest part in ParaGUI and it seems it 9 | needs some redesign. A code sample can be found in the "test" 10 | directory (CVS or source-tarball >= 1.1.7). Take a look at 11 | "eventleavebug.cpp". 12 | 13 | 14 | CLEANUP/REWRITE OF PG_COLORS 15 | ---------------------------- 16 | 17 | pgcolors.[h|cpp] are autogenerated from the "make_colors.pike" script 18 | in the "bin" directory. I never really got acquainted with the pike 19 | scripting language. The script should be rewritten to use a more 20 | "common" language (e.g. Perl, Python, ...), 21 | 22 | 23 | CONSTRUCTOR CLEANUP 24 | ------------------- 25 | 26 | I would like to make ParaGUI "object factory" compliant. To achieve this 27 | any class *must* have an identical constructor: 28 | 29 | AnyPG_Class(PG_Widget* parent, const PG_Rect& r) 30 | 31 | or even better: 32 | 33 | AnyPG_Class(PG_Widget* parent, const PG_Rect& r = PG_Rect(0,0,0,0)) 34 | 35 | it's allowed to have more params in the constructor but these also must 36 | have default values. 37 | 38 | To make the change not to radical the current constructors can coexist 39 | with the *new* constructors. 40 | 41 | 42 | ADDING ITEMS TO (WIDGET)LISTS WITHOUT ADDWIDGET/ADDITEM 43 | ------------------------------------------------------- 44 | 45 | The current WidgetList/ListBox implementation isn't very clean. 46 | It should work this way: 47 | 48 | PG_ListBox mylist(NULL, PG_Rect(...)); 49 | PG_ListBoxItem item1(&mylist, ...); 50 | PG_ListBoxItem item2(&mylist, ...); 51 | PG_ListBoxItem item3(&mylist, ...); 52 | PG_ListBoxItem item4(&mylist, ...); 53 | mylist.Show(); 54 | 55 | Currently you need to call mylist.AddItem(..) for any item to be 56 | added. 57 | PG_WidgetList should (must) work the same way. 58 | -------------------------------------------------------------------------------- /doc/txt/aboutwidgets.doc: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \page aboutwidgets About widgets, redrawing and blitting 4 | 5 | There are 2 basic widget types:

6 | 7 |

    8 |
  • PG_Widget:
    9 | An unthemed widget that can have an internal drawing surface or not.

    10 | 11 |
  • PG_ThemeWidget:
    12 | A themed widget (loads it's style from the theme definition) 13 | that can have an internal drawing surface or not.

    14 |
15 | 16 | 17 |

Widgets with drawing surfaces:

18 | 19 | The content is drawn into the surface and blitted to the 20 | screen. 21 | 22 |
    23 |
  • Construction with internal surface:

    24 | @code PG_Widget(PG_Widget* parent, const PG_Rect& rect, true); @endcode 25 | @code PG_ThemeWidget(PG_Widget* parent, const PG_Rect& rect, true); @endcode 26 | The param "true" indicates the creation of the drawing surfaces.

    27 | 28 |
  • Redrawing & Blitting:

    29 | @code Redraw(bool doUpdate); @endcode 30 | This function redraws the widget (by calling eventDraw()) 31 | and calls Update(true) if doUpdate = true.

    32 | @code Update(bool doBlit); @endcode 33 | This calls Blit() and updates the screen.

    34 | @code Blit(); @endcode 35 | This function blits the widget surface to the screen and 36 | calls eventBlit() that can be used for custom blit behaviour.
    37 |
38 | 39 | 40 |

Widget without drawing surfaces:

41 | 42 | The content of the widget is directly blitted to the screen. 43 | 44 |
    45 |
  • Construction:

    46 | @code PG_Widget(PG_Widget* parent, const PG_Rect& rect); @endcode 47 | @code PG_ThemeWidget(PG_Widget* parent, const PG_Rect& rect); @endcode

    48 | 49 |
  • Blitting:

    50 | @code Update(bool doBlit); @endcode 51 | This calls Blit() and updates the screen.

    52 | @code Blit(); @endcode 53 | This function blits the widget content directly to the 54 | screen by calling eventBlit().

    55 |
56 | */ 57 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | Update me :)) 2 | 3 | 4 | ROADMAP: 5 | 6 | - 0.6.x 7 | integrate the surface cache -- DONE 8 | implement new callback storage (hash table) -- DONE 9 | make all widget attributes configurable in xml -- DONE 10 | add a cursor bitmap for SDLLineEdit -- DONE 11 | make the SDLWidgetList fool proof -- DONE 12 | API documentation - IN PROGRESS (50%) -- CONTINUED IN 0.7.x 13 | review and cleanup current code -- DONE 14 | use ParaGUI in a production environment -- DONE 15 | redesign the backing store -- DONE 16 | add some kind of propdown button/list -- DONE 17 | fix broken QNX theme (SDLListBox) - DONE 18 | include SDL_Image support -- DONE 19 | fix rectstretch for images with alpha channel -- DONE 20 | add colorkey option to theme description -- DONE 21 | add a popup menu -- DONE 22 | 23 | - 0.7.x (~ Mar/Apr 2001) 24 | a simpler callback mechanism (to call member functions of objects) -- DONE 25 | merge PG_MaskEdit -- DONE 26 | merge PG_MessageBox -- DONE 27 | change class and filenames -- DONE 28 | move documentation and tutorials to a separate module -- DONE 29 | integrate a new themeloader (single file) -- DONE (thanks Mike) 30 | seek and destroy any lurking mem leaks -- DONE (thanks Don) 31 | handle overlapping widgets (zdepth) -- DONE 32 | integrate menu system -- IN PROGRESS 33 | implement missing widgets -- IN PROGRESS 34 | implement keyboard navigation -- IN PROGRESS 35 | write C++ samples / tutorials -- IN PROGRESS 36 | API documentation -- IN PROGRESS (50%) 37 | api freeze 38 | finish OpenGL support -- WILL BE MOVED TO A LIB (MAINTAINER?) 39 | finish Python support -- WILL BE A SEPARATE MODULE (MAINTAINER?) 40 | write documentation 41 | write theme tutorial 42 | write OpenGL samples / tutorials -- WILL BE MOVED TO A LIB (MAINTAINER?) 43 | write Python samples / tutorials -- WILL BE A SEPARATE MODULE (MAINTAINER?) 44 | api consistency review -- IN PROGRESS (90%) 45 | 46 | - 0.9.0 - BETA1 (~ ???) 47 | run a heavy beta-test on the lib 48 | feature freeze (new features will go into 1.1.x) 49 | bug fixes 50 | 51 | - 1.0.0 - RELEASE (Jan/Feb 2002) 52 | lets party! 53 | -------------------------------------------------------------------------------- /include/gp2xapplication.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:02 $ 24 | Source File: $Source: /sources/paragui/paragui/include/Attic/gp2xapplication.h,v $ 25 | CVS/RCS Revision: $Revision: 1.1.2.2 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #include "paragui.h" 30 | 31 | #ifdef PARAGUI_GP2X 32 | 33 | #include "pgapplication.h" 34 | 35 | #ifndef GP2X_APPLICATION_H 36 | #define GP2X_APPLICATION_H 37 | 38 | class GP2X_Application : public PG_Application { 39 | 40 | /** 41 | Run the applications main eventloop (GP2X version). 42 | If theaded is false this function will exit when the eventloop quits (MSG_QUIT). If threaded is true 43 | it will return immediately and a thread processing events is started. 44 | This function will create and activate a GP2X_Event eventsupplier object. You will get a full 45 | cursor / mouse emulation on the GP2X 46 | */ 47 | void Run(); 48 | 49 | }; 50 | 51 | #endif // GP2X_APPLICATION_H 52 | 53 | #else 54 | 55 | #error "You need to compile ParaGUI with support for the GP2X !" 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /src/widgets/pgcheckbutton.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:14 $ 24 | Source File: $Source: /sources/paragui/paragui/src/widgets/pgcheckbutton.cpp,v $ 25 | CVS/RCS Revision: $Revision: 1.3.2.6 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #include "pgcheckbutton.h" 30 | #include "pgbutton.h" 31 | 32 | PG_CheckButton::PG_CheckButton(PG_Widget* parent, const PG_Rect& r, const std::string& text, int id, const std::string& style) 33 | : PG_RadioButton(parent, r, text, NULL, id) { 34 | LoadThemeStyle(style); 35 | my_widgetButton->LoadThemeStyle(style, "CheckKnob"); 36 | 37 | SetUnpressed(); 38 | } 39 | 40 | PG_CheckButton::~PG_CheckButton() {} 41 | 42 | bool PG_CheckButton::eventMouseButtonUp(const SDL_MouseButtonEvent* my_widgetButton) { 43 | 44 | if(my_isPressed) { 45 | SetUnpressed(); 46 | } else { 47 | SetPressed(); 48 | } 49 | 50 | return true; 51 | } 52 | 53 | void PG_CheckButton::SetUnpressed() { 54 | my_widgetButton->SetPressed(false); 55 | my_isPressed = false; 56 | 57 | Update(); 58 | 59 | // Notify parent 60 | sigClick(this, false); 61 | } 62 | -------------------------------------------------------------------------------- /test/widgetlistbug.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | bool exit_handler(PG_Pointer clientdata) { 8 | PG_Application* app = (PG_Application*) clientdata; 9 | app->Quit(); 10 | return true; 11 | } 12 | 13 | bool show_handler(PG_Pointer clientdata) { 14 | PG_WidgetList* list = (PG_WidgetList*) clientdata; 15 | list->Show(); 16 | std::cerr << "Show" << std::endl; 17 | return true; 18 | } 19 | 20 | bool hide_handler(PG_Pointer clientdata) { 21 | PG_WidgetList* list = (PG_WidgetList*) clientdata; 22 | list->Hide(); 23 | std::cerr << "Hide" << std::endl; 24 | return true; 25 | } 26 | 27 | bool add_handler(PG_Pointer clientdata) { 28 | PG_WidgetList* list = (PG_WidgetList*) clientdata; 29 | new PG_Label(list, PG_Rect(0,0,200,100), "Blubber Bla Bla"); 30 | std::cerr << "Add" << std::endl; 31 | return true; 32 | } 33 | 34 | 35 | int main(int argc, char* argv[]) { 36 | PG_Application app(argv[0]); 37 | app.LoadTheme("default"); 38 | app.InitScreen(640, 480, 16, SDL_SWSURFACE); 39 | 40 | PG_Button myButton(NULL,PG_Rect(260, 100, 120, 50),"Exit!"); 41 | myButton.sigClick.connect( SigC::slot(exit_handler), (PG_Pointer)&app); 42 | myButton.Show(); 43 | 44 | PG_WidgetList list(NULL,PG_Rect(10,10,150,150)); 45 | list.EnableScrollBar(true, PG_ScrollBar::VERTICAL); 46 | list.SetTransparency(0); 47 | list.Show(); 48 | 49 | PG_Button myButtonHide(NULL,PG_Rect(260, 0, 120, 50),"Hide!"); 50 | myButtonHide.sigClick.connect( SigC::slot(hide_handler), (PG_Pointer)&list); 51 | myButtonHide.Show(); 52 | 53 | PG_Button myButtonShow(NULL,PG_Rect(260, 50, 120, 50),"Show!"); 54 | myButtonShow.sigClick.connect( SigC::slot(show_handler), (PG_Pointer)&list); 55 | myButtonShow.Show(); 56 | 57 | PG_Button myButtonAdd(NULL,PG_Rect(260, 150, 120, 50),"Add!"); 58 | myButtonAdd.sigClick.connect( SigC::slot(add_handler), (PG_Pointer)&list); 59 | myButtonAdd.Show(); 60 | 61 | app.Run(); 62 | return 0; 63 | } 64 | -------------------------------------------------------------------------------- /include/gp2xevents.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:02 $ 24 | Source File: $Source: /sources/paragui/paragui/include/Attic/gp2xevents.h,v $ 25 | CVS/RCS Revision: $Revision: 1.1.2.2 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #include "paragui.h" 30 | 31 | #ifdef PARAGUI_GP2X 32 | 33 | #ifndef GP2X_EVENTS_H 34 | #define GP2X_EVENTS_H 35 | 36 | 37 | #include "pgsdleventsupplier.h" 38 | #include "SDL_thread.h" 39 | 40 | class GP2X_Events : public PG_SDLEventSupplier { 41 | public: 42 | 43 | GP2X_Events(); 44 | 45 | ~GP2X_Events(); 46 | 47 | int GetMouseState(int& x, int& y); 48 | 49 | bool start(); 50 | 51 | bool stop(); 52 | 53 | protected: 54 | 55 | int thread(); 56 | 57 | static int thread_stub(void *data); 58 | 59 | SDL_Joystick* m_joy; 60 | 61 | SDL_Thread* m_thread; 62 | 63 | bool m_running; 64 | 65 | int m_button; 66 | 67 | int m_x; 68 | 69 | int m_y; 70 | 71 | int m_dx; 72 | 73 | int m_dy; 74 | }; 75 | 76 | #endif // GP2X_EVENTS_H 77 | 78 | #else 79 | 80 | #error "You need to compile ParaGUI with support for the GP2X !" 81 | 82 | #endif // PARAGUI_GP2X 83 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd `dirname $0` 4 | TOPDIR=`pwd` 5 | 6 | echo 7 | echo "Bootstrapping physfs ..." 8 | 9 | cd ./src/physfs 10 | sh bootstrap 11 | cd $TOPDIR 12 | 13 | echo "Generating build information ..." 14 | aclocalinclude="$ACLOCAL_FLAGS" 15 | 16 | echo "Running libtoolize ..." 17 | libtoolize --copy --force --automake || exit 1 18 | 19 | echo "Running aclocal $aclocalinclude ..." 20 | aclocal $aclocalinclude || { 21 | echo 22 | echo "**Error**: aclocal failed. This may mean that you have not" 23 | echo "installed all of the packages you need, or you may need to" 24 | echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" 25 | echo "for the prefix where you installed the packages whose" 26 | echo "macros were not found" 27 | exit 1 28 | } 29 | 30 | echo "Running autoheader ..." 31 | autoheader || ( echo "***ERROR*** autoheader failed." ; exit 1 ) 32 | 33 | echo "Running automake ..." 34 | automake -c -a --foreign || ( echo "***ERROR*** automake failed." ; exit 1 ) 35 | 36 | echo "Running autoconf ..." 37 | autoconf || ( echo "***ERROR*** autoconf failed." ; exit 1 ) 38 | 39 | echo 40 | echo "Checking for tools needed to maintain the package ..." 41 | echo 42 | 43 | echo "Checking for \"zip\" ..." 44 | ( zip -h >/dev/null 2>&1 ) || { 45 | echo "***ERROR*** zip utility not found!" 46 | echo "You need the zip utility to create theme packages" 47 | exit 1 48 | } 49 | 50 | echo "Checking for \"unix2dos\" ..." 51 | ( unix2dos -h >/dev/null 2>&1 ) || { 52 | echo "***WARNING** unix2dos not found!" 53 | echo "You will be unable to convert VisualC workspace files" 54 | echo "(Please don't distribute unconverted VisualC projects!)" 55 | } 56 | 57 | echo "Checking for \"doxygen\" ..." 58 | ( which doxygen >/dev/null 2>&1 ) || { 59 | echo "***WARNING** doxygen not found!" 60 | echo "You will be unable to generate the API documentation" 61 | } 62 | 63 | echo "Checking for \"dot\" ..." 64 | ( which dot >/dev/null 2>&1 ) || { 65 | echo "***WARNING** graphviz not found!" 66 | echo "Class diagrams will be disabled in your API documentation" 67 | } 68 | 69 | echo 70 | echo "Please run ./configure now." 71 | -------------------------------------------------------------------------------- /src/expat/ascii.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd 3 | See the file copying.txt for copying permission. 4 | */ 5 | 6 | #define ASCII_A 0x41 7 | #define ASCII_B 0x42 8 | #define ASCII_C 0x43 9 | #define ASCII_D 0x44 10 | #define ASCII_E 0x45 11 | #define ASCII_F 0x46 12 | #define ASCII_G 0x47 13 | #define ASCII_H 0x48 14 | #define ASCII_I 0x49 15 | #define ASCII_J 0x4A 16 | #define ASCII_K 0x4B 17 | #define ASCII_L 0x4C 18 | #define ASCII_M 0x4D 19 | #define ASCII_N 0x4E 20 | #define ASCII_O 0x4F 21 | #define ASCII_P 0x50 22 | #define ASCII_Q 0x51 23 | #define ASCII_R 0x52 24 | #define ASCII_S 0x53 25 | #define ASCII_T 0x54 26 | #define ASCII_U 0x55 27 | #define ASCII_V 0x56 28 | #define ASCII_W 0x57 29 | #define ASCII_X 0x58 30 | #define ASCII_Y 0x59 31 | #define ASCII_Z 0x5A 32 | 33 | #define ASCII_a 0x61 34 | #define ASCII_b 0x62 35 | #define ASCII_c 0x63 36 | #define ASCII_d 0x64 37 | #define ASCII_e 0x65 38 | #define ASCII_f 0x66 39 | #define ASCII_g 0x67 40 | #define ASCII_h 0x68 41 | #define ASCII_i 0x69 42 | #define ASCII_j 0x6A 43 | #define ASCII_k 0x6B 44 | #define ASCII_l 0x6C 45 | #define ASCII_m 0x6D 46 | #define ASCII_n 0x6E 47 | #define ASCII_o 0x6F 48 | #define ASCII_p 0x70 49 | #define ASCII_q 0x71 50 | #define ASCII_r 0x72 51 | #define ASCII_s 0x73 52 | #define ASCII_t 0x74 53 | #define ASCII_u 0x75 54 | #define ASCII_v 0x76 55 | #define ASCII_w 0x77 56 | #define ASCII_x 0x78 57 | #define ASCII_y 0x79 58 | #define ASCII_z 0x7A 59 | 60 | #define ASCII_0 0x30 61 | #define ASCII_1 0x31 62 | #define ASCII_2 0x32 63 | #define ASCII_3 0x33 64 | #define ASCII_4 0x34 65 | #define ASCII_5 0x35 66 | #define ASCII_6 0x36 67 | #define ASCII_7 0x37 68 | #define ASCII_8 0x38 69 | #define ASCII_9 0x39 70 | 71 | #define ASCII_TAB 0x09 72 | #define ASCII_SPACE 0x20 73 | #define ASCII_EXCL 0x21 74 | #define ASCII_QUOT 0x22 75 | #define ASCII_AMP 0x26 76 | #define ASCII_APOS 0x27 77 | #define ASCII_MINUS 0x2D 78 | #define ASCII_PERIOD 0x2E 79 | #define ASCII_COLON 0x3A 80 | #define ASCII_SEMI 0x3B 81 | #define ASCII_LT 0x3C 82 | #define ASCII_EQUALS 0x3D 83 | #define ASCII_GT 0x3E 84 | #define ASCII_LSQB 0x5B 85 | #define ASCII_RSQB 0x5D 86 | #define ASCII_UNDERSCORE 0x5F 87 | -------------------------------------------------------------------------------- /include/pgmultilineedit.h: -------------------------------------------------------------------------------- 1 | 2 | /** \file pgmultilineedit.h 3 | Header file for the PG_MultiLineEdit class. 4 | */ 5 | 6 | #ifndef PG_MULTI_LINE_EDIT 7 | #define PG_MULTI_LINE_EDIT 8 | 9 | #include "pglineedit.h" 10 | #include "pgscrollbar.h" 11 | #include "pgtheme.h" 12 | #include "pgstring.h" 13 | 14 | #include 15 | 16 | class DECLSPEC PG_MultiLineEdit : public PG_LineEdit { 17 | public: 18 | 19 | PG_MultiLineEdit(PG_Widget* parent, const PG_Rect& r, const std::string& style="LineEdit", int maximumLength = 1000000); 20 | virtual void SetText(const std::string& new_text); 21 | 22 | void SetCursorPos(int p); 23 | 24 | void SetVPosition(int line); 25 | 26 | protected: 27 | 28 | void eventBlit(SDL_Surface* surface, const PG_Rect& src, const PG_Rect& dst); 29 | 30 | bool eventKeyDown(const SDL_KeyboardEvent* key); 31 | 32 | bool eventMouseButtonDown(const SDL_MouseButtonEvent* button); 33 | 34 | bool eventMouseMotion(const SDL_MouseMotionEvent* motion); 35 | 36 | bool eventMouseButtonUp(const SDL_MouseButtonEvent* button); 37 | 38 | virtual void InsertChar(const PG_Char& c); 39 | 40 | virtual void DeleteChar(Uint16 pos); 41 | 42 | bool handleScroll(PG_ScrollBar* widget, long data); 43 | 44 | private: 45 | 46 | DLLLOCAL void FindWordRight(); 47 | 48 | DLLLOCAL void FindWordLeft(); 49 | 50 | DLLLOCAL void DeleteSelection(); 51 | 52 | DLLLOCAL void GetCursorTextPosFromScreen(int x, int y, unsigned int& horzOffset, unsigned int& lineOffset); 53 | 54 | DLLLOCAL void GetCursorTextPos(unsigned int& horzOffset, unsigned int& lineOffset); 55 | 56 | DLLLOCAL void SetCursorTextPos(unsigned int offset, unsigned int line); 57 | 58 | DLLLOCAL int ConvertCursorPos(unsigned int offset, unsigned int line); 59 | 60 | DLLLOCAL void GetCursorPos(int& x, int& y); 61 | 62 | DLLLOCAL void DrawText(const PG_Rect& dst); 63 | 64 | DLLLOCAL void DrawTextCursor(); 65 | 66 | DLLLOCAL void CreateTextVector(bool bSetupVScroll = true); 67 | 68 | DLLLOCAL void SetupVScroll(); 69 | 70 | std::vector my_textdata; 71 | 72 | PG_ScrollBar* my_vscroll; 73 | 74 | int my_firstLine; 75 | 76 | int my_mark; 77 | 78 | bool my_isCursorAtEOL; 79 | 80 | bool my_allowHiddenCursor; 81 | }; 82 | 83 | #endif // PG_MULTI_LINE_EDIT 84 | -------------------------------------------------------------------------------- /include/pginfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:03 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pginfo.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.8.5 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pginfo.h 30 | Paragui Library related functions. 31 | Various version and information related functions. 32 | @author Alexander Pipelka 33 | */ 34 | 35 | #include "paragui.h" 36 | #include 37 | 38 | /** 39 | @short Paragui Library related functions. 40 | 41 | This namespace contains functions returning Paragui specific information. 42 | Note that this is information about the Paragui Project itself such as the versioning 43 | information. 44 | */ 45 | 46 | namespace PG_Info { 47 | 48 | /** 49 | Get the current version of ParaGUI 50 | @return version information 51 | */ 52 | DECLSPEC const std::string& GetVersion(); 53 | 54 | /** 55 | Get the URL of the ParaGUI homepage 56 | @return hompage URL 57 | */ 58 | DECLSPEC const std::string& GetHomepage(); 59 | 60 | /** 61 | Get ParaGUI's licence information 62 | @return licence information string 63 | */ 64 | DECLSPEC const std::string& GetLicence(); 65 | 66 | /** 67 | Log all information to the console 68 | */ 69 | DECLSPEC void PrintInfo(); 70 | } 71 | -------------------------------------------------------------------------------- /src/physfs/zlib114/uncompr.c: -------------------------------------------------------------------------------- 1 | /* uncompr.c -- decompress a memory buffer 2 | * Copyright (C) 1995-2002 Jean-loup Gailly. 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* @(#) $Id: uncompr.c,v 1.1.2.3 2003/05/26 07:39:54 braindead Exp $ */ 7 | 8 | #include "zlib.h" 9 | 10 | /* =========================================================================== 11 | Decompresses the source buffer into the destination buffer. sourceLen is 12 | the byte length of the source buffer. Upon entry, destLen is the total 13 | size of the destination buffer, which must be large enough to hold the 14 | entire uncompressed data. (The size of the uncompressed data must have 15 | been saved previously by the compressor and transmitted to the decompressor 16 | by some mechanism outside the scope of this compression library.) 17 | Upon exit, destLen is the actual size of the compressed buffer. 18 | This function can be used to decompress a whole file at once if the 19 | input file is mmap'ed. 20 | 21 | uncompress returns Z_OK if success, Z_MEM_ERROR if there was not 22 | enough memory, Z_BUF_ERROR if there was not enough room in the output 23 | buffer, or Z_DATA_ERROR if the input data was corrupted. 24 | */ 25 | int ZEXPORT uncompress (dest, destLen, source, sourceLen) 26 | Bytef *dest; 27 | uLongf *destLen; 28 | const Bytef *source; 29 | uLong sourceLen; 30 | { 31 | z_stream stream; 32 | int err; 33 | 34 | stream.next_in = (Bytef*)source; 35 | stream.avail_in = (uInt)sourceLen; 36 | /* Check for source > 64K on 16-bit machine: */ 37 | if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; 38 | 39 | stream.next_out = dest; 40 | stream.avail_out = (uInt)*destLen; 41 | if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; 42 | 43 | stream.zalloc = (alloc_func)0; 44 | stream.zfree = (free_func)0; 45 | 46 | err = inflateInit(&stream); 47 | if (err != Z_OK) return err; 48 | 49 | err = inflate(&stream, Z_FINISH); 50 | if (err != Z_STREAM_END) { 51 | inflateEnd(&stream); 52 | return err == Z_OK ? Z_BUF_ERROR : err; 53 | } 54 | *destLen = stream.total_out; 55 | 56 | err = inflateEnd(&stream); 57 | return err; 58 | } 59 | -------------------------------------------------------------------------------- /include/pgpropertyeditor_linefield.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:19:04 $ 24 | Source File: $Source: /sources/paragui/paragui/include/Attic/pgpropertyeditor_linefield.h,v $ 25 | CVS/RCS Revision: $Revision: 1.1.2.2 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | 30 | #ifndef PG_PROPERTYEDITOR_LINEFIELD_H 31 | #define PG_PROPERTYEDITOR_LINEFIELD_H 32 | 33 | #include "paragui.h" 34 | #include "pglineedit.h" 35 | #include "pgpropertyeditor.h" 36 | 37 | 38 | /** @class PG_PropertyEditor_LineField 39 | @author Martin Bickel 40 | 41 | Abstract base class for various property editor fields . 42 | */ 43 | 44 | class DECLSPEC PG_PropertyEditor_LineField : public PG_PropertyEditor::PG_PropertyEditorField, public SigC::Object { 45 | public: 46 | void Focus() { 47 | lineEdit->EditBegin(); 48 | }; 49 | 50 | protected: 51 | PG_LineEdit* lineEdit; 52 | 53 | PG_PropertyEditor_LineField ( PG_PropertyEditor* propertyEditor, const std::string& name ) { 54 | PG_Rect r = propertyEditor->RegisterProperty( name, this ); 55 | lineEdit = new PG_LineEdit( propertyEditor, r, propertyEditor->GetStyleName( "LineFieldProperty" ) ); 56 | lineEdit->sigEditEnd.connect( SigC::slot( *this, &PG_PropertyEditor_LineField::EditEnd )); 57 | } 58 | 59 | 60 | virtual bool EditEnd() = 0; 61 | }; 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /include/pglistboxitem.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:04 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pglistboxitem.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.2.9 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pglistboxitem.h 30 | Header file for the PG_ListBoxItem class. 31 | */ 32 | 33 | #ifndef PG_LISTBOXITEM_H 34 | #define PG_LISTBOXITEM_H 35 | 36 | #include "pglistboxbaseitem.h" 37 | #include "pgdraw.h" 38 | 39 | class PG_ListBox; 40 | 41 | class DECLSPEC PG_ListBoxItem : public PG_ListBoxBaseItem { 42 | public: 43 | 44 | /** */ 45 | PG_ListBoxItem(PG_Widget* parent, int height, const std::string& text = PG_NULLSTR, SDL_Surface* icon = NULL, void* userdata = NULL, const std::string& style="ListBox"); 46 | 47 | /** */ 48 | ~PG_ListBoxItem(); 49 | 50 | /** */ 51 | void LoadThemeStyle(const std::string& widgettype, const std::string& objectname); 52 | 53 | protected: 54 | 55 | /** */ 56 | void eventBlit(SDL_Surface* surface, const PG_Rect& src, const PG_Rect& dst); 57 | 58 | /** */ 59 | void eventSizeWidget(Uint16 w, Uint16 h); 60 | 61 | PG_Gradient* my_gradient[3]; 62 | 63 | SDL_Surface* my_background[3]; 64 | 65 | SDL_Surface* my_srfHover; 66 | 67 | SDL_Surface* my_srfSelected; 68 | 69 | PG_Draw::BkMode my_bkmode[3]; 70 | 71 | Uint8 my_blend[3]; 72 | }; 73 | 74 | #endif // PG_LISTBOXITEM_H 75 | -------------------------------------------------------------------------------- /src/core/pgthread.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author$ 23 | Update Date: $Date$ 24 | Source File: $Source$ 25 | CVS/RCS Revision: $Revision$ 26 | Status: $State$ 27 | */ 28 | 29 | #include "pgthread.h" 30 | #include "pglog.h" 31 | 32 | PG_Thread::PG_Thread() : my_thread(NULL), my_running(false) { 33 | my_mutex = SDL_CreateMutex(); 34 | } 35 | 36 | PG_Thread::~PG_Thread() { 37 | Stop(); 38 | SDL_DestroyMutex(my_mutex); 39 | } 40 | 41 | bool PG_Thread::Start() { 42 | if(IsRunning()) { 43 | return false; 44 | } 45 | 46 | my_running = true; 47 | my_thread = SDL_CreateThread(&PG_Thread::static_pgthread_main, (void*)this); 48 | 49 | return true; 50 | } 51 | 52 | bool PG_Thread::Stop() { 53 | if(!IsRunning()) { 54 | return false; 55 | } 56 | 57 | SDL_mutexP(my_mutex); 58 | my_running = false; 59 | SDL_mutexV(my_mutex); 60 | 61 | int status = 0; 62 | SDL_WaitThread(my_thread, &status); 63 | return (status == 1); 64 | } 65 | 66 | int PG_Thread::static_pgthread_main(void* data) { 67 | PG_Thread* caller = static_cast(data); 68 | 69 | if(caller->sigThreadMain(caller)) { 70 | return 1; 71 | } 72 | return caller->ThreadMain(); 73 | } 74 | 75 | bool PG_Thread::IsRunning() { 76 | bool r; 77 | 78 | //SDL_mutexP(my_mutex); 79 | r = my_running; 80 | //SDL_mutexV(my_mutex); 81 | 82 | return r; 83 | } 84 | 85 | bool PG_Thread::ThreadMain() { 86 | return false; 87 | } 88 | -------------------------------------------------------------------------------- /src/physfs/zlib114/infutil.c: -------------------------------------------------------------------------------- 1 | /* inflate_util.c -- data and routines common to blocks and codes 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | #include "zutil.h" 7 | #include "infblock.h" 8 | #include "inftrees.h" 9 | #include "infcodes.h" 10 | #include "infutil.h" 11 | 12 | struct inflate_codes_state {int dummy;}; /* for buggy compilers */ 13 | 14 | /* And'ing with mask[n] masks the lower n bits */ 15 | uInt inflate_mask[17] = { 16 | 0x0000, 17 | 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff, 18 | 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff 19 | }; 20 | 21 | 22 | /* copy as much as possible from the sliding window to the output area */ 23 | int inflate_flush(s, z, r) 24 | inflate_blocks_statef *s; 25 | z_streamp z; 26 | int r; 27 | { 28 | uInt n; 29 | Bytef *p; 30 | Bytef *q; 31 | 32 | /* local copies of source and destination pointers */ 33 | p = z->next_out; 34 | q = s->read; 35 | 36 | /* compute number of bytes to copy as far as end of window */ 37 | n = (uInt)((q <= s->write ? s->write : s->end) - q); 38 | if (n > z->avail_out) n = z->avail_out; 39 | if (n && r == Z_BUF_ERROR) r = Z_OK; 40 | 41 | /* update counters */ 42 | z->avail_out -= n; 43 | z->total_out += n; 44 | 45 | /* update check information */ 46 | if (s->checkfn != Z_NULL) 47 | z->adler = s->check = (*s->checkfn)(s->check, q, n); 48 | 49 | /* copy as far as end of window */ 50 | zmemcpy(p, q, n); 51 | p += n; 52 | q += n; 53 | 54 | /* see if more to copy at beginning of window */ 55 | if (q == s->end) 56 | { 57 | /* wrap pointers */ 58 | q = s->window; 59 | if (s->write == s->end) 60 | s->write = s->window; 61 | 62 | /* compute bytes to copy */ 63 | n = (uInt)(s->write - q); 64 | if (n > z->avail_out) n = z->avail_out; 65 | if (n && r == Z_BUF_ERROR) r = Z_OK; 66 | 67 | /* update counters */ 68 | z->avail_out -= n; 69 | z->total_out += n; 70 | 71 | /* update check information */ 72 | if (s->checkfn != Z_NULL) 73 | z->adler = s->check = (*s->checkfn)(s->check, q, n); 74 | 75 | /* copy */ 76 | zmemcpy(p, q, n); 77 | p += n; 78 | q += n; 79 | } 80 | 81 | /* update pointers */ 82 | z->next_out = p; 83 | s->read = q; 84 | 85 | /* done */ 86 | return r; 87 | } 88 | -------------------------------------------------------------------------------- /include/pgdatacontainer.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:02 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pgdatacontainer.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.8.4 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pgdatacontainer.h 30 | Header file for the PG_DataContainer class. 31 | */ 32 | 33 | #ifndef PG_DATACONTAINER 34 | #define PG_DATACONTAINER 35 | 36 | #include "paragui.h" 37 | 38 | /** 39 | @short A container for binary data 40 | @author Alexander Pipelka 41 | 42 | This class is a container to hold binary data (imagedata, fonts,...). 43 | */ 44 | 45 | class DECLSPEC PG_DataContainer { 46 | public: 47 | 48 | /** 49 | Constructor 50 | @param size number of bytes to allocate 51 | 52 | Creates a container which can hold "size" number of bytes. 53 | */ 54 | PG_DataContainer(Uint32 size); 55 | 56 | /** 57 | Destructor 58 | 59 | Deletes the object and frees to allocated memory. 60 | */ 61 | virtual ~PG_DataContainer(); 62 | 63 | /** 64 | return the number of bytes allocated by the container 65 | @return number of bytes allocated 66 | */ 67 | Uint32 size(); 68 | 69 | /** 70 | access to the internal data 71 | @return pointer to allocated memory 72 | */ 73 | char* data(); 74 | 75 | private: 76 | 77 | char* my_data; 78 | 79 | Uint32 my_size; 80 | }; 81 | 82 | #endif // PG_DATACONTAINER 83 | -------------------------------------------------------------------------------- /include/paraconfig_gnu.h.in: -------------------------------------------------------------------------------- 1 | /* include/paraconfig_gnu.h.in. Generated from configure.in by autoheader. */ 2 | 3 | /* Define to 1 if Unicode support is enabled. */ 4 | #undef ENABLE_UNICODE 5 | 6 | /* Define to 1 if you want to include the builtin colortable. */ 7 | #undef ENABLE_PGCOLORS 8 | 9 | /* Define if exceptions are enabled */ 10 | #undef EXCEPTIONS_ENABLED 11 | 12 | /* Define to 1 if you have the header file. */ 13 | #undef HAVE_DLFCN_H 14 | 15 | /* Define to 1 if you have the `fnmatch' function. */ 16 | #undef HAVE_FNMATCH 17 | 18 | /* Define to 1 if you have the header file. */ 19 | #undef HAVE_INTTYPES_H 20 | 21 | /* Define to 1 if you have the `jpeg' library (-ljpeg). */ 22 | #undef HAVE_LIBJPEG 23 | 24 | /* Define to 1 if you have the `png' library (-lpng). */ 25 | #undef HAVE_LIBPNG 26 | 27 | /* Define to 1 if you have the `tiff' library (-ltiff). */ 28 | #undef HAVE_LIBTIFF 29 | 30 | /* Define to 1 if you have the header file. */ 31 | #undef HAVE_MEMORY_H 32 | 33 | /* Define to 1 if you have the header file. */ 34 | #undef HAVE_STDINT_H 35 | 36 | /* Define to 1 if you have the header file. */ 37 | #undef HAVE_STDLIB_H 38 | 39 | /* Define to 1 if you have the `strdup' function. */ 40 | #undef HAVE_STRDUP 41 | 42 | /* Define to 1 if you have the header file. */ 43 | #undef HAVE_STRINGS_H 44 | 45 | /* Define to 1 if you have the header file. */ 46 | #undef HAVE_STRING_H 47 | 48 | /* Define to 1 if you have the `strtok' function. */ 49 | #undef HAVE_STRTOK 50 | 51 | /* Define to 1 if you have the header file. */ 52 | #undef HAVE_SYS_STAT_H 53 | 54 | /* Define to 1 if you have the header file. */ 55 | #undef HAVE_SYS_TYPES_H 56 | 57 | /* Define to 1 if you have the header file. */ 58 | #undef HAVE_UNISTD_H 59 | 60 | /* Define to 1 if you have the `vsnprintf' function. */ 61 | #undef HAVE_VSNPRINTF 62 | 63 | /* Define if we enabled mpatrol */ 64 | #undef MPATROL_ENABLED 65 | 66 | /* Define to 1 if you want support for the GP2X platform. */ 67 | #undef PARAGUI_GP2X 68 | 69 | /* default directory for themes */ 70 | #undef PARAGUI_THEMEDIR 71 | 72 | /* Define if we enabled runtime type infos */ 73 | #undef RTTI_ENABLED 74 | 75 | /* SDL_image shared library */ 76 | #undef SDLIMAGE_LIB 77 | 78 | /* Define to 1 if you have the ANSI C header files. */ 79 | #undef STDC_HEADERS 80 | -------------------------------------------------------------------------------- /include/pgnavigator.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:05 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pgnavigator.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.6.1.2.5 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pgnavigator.h 30 | Header file for the PG_Navigator class. 31 | */ 32 | 33 | #ifndef PG_NAVIGATOR_H 34 | #define PG_NAVIGATOR_H 35 | 36 | #include "pgwidget.h" 37 | #include 38 | 39 | /** 40 | * @author Alexander Pipelka 41 | * 42 | * @short A class for widget navigation 43 | * 44 | */ 45 | 46 | class PG_Navigator : protected std::vector { 47 | 48 | public: 49 | 50 | void Add(PG_Widget* widget); 51 | 52 | void Remove(PG_Widget* widget); 53 | 54 | bool Action(PG_Widget::KeyAction action); 55 | 56 | PG_Widget* Goto(PG_Widget* widget); 57 | 58 | PG_Widget* GotoFirst(); 59 | 60 | PG_Widget* GotoLast(); 61 | 62 | PG_Widget* GotoNext(); 63 | 64 | PG_Widget* GotoPrev(); 65 | 66 | PG_Widget* FindLeft(PG_Widget* widget = NULL); 67 | 68 | PG_Widget* FindRight(PG_Widget* widget = NULL); 69 | 70 | PG_Widget* FindUp(PG_Widget* widget = NULL); 71 | 72 | PG_Widget* FindDown(PG_Widget* widget = NULL); 73 | 74 | private: 75 | 76 | DLLLOCAL PG_Widget* FindWidget(PG_Widget* from, PG_Point ref, bool absx, bool absy, int xmode, int ymode); 77 | 78 | static PG_Widget* my_currentWidget; 79 | }; 80 | 81 | #endif // PG_NAVIGATOR_H 82 | -------------------------------------------------------------------------------- /src/physfs/zlib114/compress.c: -------------------------------------------------------------------------------- 1 | /* compress.c -- compress a memory buffer 2 | * Copyright (C) 1995-2002 Jean-loup Gailly. 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* @(#) $Id: compress.c,v 1.1.2.3 2003/05/26 07:39:54 braindead Exp $ */ 7 | 8 | #include "zlib.h" 9 | 10 | /* =========================================================================== 11 | Compresses the source buffer into the destination buffer. The level 12 | parameter has the same meaning as in deflateInit. sourceLen is the byte 13 | length of the source buffer. Upon entry, destLen is the total size of the 14 | destination buffer, which must be at least 0.1% larger than sourceLen plus 15 | 12 bytes. Upon exit, destLen is the actual size of the compressed buffer. 16 | 17 | compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough 18 | memory, Z_BUF_ERROR if there was not enough room in the output buffer, 19 | Z_STREAM_ERROR if the level parameter is invalid. 20 | */ 21 | int ZEXPORT compress2 (dest, destLen, source, sourceLen, level) 22 | Bytef *dest; 23 | uLongf *destLen; 24 | const Bytef *source; 25 | uLong sourceLen; 26 | int level; 27 | { 28 | z_stream stream; 29 | int err; 30 | 31 | stream.next_in = (Bytef*)source; 32 | stream.avail_in = (uInt)sourceLen; 33 | #ifdef MAXSEG_64K 34 | /* Check for source > 64K on 16-bit machine: */ 35 | if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; 36 | #endif 37 | stream.next_out = dest; 38 | stream.avail_out = (uInt)*destLen; 39 | if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; 40 | 41 | stream.zalloc = (alloc_func)0; 42 | stream.zfree = (free_func)0; 43 | stream.opaque = (voidpf)0; 44 | 45 | err = deflateInit(&stream, level); 46 | if (err != Z_OK) return err; 47 | 48 | err = deflate(&stream, Z_FINISH); 49 | if (err != Z_STREAM_END) { 50 | deflateEnd(&stream); 51 | return err == Z_OK ? Z_BUF_ERROR : err; 52 | } 53 | *destLen = stream.total_out; 54 | 55 | err = deflateEnd(&stream); 56 | return err; 57 | } 58 | 59 | /* =========================================================================== 60 | */ 61 | int ZEXPORT compress (dest, destLen, source, sourceLen) 62 | Bytef *dest; 63 | uLongf *destLen; 64 | const Bytef *source; 65 | uLong sourceLen; 66 | { 67 | return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); 68 | } 69 | -------------------------------------------------------------------------------- /include/pgcheckbutton.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:02 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pgcheckbutton.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.2.9 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | /** \file pgcheckbutton.h 30 | Header file for the PG_CheckButton class. 31 | */ 32 | 33 | #ifndef PG_CHECKBUTTON_H 34 | #define PG_CHECKBUTTON_H 35 | 36 | #include "pgradiobutton.h" 37 | 38 | /** 39 | @author Alexander Pipelka 40 | 41 | @short A single check button. 42 | 43 | @image html pgcheckbutton.png "pgcheckbutton screenshot" 44 | */ 45 | 46 | class DECLSPEC PG_CheckButton : public PG_RadioButton { 47 | public: 48 | 49 | /** 50 | construct a PG_CheckButton object 51 | @param parent Pointer to the parent widget of NULL 52 | @param id id of the checkbutton (can be 0 if you don't need a unique id) 53 | @param r position of the checkbutton 54 | @param text inital text of the chekbutton 55 | @param style widget style (loaded from theme) to use 56 | */ 57 | PG_CheckButton(PG_Widget* parent, const PG_Rect& r = PG_Rect::null, const std::string& text = PG_NULLSTR, int id = -1, const std::string& style="CheckButton"); 58 | 59 | /** */ 60 | ~PG_CheckButton(); 61 | 62 | /** 63 | Set the state of the checkbutton to unpressed. 64 | */ 65 | void SetUnpressed(); 66 | 67 | protected: 68 | 69 | /** */ 70 | bool eventMouseButtonUp(const SDL_MouseButtonEvent* button); 71 | 72 | }; 73 | 74 | #endif // PG_CHECKBUTTON_H 75 | -------------------------------------------------------------------------------- /test/fireworks/blob.h: -------------------------------------------------------------------------------- 1 | #ifndef BLOB_EXPLOSION_H 2 | #define BLOB_EXPLOSION_H 3 | 4 | #include "pgthemewidget.h" 5 | #include "pgtimerobject.h" 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | 12 | #define MOUSEFRAC 2 13 | #define MAXBLOBS 255 14 | #define BLOBFRAC 6 15 | #define BLOBGRAVITY 5 16 | #define THRESHOLD 20 17 | #define SMALLSIZE 3 18 | #define BIGSIZE 6 19 | #define RATE 1 20 | #define ABS(x) ((x)<0 ? -(x) : (x)) 21 | 22 | #define XSIZE 600 23 | #define YSIZE 400 24 | 25 | struct explosion { 26 | struct explosion *blobnext; 27 | int blobx; 28 | int bloby; 29 | int blobdx; 30 | int blobdy; 31 | int bloblife; 32 | int blobsize; 33 | }; 34 | 35 | class Blob: public PG_ThemeWidget, public PG_TimerObject { 36 | public: 37 | //the constructor 38 | Blob(PG_Widget * parent, PG_Rect r); 39 | 40 | //the destructor 41 | ~Blob(); 42 | 43 | Uint32 eventTimer(PG_TimerObject::ID id, Uint32 interval); 44 | 45 | protected: 46 | //our custom event handler to redraw our stuff 47 | void eventBlit(SDL_Surface* surface, const PG_Rect& scr, const PG_Rect& dst); 48 | 49 | 50 | 51 | //error for low memory 52 | void nomem(void); 53 | 54 | //fire the blobs 55 | void fire(unsigned char *p1, unsigned char *p2, int pitch, char *colormap); 56 | 57 | //dunno 58 | void disk(int x,int y,int rad); 59 | 60 | //add a blob to the list 61 | void addblob(void); 62 | //move the blobs 63 | void moveblobs(void); 64 | void putblobs(void); 65 | 66 | //visual effects 67 | void normal(char *colormap); 68 | void bright(char *colormap); 69 | 70 | //update the color map 71 | void updatemap(void); 72 | 73 | //load a color 74 | void loadcolor(int n, int r, int g, int b); 75 | //load a particular color 76 | void loadcolors(Uint8 which); 77 | 78 | 79 | private: 80 | struct explosion *blobs,*freeblobs,*activeblobs; 81 | int explodenum; 82 | unsigned char **mul640; 83 | int oldmode; 84 | 85 | int starttimer; 86 | 87 | PG_Color themap[256]; 88 | 89 | unsigned char *vmem1, *vmem2; 90 | 91 | char *remap,*remap2; 92 | 93 | int flash; 94 | int whichmap; 95 | int now; 96 | 97 | 98 | unsigned char *p1, *p2; 99 | 100 | SDL_Surface *explosion_surface; 101 | 102 | }; 103 | #endif 104 | -------------------------------------------------------------------------------- /include/pglistboxbaseitem.h: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | Copyright (C) 2000 - 2009 Alexander Pipelka 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Alexander Pipelka 20 | pipelka@teleweb.at 21 | 22 | Last Update: $Author: braindead $ 23 | Update Date: $Date: 2009/06/04 10:25:04 $ 24 | Source File: $Source: /sources/paragui/paragui/include/pglistboxbaseitem.h,v $ 25 | CVS/RCS Revision: $Revision: 1.3.6.1.2.8 $ 26 | Status: $State: Exp $ 27 | */ 28 | 29 | #ifndef PG_LISTBOXBASEITEM_H 30 | #define PG_LISTBOXBASEITEM_H 31 | 32 | #include "pglabel.h" 33 | 34 | /** \file pglistboxbaseitem.h 35 | Header file for the PG_ListBoxBaseItem class. 36 | */ 37 | 38 | /** 39 | @author Alexander Pipelka 40 | 41 | @short Base class for all items that can be inserted into a PG_ListBox 42 | */ 43 | 44 | class PG_ListBox; 45 | 46 | class DECLSPEC PG_ListBoxBaseItem : public PG_Label { 47 | public: 48 | 49 | /** */ 50 | PG_ListBoxBaseItem(PG_Widget* parent, Uint16 height, void* userdata = NULL); 51 | 52 | /** */ 53 | ~PG_ListBoxBaseItem(); 54 | 55 | /** */ 56 | void SetUserData(void* userdata); 57 | 58 | /** */ 59 | void* GetUserData(); 60 | 61 | /** */ 62 | bool IsSelected(); 63 | 64 | /** */ 65 | virtual void Select(bool select = true); 66 | 67 | /** */ 68 | PG_ListBox* GetParent(); 69 | 70 | protected: 71 | 72 | void eventSizeWidget(Uint16 w, Uint16 h); 73 | 74 | /** */ 75 | void eventMouseEnter(); 76 | 77 | /** */ 78 | void eventMouseLeave(); 79 | 80 | /** */ 81 | bool eventMouseButtonUp (const SDL_MouseButtonEvent* button); 82 | 83 | /** */ 84 | void eventHide(); 85 | 86 | void* my_userdata; 87 | 88 | bool my_selected; 89 | 90 | bool my_hover; 91 | 92 | }; 93 | 94 | #endif // PG_LISTBOXBASEITEM_H 95 | -------------------------------------------------------------------------------- /src/draw/drawtile.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ParaGUI - crossplatform widgetset 3 | drawtile - draw tiles onto surfaces 4 | 5 | Copyright (C) 2000 - 2009 Alexander Pipelka 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public 9 | License as published by the Free Software Foundation; either 10 | version 2 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with this library; if not, write to the Free 19 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 | 21 | Alexander Pipelka 22 | pipelka@teleweb.at 23 | 24 | Last Update: $Author: braindead $ 25 | Update Date: $Date: 2009/06/04 10:25:12 $ 26 | Source File: $Source: /sources/paragui/paragui/src/draw/drawtile.cpp,v $ 27 | CVS/RCS Revision: $Revision: 1.3.6.1.2.6 $ 28 | Status: $State: Exp $ 29 | */ 30 | 31 | #include "pgdraw.h" 32 | #include 33 | 34 | void PG_Draw::DrawTile(SDL_Surface* surface, const PG_Rect& ref, const PG_Rect& drawrect, SDL_Surface* tilemap) { 35 | PG_Point index1; 36 | PG_Point index2; 37 | PG_Rect oldclip; 38 | 39 | if (!surface || !tilemap) { 40 | return; 41 | } 42 | 43 | if (!tilemap->w || !tilemap->h || !surface->w || !surface->h) { 44 | return; 45 | } 46 | 47 | int dx = (int)std::abs((double)(drawrect.x - ref.x)); 48 | int dy = (int)std::abs((double)(drawrect.y - ref.y)); 49 | 50 | index1.x = dx / tilemap->w; 51 | index1.y = dy / tilemap->h; 52 | 53 | index2.x = (dx + drawrect.w + tilemap->w - 1) / tilemap->w; 54 | index2.y = (dy + drawrect.h + tilemap->h - 1) / tilemap->h; 55 | 56 | SDL_GetClipRect(surface, const_cast(&oldclip)); 57 | SDL_SetClipRect(surface, const_cast(&drawrect)); 58 | 59 | PG_Rect src(0,0, tilemap->w, tilemap->h); 60 | PG_Rect dst = src; 61 | 62 | for(int y = index1.y; y < index2.y; y++) { 63 | for(int x = index1.x; x < index2.x; x++) { 64 | 65 | dst.x = ref.x + x * tilemap->w; 66 | dst.y = ref.y + y * tilemap->h; 67 | 68 | PG_Draw::BlitSurface(tilemap, src, surface, dst); 69 | } 70 | } 71 | 72 | SDL_SetClipRect(surface, const_cast(&oldclip)); 73 | } 74 | -------------------------------------------------------------------------------- /test/stretch.cpp: -------------------------------------------------------------------------------- 1 | #include "paragui.h" 2 | 3 | #include "pgapplication.h" 4 | #include "pgbutton.h" 5 | #include "pgwidgetlist.h" 6 | #include "pglabel.h" 7 | #include "pgwindow.h" 8 | #include "pgmaskedit.h" 9 | #include "pgscrollbar.h" 10 | #include "pgprogressbar.h" 11 | #include "pgradiobutton.h" 12 | #include "pgthemewidget.h" 13 | #include "pgcheckbutton.h" 14 | #include "pgslider.h" 15 | #include "pglistbox.h" 16 | #include "pgcolumnitem.h" 17 | #include "pgdropdown.h" 18 | #include "pgpopupmenu.h" 19 | #include "pgspinnerbox.h" 20 | #include "pglog.h" 21 | #include "pgmenubar.h" 22 | #include "pgtheme.h" 23 | 24 | #define RESX 800 25 | #define RESY 600 26 | 27 | bool handle_exit(PG_Pointer clientdata) { 28 | PG_Application* app = (PG_Application*)clientdata; 29 | app->Quit(); 30 | return true; 31 | } 32 | 33 | int main(int argc, char* argv[]) { 34 | char theme[20]; 35 | 36 | strcpy(theme, "default"); 37 | 38 | // initial flags for screensurface 39 | Uint32 flags = SDL_SWSURFACE; 40 | int bpp = 0; 41 | 42 | int resx = RESX, resy = RESY; 43 | 44 | // construct the application object 45 | PG_Application app(argv[0]); 46 | app.SetEmergencyQuit(true); 47 | 48 | for(int c=1; cw, src->h, 24, 0,0,0,0); 85 | SDL_BlitSurface(src, NULL, surf, NULL); 86 | 87 | SDL_Surface* screen = PG_Application::GetScreen(); 88 | 89 | PG_Draw::RectStretch( 90 | surf, 91 | 0,0, 92 | surf->w-1,surf->h-1, 93 | screen, 94 | 0,0,screen->w-1, screen->h-1, 95 | NULL); 96 | 97 | SDL_UpdateRect(screen, 0, 0, screen->w, screen->h); 98 | 99 | // Enter main loop 100 | app.Run(); 101 | 102 | return EXIT_SUCCESS; 103 | } 104 | -------------------------------------------------------------------------------- /include/ychar.h: -------------------------------------------------------------------------------- 1 | /************************************************************************ 2 | * $Id: ychar.h,v 1.1.2.5 2006/02/06 21:24:19 braindead Exp $ 3 | * 4 | * ------------ 5 | * Description: 6 | * ------------ 7 | * ychar.h 8 | * 9 | * A unicode lightweight character class 10 | * 11 | * (C) Copyright 2004 Arabeyes, Mohammed Yousif 12 | * 13 | * ----------------- 14 | * Revision Details: (Updated by Revision Control System) 15 | * ----------------- 16 | * $Date: 2006/02/06 21:24:19 $ 17 | * $Author: braindead $ 18 | * $Revision: 1.1.2.5 $ 19 | * $Source: /sources/paragui/paragui/include/Attic/ychar.h,v $ 20 | * 21 | * (www.arabeyes.org - under GPL License) 22 | * 23 | ************************************************************************/ 24 | 25 | #ifndef YCHAR_H 26 | #define YCHAR_H 27 | 28 | #ifdef _MSC_VER 29 | #pragma warning(disable : 4290) 30 | #endif 31 | 32 | #include 33 | #include 34 | 35 | typedef unsigned int uint32; 36 | typedef unsigned char byte; 37 | 38 | class DECLSPEC YChar { 39 | public: 40 | YChar(); 41 | YChar(const uint32); 42 | YChar(const int); 43 | YChar(const char); 44 | YChar(const char *) throw(std::domain_error); 45 | YChar(const std::string) throw(std::domain_error); 46 | 47 | YChar lower() const; 48 | YChar upper() const; 49 | YChar title() const; 50 | int digitValue() const throw(std::domain_error); 51 | int hexDigitValue() const throw(std::domain_error); 52 | 53 | bool isNull() const; 54 | bool isAsciiLetter() const; 55 | 56 | int bytes() const; 57 | std::string utf8() const; 58 | 59 | static int getNumberOfContinuingOctents(byte) throw(std::domain_error); 60 | static YChar fromUtf8(const char *) throw(std::domain_error); 61 | static YChar fromUtf8(const std::string) throw(std::domain_error); 62 | 63 | //operator char(); 64 | operator uint32() const; 65 | 66 | friend bool operator==(const YChar &, const YChar &); 67 | friend bool operator==(const YChar &, const char &); 68 | friend bool operator==(const char &, const YChar &); 69 | friend bool operator==(const YChar &, const int &); 70 | friend bool operator==(const int &, const YChar &); 71 | friend std::ostream & operator<<( std::ostream &, YChar); 72 | 73 | private: 74 | uint32 ucs4; 75 | }; 76 | 77 | bool operator==(const YChar &, const YChar &); 78 | bool operator==(const YChar &, const char &); 79 | bool operator==(const char &, const YChar &); 80 | bool operator==(const YChar &, const int &); 81 | bool operator==(const int &, const YChar &); 82 | 83 | std::ostream & operator<<( std::ostream &, YChar); 84 | std::istream & operator>>( std::istream &, YChar &); 85 | 86 | #endif /* YCHAR_H */ 87 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | DISTCHECK_CONFIGURE_FLAGS=--enable-internalexpat --enable-internalphysfs 2 | 3 | DISTCLEANFILES = _configs.sed 4 | 5 | SUBDIRS = include src data bindings test doc 6 | 7 | DIST_SUBDIRS = $(SUBDIRS) sdk 8 | 9 | bin_SCRIPTS = paragui-config 10 | 11 | EXTRA_DIST = \ 12 | paragui.m4 \ 13 | paragui.spec.in \ 14 | paragui.pc.in \ 15 | paragui.dev \ 16 | README \ 17 | README-ParaGUI.txt \ 18 | COPYING \ 19 | INSTALL \ 20 | TODO \ 21 | VisualC.zip \ 22 | mkdist-beos.sh \ 23 | CWparagui.txt \ 24 | CWProject.zip 25 | 26 | m4datadir = $(datadir)/aclocal 27 | m4data_DATA = paragui.m4 28 | 29 | pkgconfigdir = $(prefix)/lib/pkgconfig 30 | pkgconfig_DATA = paragui.pc 31 | 32 | $(PACKAGE)-$(VERSION).tar.gz: dist 33 | 34 | release: 35 | rm -f $(top_builddir)/VisualC.zip 36 | rm -f $(top_builddir)/data/*.zip 37 | rm -f $(top_builddir)/sdk/*.tar.gz 38 | unix2dos $(top_builddir)/src/physfs/physfs.dsp 39 | make dist 40 | dos2unix $(top_builddir)/src/physfs/physfs.dsp 41 | 42 | touch: 43 | touch `find` 44 | 45 | VisualC.zip: 46 | mkdir -p $(top_builddir)/VC-build 47 | cp -rf $(top_srcdir)/VisualC $(top_builddir)/VC-build/VisualC 48 | dsw=`find $(top_builddir)/VC-build/VisualC -name "*.dsw"`; \ 49 | dsp=`find $(top_builddir)/VC-build/VisualC -name "*.dsp"`; \ 50 | mak=`find $(top_builddir)/VC-build/VisualC -name "*.mak"`; \ 51 | for file in $$dsp $$dsw $$mak $$rc $$h $(top_builddir)/VC-build/VisualC/paragui_dynamic/resource.h $(top_builddir)/VC-build/VisualC/paragui_dynamic/Version.rc; do \ 52 | unix2dos $$file || echo "unix2dos not found!"; \ 53 | done 54 | rm -f $(top_builddir)/VisualC.zip && cd $(top_builddir)/VC-build && zip -9 -r $(TOP_BUILDDIR)/VisualC.zip VisualC -i *.dsp *.dsw *.mak *.rc *.h 55 | rm -Rf $(top_builddir)/VC-build 56 | 57 | dist-hook: 58 | chmod +x $(srcdir)/mkdist-beos.sh 59 | mkdir $(distdir)/bin 60 | cp $(srcdir)/bin/README.txt $(distdir)/bin 61 | mkdir $(distdir)/lib 62 | cp $(srcdir)/lib/README.txt $(distdir)/lib 63 | 64 | rpm: $(PACKAGE)-$(VERSION).tar.gz 65 | cp $(PACKAGE)-$(VERSION).tar.gz $(RPM_ROOT) 66 | rpmbuild -ba $(PACKAGE).spec 67 | 68 | dist-beos: 69 | export CFLAGS="-O2 -march=pentium" 70 | make 71 | make install 72 | cp $(top_builddir)/src/.libs/libparagui.so /boot/home/config/lib/ 73 | cd $(top_builddir)/test ; make distclean || ./autogen.sh 74 | sh $(top_builddir)/mkdist-beos.sh 75 | 76 | htmldoc: 77 | cd doc ; make htmldoc 78 | mv -f doc/$(PACKAGE)doc-html-$(VERSION).tar.gz . 79 | 80 | style_cvs: 81 | cd $(top_srcdir)/src && make style_cvs 82 | cd $(top_srcdir)/include && make style_cvs 83 | 84 | style_personal: 85 | cd $(top_srcdir)/src && make style_personal 86 | cd $(top_srcdir)include && make style_personal 87 | --------------------------------------------------------------------------------