├── .github └── workflows │ └── makefile.yml ├── README.md ├── studio ├── .vscode │ └── c_cpp_properties.json ├── LICENSE.txt ├── Makefile.gnu ├── Makefile.mac ├── Makefile.win ├── README.txt ├── about.cpp ├── about.h ├── form_new.cpp ├── form_new.h ├── image.gresource.xml ├── installers │ ├── copy_dll.sh │ ├── debian │ │ ├── kagestudio │ │ │ ├── DEBIAN │ │ │ │ ├── changelog │ │ │ │ ├── control │ │ │ │ ├── postinst │ │ │ │ └── postrm │ │ │ └── usr │ │ │ │ └── share │ │ │ │ ├── applications │ │ │ │ └── kagestudio.desktop │ │ │ │ ├── icons │ │ │ │ └── gnome │ │ │ │ │ ├── 16x16 │ │ │ │ │ └── mimetypes │ │ │ │ │ │ └── gnome-mime-text-kagestudio-document.png │ │ │ │ │ ├── 32x32 │ │ │ │ │ └── mimetypes │ │ │ │ │ │ └── gnome-mime-text-kagestudio-document.png │ │ │ │ │ └── 48x48 │ │ │ │ │ └── mimetypes │ │ │ │ │ └── gnome-mime-text-kagestudio-document.png │ │ │ │ ├── mime-info │ │ │ │ └── text-kagestudio-document.mime │ │ │ │ ├── mime │ │ │ │ └── packages │ │ │ │ │ └── konsolscript-document.xml │ │ │ │ └── pixmaps │ │ │ │ └── kagestudio.png │ │ └── makedeb │ └── windows │ │ ├── LICENSE.txt │ │ ├── README.txt │ │ ├── demo.ksf │ │ ├── demo2.kage │ │ ├── demo2.ksf │ │ ├── ffmpeg.exe │ │ ├── ffmpeg_LICENSE.txt │ │ ├── ffmpeg_README.txt │ │ ├── gdbus.exe │ │ ├── kage.ico │ │ ├── kage_installer.nsi │ │ ├── kage_installer_info.nsh │ │ ├── kage_installer_pages.nsh │ │ ├── kage_installer_setup.bmp │ │ ├── kage_installer_setup_ico.ico │ │ ├── kage_installer_setup_un.bmp │ │ ├── kage_installer_setup_un_ico.ico │ │ ├── kage_installer_versionkey.nsh │ │ ├── ksf.ico │ │ ├── lib │ │ └── gdk-pixbuf-2.0 │ │ │ └── 2.10.0 │ │ │ ├── loaders.cache │ │ │ └── loaders │ │ │ ├── libpixbufloader-ani.dll │ │ │ ├── libpixbufloader-avif.dll │ │ │ ├── libpixbufloader-bmp.dll │ │ │ ├── libpixbufloader-gif.dll │ │ │ ├── libpixbufloader-heif.dll │ │ │ ├── libpixbufloader-icns.dll │ │ │ ├── libpixbufloader-ico.dll │ │ │ ├── libpixbufloader-jpeg.dll │ │ │ ├── libpixbufloader-jxl.dll │ │ │ ├── libpixbufloader-png.dll │ │ │ ├── libpixbufloader-pnm.dll │ │ │ ├── libpixbufloader-qtif.dll │ │ │ ├── libpixbufloader-svg.dll │ │ │ ├── libpixbufloader-tga.dll │ │ │ ├── libpixbufloader-tiff.dll │ │ │ ├── libpixbufloader-xbm.dll │ │ │ ├── libpixbufloader-xpm.dll │ │ │ └── pixbufloader_svg.dll │ │ ├── libLerc.dll │ │ ├── libatk-1.0-0.dll │ │ ├── libatkmm-1.6-1.dll │ │ ├── libbrotlicommon.dll │ │ ├── libbrotlidec.dll │ │ ├── libbz2-1.dll │ │ ├── libcairo-2.dll │ │ ├── libcairo-gobject-2.dll │ │ ├── libcairomm-1.0-1.dll │ │ ├── libdatrie-1.dll │ │ ├── libepoxy-0.dll │ │ ├── libexpat-1.dll │ │ ├── libffi-8.dll │ │ ├── libfontconfig-1.dll │ │ ├── libfreetype-6.dll │ │ ├── libfribidi-0.dll │ │ ├── libgcc_s_seh-1.dll │ │ ├── libgdk-3-0.dll │ │ ├── libgdk_pixbuf-2.0-0.dll │ │ ├── libgdkmm-3.0-1.dll │ │ ├── libgio-2.0-0.dll │ │ ├── libgiomm-2.4-1.dll │ │ ├── libglib-2.0-0.dll │ │ ├── libglibmm-2.4-1.dll │ │ ├── libgmodule-2.0-0.dll │ │ ├── libgobject-2.0-0.dll │ │ ├── libgraphite2.dll │ │ ├── libgtk-3-0.dll │ │ ├── libgtkmm-3.0-1.dll │ │ ├── libharfbuzz-0.dll │ │ ├── libiconv-2.dll │ │ ├── libintl-8.dll │ │ ├── libjbig-0.dll │ │ ├── libjpeg-8.dll │ │ ├── liblzma-5.dll │ │ ├── libpango-1.0-0.dll │ │ ├── libpangocairo-1.0-0.dll │ │ ├── libpangoft2-1.0-0.dll │ │ ├── libpangomm-1.4-1.dll │ │ ├── libpangowin32-1.0-0.dll │ │ ├── libpcre2-8-0.dll │ │ ├── libpixman-1-0.dll │ │ ├── libpng16-16.dll │ │ ├── libsharpyuv-0.dll │ │ ├── libsigc-2.0-0.dll │ │ ├── libstdc++-6.dll │ │ ├── libthai-0.dll │ │ ├── libtiff-6.dll │ │ ├── libwebp-7.dll │ │ ├── libwinpthread-1.dll │ │ ├── libzstd.dll │ │ ├── share │ │ ├── glib-2.0 │ │ │ └── schemas │ │ │ │ └── gschemas.compiled │ │ └── icons │ │ │ └── icons.zip │ │ ├── template.profile.xml │ │ └── zlib1.dll ├── kage.cpp ├── kage.h ├── kage.ico ├── kage.rc ├── kage │ ├── data │ │ ├── anchor.cpp │ │ ├── anchor.h │ │ ├── color.cpp │ │ ├── color.h │ │ ├── frame.cpp │ │ ├── frame.h │ │ ├── layer.cpp │ │ ├── layer.h │ │ ├── point.cpp │ │ ├── point.h │ │ ├── scene.cpp │ │ ├── scene.h │ │ ├── strokecolor.cpp │ │ ├── strokecolor.h │ │ ├── vectordata.cpp │ │ └── vectordata.h │ ├── document.cpp │ ├── document.h │ ├── library │ │ ├── asset.cpp │ │ ├── asset.h │ │ ├── assetmanager.cpp │ │ ├── assetmanager.h │ │ ├── library.cpp │ │ └── library.h │ ├── project.cpp │ ├── project.h │ ├── properties │ │ ├── asset.cpp │ │ ├── asset.h │ │ ├── fillstroke.cpp │ │ ├── fillstroke.h │ │ ├── frametween.cpp │ │ ├── frametween.h │ │ ├── locationsize.cpp │ │ ├── locationsize.h │ │ ├── nodexy.cpp │ │ ├── nodexy.h │ │ ├── stage.cpp │ │ └── stage.h │ ├── stage │ │ ├── node.cpp │ │ ├── oval.cpp │ │ ├── pencil.cpp │ │ ├── poly.cpp │ │ ├── rect.cpp │ │ ├── shape.cpp │ │ ├── stage.cpp │ │ └── stage.h │ ├── timeline │ │ ├── layers.cpp │ │ ├── layers.h │ │ ├── scenes.cpp │ │ ├── scenes.h │ │ ├── timeline.cpp │ │ └── timeline.h │ ├── unre │ │ ├── unre.cpp │ │ └── unre.h │ ├── vectordatamanager.cpp │ └── vectordatamanager.h ├── kagestudio.code-workspace ├── kagestudio.doxygen ├── kagestudio.doxygen.footerFile ├── kagestudio.doxygen.headerFile ├── kagestudio.doxygen.styleSheetFile ├── kagestudio.ico ├── label_rename.cpp ├── label_rename.h ├── main.cpp ├── make.bat ├── share │ ├── Tango.txt │ ├── frame │ │ ├── add.png │ │ ├── blank.png │ │ ├── blank_cur.png │ │ ├── blank_cur_sel.png │ │ ├── blank_cur_sel_twn.png │ │ ├── blank_cur_twn.png │ │ ├── blank_sel.png │ │ ├── blank_sel_twn.png │ │ ├── blank_twn.png │ │ ├── blank_x.png │ │ ├── blank_x_cur.png │ │ ├── blank_x_cur_sel.png │ │ ├── blank_x_cur_sel_twn.png │ │ ├── blank_x_cur_twn.png │ │ ├── blank_x_sel.png │ │ ├── blank_x_sel_twn.png │ │ ├── blank_x_twn.png │ │ ├── clear.png │ │ ├── copy.png │ │ ├── cut.png │ │ ├── drawn.png │ │ ├── drawn_cur.png │ │ ├── drawn_cur_sel.png │ │ ├── drawn_cur_sel_twn.png │ │ ├── drawn_cur_twn.png │ │ ├── drawn_sel.png │ │ ├── drawn_sel_twn.png │ │ ├── drawn_twn.png │ │ ├── drawn_x.png │ │ ├── drawn_x_cur.png │ │ ├── drawn_x_cur_sel.png │ │ ├── drawn_x_cur_sel_twn.png │ │ ├── drawn_x_cur_twn.png │ │ ├── drawn_x_sel.png │ │ ├── drawn_x_sel_twn.png │ │ ├── drawn_x_twn.png │ │ ├── null.png │ │ ├── null_cur.png │ │ ├── null_x.png │ │ ├── null_x_cur.png │ │ ├── paste.png │ │ └── remove.png │ ├── icons │ │ ├── Eraser.png │ │ ├── Eraser_tango.png │ │ ├── Eyedrop.png │ │ ├── Eyedrop_tango.png │ │ ├── Fill.png │ │ ├── Fill_tango.png │ │ ├── Marquee.png │ │ ├── Marquee_tango.png │ │ ├── Node.png │ │ ├── Node_tango.png │ │ ├── Oval.png │ │ ├── Oval_tango.png │ │ ├── Pencil.png │ │ ├── Pencil_tango.png │ │ ├── Poly.png │ │ ├── Poly_tango.png │ │ ├── Rectangle.png │ │ ├── Rectangle_tango.png │ │ ├── Select.png │ │ ├── Select_tango.png │ │ ├── Stroke.png │ │ ├── Stroke_tango.png │ │ ├── Text.png │ │ ├── Text_tango.png │ │ ├── Zoom.png │ │ ├── Zoom_tango.png │ │ ├── about.png │ │ ├── default.png │ │ ├── kagestudio-document.ksf │ │ ├── kagestudio.icns │ │ ├── kagestudio.ksf │ │ ├── shape_000.png │ │ ├── shape_045.png │ │ ├── shape_090.png │ │ ├── shape_135.png │ │ ├── shape_move.png │ │ ├── shape_ne.png │ │ ├── shape_nw.png │ │ ├── shape_rotate.png │ │ ├── shape_se.png │ │ ├── shape_sw.png │ │ └── straighten.png │ ├── layer │ │ ├── layer_add.png │ │ ├── layer_delete.png │ │ ├── locked_false.ksf │ │ ├── locked_false.png │ │ ├── locked_true.ksf │ │ ├── locked_true.png │ │ ├── move_bottom.png │ │ ├── move_down.png │ │ ├── move_top.png │ │ ├── move_up.png │ │ ├── onion.ksf │ │ ├── onion.png │ │ ├── onion_layer.ksf │ │ ├── onion_layer.png │ │ ├── visible_false.ksf │ │ ├── visible_false.png │ │ ├── visible_true.ksf │ │ └── visible_true.png │ ├── library │ │ ├── asset_image.png │ │ ├── asset_kage.png │ │ └── asset_video.png │ └── timeline │ │ ├── loop.png │ │ ├── loop.svg │ │ ├── next.png │ │ ├── next.svg │ │ ├── play.png │ │ ├── play.svg │ │ ├── previous.png │ │ ├── previous.svg │ │ ├── rewind.png │ │ ├── rewind.svg │ │ ├── stop.png │ │ └── stop.svg ├── template.profile.xml └── util │ ├── cairo │ ├── cairo_kage.cpp │ └── cairo_kage.h │ ├── string │ ├── stringhelper.cpp │ └── stringhelper.h │ └── xml │ ├── Makefile │ ├── README.txt │ ├── test.xml │ ├── testBasicXml.cpp │ ├── xml.cpp │ ├── xml.h │ ├── xmltag.cpp │ ├── xmltag.h │ ├── xmltagproperty.cpp │ ├── xmltagproperty.h │ ├── xmltoken.cpp │ └── xmltoken.h └── studio_gtkmm4 ├── .vscode └── c_cpp_properties.json ├── LICENSE.txt ├── Makefile.gnu ├── Makefile.mac ├── Makefile.win ├── README.txt ├── about.cpp ├── about.h ├── gtkkageapp.cpp ├── gtkkageapp.h ├── image.gresource.xml ├── kage - with shortcut keys.cpp ├── kage.cpp ├── kage.h ├── kage.ico ├── kage.rc ├── kage.res ├── kage ├── data │ ├── anchor.cpp │ ├── anchor.h │ ├── color.cpp │ ├── color.h │ ├── point.cpp │ ├── point.h │ ├── strokecolor.cpp │ ├── strokecolor.h │ ├── vectordata.cpp │ └── vectordata.h ├── stage.cpp ├── stage.h ├── stage_node.cpp ├── stage_oval.cpp ├── stage_pencil.cpp ├── stage_poly.cpp ├── stage_rect.cpp ├── stage_shape.cpp ├── timeline │ ├── frame.cpp │ ├── frame.h │ ├── frame_padding.cpp │ ├── frame_padding.h │ ├── frameset.cpp │ ├── frameset.h │ ├── framesmanager.cpp │ ├── framesmanager.h │ ├── layer.cpp │ ├── layer.h │ ├── layermanager.cpp │ └── layermanager.h ├── unre │ ├── kagedo.cpp │ ├── kagedo.h │ ├── unre.cpp │ └── unre.h ├── vectordatamanager.cpp └── vectordatamanager.h ├── kage__import.cpp ├── kage__import.h ├── kage_glade.glade ├── kage_glade_menu.glade ├── kagestudio ├── kagestudio.code-workspace ├── kagestudio.doxygen ├── ksf.ico ├── layer_rename.cpp ├── layer_rename.h ├── main.cpp ├── make.bat ├── notes_on_gradient ├── resources.cpp ├── share ├── frame │ ├── README.txt │ ├── blank.png │ ├── blank_cur.png │ ├── blank_cur_sel.png │ ├── blank_cur_sel_twn.png │ ├── blank_cur_twn.png │ ├── blank_sel.png │ ├── blank_sel_twn.png │ ├── blank_twn.png │ ├── blank_x.png │ ├── blank_x_cur.png │ ├── blank_x_cur_sel.png │ ├── blank_x_cur_sel_twn.png │ ├── blank_x_cur_twn.png │ ├── blank_x_sel.png │ ├── blank_x_sel_twn.png │ ├── blank_x_twn.png │ ├── drawn.png │ ├── drawn_cur.png │ ├── drawn_cur_sel.png │ ├── drawn_cur_sel_twn.png │ ├── drawn_cur_twn.png │ ├── drawn_sel.png │ ├── drawn_sel_twn.png │ ├── drawn_twn.png │ ├── drawn_x.png │ ├── drawn_x_cur.png │ ├── drawn_x_cur_sel.png │ ├── drawn_x_cur_sel_twn.png │ ├── drawn_x_cur_twn.png │ ├── drawn_x_sel.png │ ├── drawn_x_sel_twn.png │ ├── drawn_x_twn.png │ ├── null.png │ ├── null_cur.png │ ├── null_x.png │ └── null_x_cur.png ├── icons │ ├── Eraser.png │ ├── Eraser_tango.png │ ├── Eyedrop.png │ ├── Eyedrop_tango.png │ ├── Fill.png │ ├── Fill_tango.png │ ├── Marquee.png │ ├── Marquee_tango.png │ ├── Node.png │ ├── Node_tango.png │ ├── Oval.png │ ├── Oval_tango.png │ ├── Pencil.png │ ├── Pencil_tango.png │ ├── Poly.png │ ├── Poly_tango.png │ ├── Rectangle.png │ ├── Rectangle_tango.png │ ├── Select.png │ ├── Select_tango.png │ ├── Stroke.png │ ├── Stroke_tango.png │ ├── Text.png │ ├── Text_tango.png │ ├── Zoom.png │ ├── Zoom_tango.png │ ├── about.png │ ├── default.png │ ├── kagestudio-about.ksf │ ├── kagestudio-document.ksf │ ├── kagestudio.ksf │ ├── ksf.png │ ├── shape_000.png │ ├── shape_045.png │ ├── shape_090.png │ ├── shape_135.png │ ├── shape_move.png │ ├── shape_ne.png │ ├── shape_nw.png │ ├── shape_rotate.png │ ├── shape_se.png │ ├── shape_sw.png │ └── straighten.png ├── layer │ ├── layer_add.png │ ├── layer_delete.png │ ├── locked_false.ksf │ ├── locked_false.png │ ├── locked_true.ksf │ ├── locked_true.png │ ├── move_bottom.png │ ├── move_down.png │ ├── move_top.png │ ├── move_up.png │ ├── onion.ksf │ ├── onion.png │ ├── onion_layer.ksf │ ├── onion_layer.png │ ├── visible_false.ksf │ ├── visible_false.png │ ├── visible_true.ksf │ └── visible_true.png ├── selected.png ├── selected_cur.png ├── selected_x.png ├── selected_x_cur.png ├── tween.png ├── tween_cur.png ├── tween_x.png └── tween_x_cur.png └── util ├── cairo ├── cairo_kage.cpp └── cairo_kage.h ├── string ├── stringhelper.cpp └── stringhelper.h ├── svg ├── svg.h ├── svgtag.h ├── svgtagproperty.h └── svgtoken.h └── xml ├── Makefile ├── README.txt ├── test.xml ├── testBasicXml.cpp ├── xml.cpp ├── xml.h ├── xmltag.cpp ├── xmltag.h ├── xmltagproperty.cpp ├── xmltagproperty.h ├── xmltoken.cpp └── xmltoken.h /.github/workflows/makefile.yml: -------------------------------------------------------------------------------- 1 | name: Makefile CI 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | 17 | - name: Install dependencies 18 | run: sudo apt install make libgtkmm-3.0-dev build-essential 19 | 20 | - name: Create Resources 21 | run: cd studio; make -f Makefile.gnu resource 22 | 23 | - name: Create Binary 24 | run: cd studio; make -f Makefile.gnu 25 | -------------------------------------------------------------------------------- /studio/Makefile.gnu: -------------------------------------------------------------------------------- 1 | # Makefile for KageStudio 2 | BIN = kagestudio 3 | CXX = g++ 4 | CXXFLAGS = -c -I./ `pkg-config gtkmm-3.0 gdkmm-3.0 glibmm-2.4 --cflags | sed 's/ -I/ -isystem /g'` -std=gnu++17 -fmax-errors=5 -Wfatal-errors 5 | CXXLINKS = `pkg-config gtkmm-3.0 gdkmm-3.0 glibmm-2.4 --libs | sed 's/ -I/ -isystem /g'` 6 | 7 | SOURCES = \ 8 | ./kage/data/anchor.cpp \ 9 | ./kage/data/point.cpp \ 10 | ./kage/data/color.cpp \ 11 | ./kage/data/strokecolor.cpp \ 12 | ./kage/data/vectordata.cpp \ 13 | ./kage/timeline/layers.cpp \ 14 | ./kage/timeline/scenes.cpp \ 15 | ./kage/timeline/timeline.cpp \ 16 | ./kage/unre/unre.cpp \ 17 | ./kage/stage/stage.cpp \ 18 | ./kage/stage/node.cpp \ 19 | ./kage/stage/oval.cpp \ 20 | ./kage/stage/poly.cpp \ 21 | ./kage/stage/rect.cpp \ 22 | ./kage/stage/pencil.cpp \ 23 | ./kage/stage/shape.cpp \ 24 | ./kage/library/asset.cpp \ 25 | ./kage/library/assetmanager.cpp \ 26 | ./kage/library/library.cpp \ 27 | ./kage/properties/asset.cpp \ 28 | ./kage/properties/fillstroke.cpp \ 29 | ./kage/properties/frametween.cpp \ 30 | ./kage/properties/locationsize.cpp \ 31 | ./kage/properties/nodexy.cpp \ 32 | ./kage/properties/stage.cpp \ 33 | ./kage/vectordatamanager.cpp \ 34 | ./kage/data/frame.cpp \ 35 | ./kage/data/layer.cpp \ 36 | ./kage/data/scene.cpp \ 37 | ./kage/document.cpp \ 38 | ./kage/project.cpp \ 39 | ./util/xml/xmltoken.cpp \ 40 | ./util/xml/xmltagproperty.cpp \ 41 | ./util/xml/xmltag.cpp \ 42 | ./util/xml/xml.cpp \ 43 | ./util/string/stringhelper.cpp \ 44 | ./util/cairo/cairo_kage.cpp \ 45 | kage.cpp \ 46 | resources.cpp \ 47 | about.cpp \ 48 | label_rename.cpp \ 49 | form_new.cpp \ 50 | main.cpp 51 | 52 | OBJECTS = $(SOURCES:.cpp=.o) 53 | 54 | %.o : %.cpp 55 | $(CXX) $(CXXFLAGS) $< -o $@ 56 | 57 | all: kagestudio 58 | 59 | resource: 60 | glib-compile-resources --generate-source --target=resources.cpp image.gresource.xml 61 | 62 | kagestudio: $(OBJECTS) 63 | @echo creating $(BIN) 64 | $(CXX) $(OBJECTS) -o $(BIN) $(CXXLINKS) 65 | 66 | clean: 67 | @echo deleting .o, and $(BIN) 68 | rm $(OBJECTS) $(BIN) 69 | -------------------------------------------------------------------------------- /studio/Makefile.mac: -------------------------------------------------------------------------------- 1 | # Makefile for KageStudio 2 | BIN = kagestudio 3 | CXX = g++ 4 | CXXFLAGS = -c -I./ `pkg-config gtkmm-3.0 gdkmm-3.0 glibmm-2.4 --cflags | sed 's/ -I/ -isystem /g'` -std=gnu++17 -Wfatal-errors 5 | CXXLINKS = `pkg-config gtkmm-3.0 gdkmm-3.0 glibmm-2.4 --libs | sed 's/ -I/ -isystem /g'` 6 | 7 | SOURCES = \ 8 | ./kage/data/anchor.cpp \ 9 | ./kage/data/point.cpp \ 10 | ./kage/data/color.cpp \ 11 | ./kage/data/strokecolor.cpp \ 12 | ./kage/data/vectordata.cpp \ 13 | ./kage/timeline/layers.cpp \ 14 | ./kage/timeline/scenes.cpp \ 15 | ./kage/timeline/timeline.cpp \ 16 | ./kage/unre/unre.cpp \ 17 | ./kage/stage/stage.cpp \ 18 | ./kage/stage/node.cpp \ 19 | ./kage/stage/oval.cpp \ 20 | ./kage/stage/poly.cpp \ 21 | ./kage/stage/rect.cpp \ 22 | ./kage/stage/pencil.cpp \ 23 | ./kage/stage/shape.cpp \ 24 | ./kage/library/asset.cpp \ 25 | ./kage/library/assetmanager.cpp \ 26 | ./kage/library/library.cpp \ 27 | ./kage/properties/asset.cpp \ 28 | ./kage/properties/fillstroke.cpp \ 29 | ./kage/properties/frametween.cpp \ 30 | ./kage/properties/locationsize.cpp \ 31 | ./kage/properties/nodexy.cpp \ 32 | ./kage/properties/stage.cpp \ 33 | ./kage/vectordatamanager.cpp \ 34 | ./kage/data/frame.cpp \ 35 | ./kage/data/layer.cpp \ 36 | ./kage/data/scene.cpp \ 37 | ./kage/document.cpp \ 38 | ./kage/project.cpp \ 39 | ./util/xml/xmltoken.cpp \ 40 | ./util/xml/xmltagproperty.cpp \ 41 | ./util/xml/xmltag.cpp \ 42 | ./util/xml/xml.cpp \ 43 | ./util/string/stringhelper.cpp \ 44 | ./util/cairo/cairo_kage.cpp \ 45 | kage.cpp \ 46 | resources.cpp \ 47 | about.cpp \ 48 | label_rename.cpp \ 49 | form_new.cpp \ 50 | main.cpp 51 | 52 | OBJECTS = $(SOURCES:.cpp=.o) 53 | 54 | %.o : %.cpp 55 | $(CXX) $(CXXFLAGS) $< -o $@ 56 | 57 | all: kagestudio 58 | 59 | resource: 60 | glib-compile-resources --generate-source --target=resources.cpp image.gresource.xml 61 | 62 | kagestudio: $(OBJECTS) 63 | @echo creating $(BIN) 64 | $(CXX) $(OBJECTS) -o $(BIN) $(CXXLINKS) 65 | 66 | clean: 67 | @echo deleting .o, and $(BIN) 68 | rm $(OBJECTS) $(BIN) 69 | -------------------------------------------------------------------------------- /studio/about.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_ABOUT_H 23 | #define GTKMM_KAGE_ABOUT_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | class KageAbout : public Gtk::Dialog { 34 | public: 35 | KageAbout(Gtk::Window& parent); 36 | virtual ~KageAbout(); 37 | static std::string app_version; 38 | static std::string app_title; 39 | static std::string app_author; 40 | static std::string app_contact; 41 | static std::string app_website; 42 | static std::string app_copyright; 43 | static std::string app_comment; 44 | static Glib::RefPtr imageABOUT; 45 | 46 | protected: 47 | //Member widgets: 48 | Gtk::HBox m_HBox; 49 | Gtk::Table m_Table; 50 | Gtk::Label m_Label1, m_Label2; 51 | Gtk::Image m_Image; 52 | }; 53 | #endif //GTKMM_KAGE_ABOUT_H 54 | -------------------------------------------------------------------------------- /studio/installers/copy_dll.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/sh 2 | #this will: 3 | # 1. get a copy of kagestudio inside windows directory, 4 | # 2. get the GTKMM DLLs 5 | # 3. and copy it into windows directory 6 | # 4. finally, will clean-up 7 | cp ./windows/kagestudio.exe ./ 8 | rm ./windows/*.dll 9 | ldd ./kagestudio.exe | sed -n 's/\([^ ]*\) => \/mingw64/cp \/c\/msys64\/mingw64/p' | sed -n 's/ (0x[a-f0-9)]*/ .\/windows/p' | sort > copy_gtkmm_dll.sh 10 | chmod +x ./copy_gtkmm_dll.sh 11 | ./copy_gtkmm_dll.sh 12 | rm copy_gtkmm_dll.sh 13 | rm ./kagestudio.exe 14 | echo GTKMM DLLs 15 | ls -la ./windows/*.dll 16 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/DEBIAN/changelog: -------------------------------------------------------------------------------- 1 | kagestudio (2025.04.03) noble; urgency=low 2 | 3 | * 0.8 maintenance release; codename Emcee 4 | 5 | -- Mj Mendoza IV Tue, 03 March 11:23:22 -0800 6 | 7 | kagestudio (2024.02.10) jammy; urgency=low 8 | 9 | * first 0.8 package 10 | 11 | -- Mj Mendoza IV Tue, 11 February 12:20:19 -0800 12 | 13 | kagestudio (2023.07.23) jammy; urgency=low 14 | 15 | * 0.7 maintenance release; codename Ellen 16 | 17 | -- Mj Mendoza IV Tue, 25 July 21:19:23 -0800 18 | 19 | kagestudio (2022.12.28) jammy; urgency=low 20 | 21 | * first 0.7 package 22 | 23 | -- Mj Mendoza IV Wed, 28 December 19:45:29 -0800 24 | 25 | kagestudio (2022.09.20) jammy; urgency=low 26 | 27 | * second 0.6 maintenance package 28 | 29 | -- Mj Mendoza IV Tue, 20 September 11:51:38 -0800 30 | 31 | kagestudio (2022.08.08) jammy; urgency=low 32 | 33 | * first 0.6 maintenance package 34 | 35 | -- Mj Mendoza IV Tue, 09 August 14:57:13 -0800 36 | 37 | kagestudio (2022.06.22) focal; urgency=low 38 | 39 | * first 0.6 package 40 | 41 | -- Mj Mendoza IV Wed, 22 June 2022 05:27:07 -0800 42 | 43 | kagestudio (2022.02.25) focal; urgency=low 44 | 45 | * second 0.5 maintenance package 46 | 47 | -- Mj Mendoza IV Wed, 03 March 2022 00:51:19 -0800 48 | 49 | kagestudio (2022.01.10) focal; urgency=low 50 | 51 | * first 0.5 maintenance package 52 | 53 | -- Mj Mendoza IV Wed, 12 January 2022 01:48:36 +0800 54 | 55 | kagestudio (2021.12.22) focal; urgency=low 56 | 57 | * first 0.5 package 58 | 59 | -- Mj Mendoza IV Wed, 22 December 2021 06:56:13 60 | +0800 61 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: kagestudio 2 | Version: 0.8-240824 3 | Architecture: amd64 4 | Maintainer: Mj Mendoza IV 5 | Depends: libcairomm-1.0-1v5,libgtkmm-3.0-1v5, libgdk-pixbuf2.0-0, ffmpeg 6 | Installed-Size: 2080768 7 | Section: Graphics 8 | Priority: Optional 9 | Homepage: https://kage.sourceforge.io 10 | Description: A simple cross-platform 2D Animation Software for all ages! 11 | Kage Studio is a vector-based 2D Animation cross-platform Software for 12 | Windows, Mac, and Ubuntu GNU/Linux suitable for beginners, hobbyists, 13 | and soon even professionals. 14 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/DEBIAN/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | # Register MIME type 5 | if [ "$1" = "configure" ] && [ -x "`which update-mime-database 2>/dev/null`" ]; then 6 | update-mime-database /usr/share/mime 7 | fi 8 | 9 | # Register application 10 | if [ "$1" = "configure" ] && [ -x "`which update-desktop-database 2>/dev/null`" ]; then 11 | update-desktop-database 12 | fi 13 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/DEBIAN/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | # Unregister MIME type 5 | if [ "$1" = "configure" ] && [ -x "`which update-mime-database 2>/dev/null`" ]; then 6 | update-mime-database /usr/share/mime 7 | fi 8 | 9 | # Unregister application 10 | if [ "$1" = "configure" ] && [ -x "`which update-desktop-database 2>/dev/null`" ]; then 11 | update-desktop-database 12 | fi 13 | 14 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/applications/kagestudio.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Encoding=UTF-8 4 | Name=Kage Studio 5 | GenericName=Kage Studio 6 | Comment=2D Animation Software 7 | Icon=kagestudio 8 | TryExec=/usr/local/bin/kagestudio 9 | Exec=/usr/local/bin/kagestudio %F 10 | Terminal=false 11 | Type=Application 12 | NoDisplay=false 13 | Categories=Graphics; 14 | MimeType=text/kagestudio-document; 15 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/icons/gnome/16x16/mimetypes/gnome-mime-text-kagestudio-document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/debian/kagestudio/usr/share/icons/gnome/16x16/mimetypes/gnome-mime-text-kagestudio-document.png -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/icons/gnome/32x32/mimetypes/gnome-mime-text-kagestudio-document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/debian/kagestudio/usr/share/icons/gnome/32x32/mimetypes/gnome-mime-text-kagestudio-document.png -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/icons/gnome/48x48/mimetypes/gnome-mime-text-kagestudio-document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/debian/kagestudio/usr/share/icons/gnome/48x48/mimetypes/gnome-mime-text-kagestudio-document.png -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/mime-info/text-kagestudio-document.mime: -------------------------------------------------------------------------------- 1 | text/kagestudio-document 2 | ext: ksf 3 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/mime/packages/konsolscript-document.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | KageStudio File 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /studio/installers/debian/kagestudio/usr/share/pixmaps/kagestudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/debian/kagestudio/usr/share/pixmaps/kagestudio.png -------------------------------------------------------------------------------- /studio/installers/debian/makedeb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cp ../../kagestudio ./kagestudio/usr/bin/kagestudio 3 | cp ../../LICENSE.txt ./kagestudio/usr/share/doc/kagestudio/copyright 4 | cp ../../README.txt ./kagestudio/usr/share/doc/kagestudio/README 5 | sudo chmod 777 kagestudio*.deb 6 | sudo rm kagestudio*amd64.deb 7 | sudo chmod 775 ./kagestudio/DEBIAN/post* 8 | dpkg --build ./kagestudio . 9 | -------------------------------------------------------------------------------- /studio/installers/windows/README.txt: -------------------------------------------------------------------------------- 1 | Kage Studio 0.8.24x 2 | A simple, Free and Open Source 2D Animation Software 3 | written by Mj Mendoza IV 4 | 5 | Kage Studio uses FFMPEG to produce AVI 6 | FFMPEG is by FFmpeg team. see ffmpeg.org 7 | 8 | Kage Studio uses GTKMM3 as User Interface 9 | GTKMM3 is by GTK Team. see gtkmm.org 10 | 11 | Demo: 12 | ===== 13 | Open file "demo.ksf" or, check out these links: 14 | * https://www.youtube.com/watch?v=mb4geCP4NSM 15 | * https://www.youtube.com/watch?v=_5KOjVuyXMc 16 | * https://www.youtube.com/watch?v=RJ6j1g49arU 17 | * https://www.youtube.com/watch?v=cVlSzyq31UQ 18 | * https://www.youtube.com/watch?v=CELOVDCIoQ4 19 | * https://www.youtube.com/watch?v=MogqL4ue3AA 20 | * https://www.youtube.com/watch?v=8NTx-fIn0h0 21 | 22 | Tutorials: 23 | ========== 24 | Visit https://sourceforge.net/p/kage/wiki/Tutorials/ 25 | 26 | 27 | For Kage Studio help, contact author (email address indicated above). -------------------------------------------------------------------------------- /studio/installers/windows/demo2.kage: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /studio/installers/windows/ffmpeg.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/ffmpeg.exe -------------------------------------------------------------------------------- /studio/installers/windows/gdbus.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/gdbus.exe -------------------------------------------------------------------------------- /studio/installers/windows/kage.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/kage.ico -------------------------------------------------------------------------------- /studio/installers/windows/kage_installer_info.nsh: -------------------------------------------------------------------------------- 1 | !define PRODUCT_NAME "Kage Studio" 2 | !define PRODUCT_VERSION "0.8.240824" 3 | !define PRODUCT_PUBLISHER "Mj Mendoza IV" 4 | !define PRODUCT_WEB_SITE "https://kage.sourceforge.io" 5 | !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\kagestudio.exe" 6 | !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" 7 | !define PRODUCT_UNINST_ROOT_KEY "HKLM" 8 | 9 | !define FILE_PATH ".\" 10 | 11 | !define KSE_NSI_LANG "English" 12 | -------------------------------------------------------------------------------- /studio/installers/windows/kage_installer_setup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/kage_installer_setup.bmp -------------------------------------------------------------------------------- /studio/installers/windows/kage_installer_setup_ico.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/kage_installer_setup_ico.ico -------------------------------------------------------------------------------- /studio/installers/windows/kage_installer_setup_un.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/kage_installer_setup_un.bmp -------------------------------------------------------------------------------- /studio/installers/windows/kage_installer_setup_un_ico.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/kage_installer_setup_un_ico.ico -------------------------------------------------------------------------------- /studio/installers/windows/kage_installer_versionkey.nsh: -------------------------------------------------------------------------------- 1 | VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}" 2 | VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "2D Animation Software" 3 | VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}" 4 | VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "${PRODUCT_NAME} is a trademark of ${PRODUCT_PUBLISHER}" 5 | VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© ${PRODUCT_NAME}" 6 | VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Kage Studio" 7 | VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${PRODUCT_VERSION}" 8 | VIProductVersion "${PRODUCT_VERSION}.0" 9 | -------------------------------------------------------------------------------- /studio/installers/windows/ksf.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/ksf.ico -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-avif.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-avif.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-heif.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-heif.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jxl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jxl.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.dll -------------------------------------------------------------------------------- /studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll -------------------------------------------------------------------------------- /studio/installers/windows/libLerc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libLerc.dll -------------------------------------------------------------------------------- /studio/installers/windows/libatk-1.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libatk-1.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libatkmm-1.6-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libatkmm-1.6-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libbrotlicommon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libbrotlicommon.dll -------------------------------------------------------------------------------- /studio/installers/windows/libbrotlidec.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libbrotlidec.dll -------------------------------------------------------------------------------- /studio/installers/windows/libbz2-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libbz2-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libcairo-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libcairo-2.dll -------------------------------------------------------------------------------- /studio/installers/windows/libcairo-gobject-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libcairo-gobject-2.dll -------------------------------------------------------------------------------- /studio/installers/windows/libcairomm-1.0-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libcairomm-1.0-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libdatrie-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libdatrie-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libepoxy-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libepoxy-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libexpat-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libexpat-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libffi-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libffi-8.dll -------------------------------------------------------------------------------- /studio/installers/windows/libfontconfig-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libfontconfig-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libfreetype-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libfreetype-6.dll -------------------------------------------------------------------------------- /studio/installers/windows/libfribidi-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libfribidi-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgcc_s_seh-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgcc_s_seh-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgdk-3-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgdk-3-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgdk_pixbuf-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgdk_pixbuf-2.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgdkmm-3.0-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgdkmm-3.0-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgio-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgio-2.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgiomm-2.4-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgiomm-2.4-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libglib-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libglib-2.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libglibmm-2.4-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libglibmm-2.4-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgmodule-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgmodule-2.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgobject-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgobject-2.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgraphite2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgraphite2.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgtk-3-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgtk-3-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libgtkmm-3.0-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libgtkmm-3.0-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libharfbuzz-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libharfbuzz-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libiconv-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libiconv-2.dll -------------------------------------------------------------------------------- /studio/installers/windows/libintl-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libintl-8.dll -------------------------------------------------------------------------------- /studio/installers/windows/libjbig-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libjbig-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libjpeg-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libjpeg-8.dll -------------------------------------------------------------------------------- /studio/installers/windows/liblzma-5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/liblzma-5.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpango-1.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpango-1.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpangocairo-1.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpangocairo-1.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpangoft2-1.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpangoft2-1.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpangomm-1.4-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpangomm-1.4-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpangowin32-1.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpangowin32-1.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpcre2-8-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpcre2-8-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpixman-1-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpixman-1-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libpng16-16.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libpng16-16.dll -------------------------------------------------------------------------------- /studio/installers/windows/libsharpyuv-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libsharpyuv-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libsigc-2.0-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libsigc-2.0-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libstdc++-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libstdc++-6.dll -------------------------------------------------------------------------------- /studio/installers/windows/libthai-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libthai-0.dll -------------------------------------------------------------------------------- /studio/installers/windows/libtiff-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libtiff-6.dll -------------------------------------------------------------------------------- /studio/installers/windows/libwebp-7.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libwebp-7.dll -------------------------------------------------------------------------------- /studio/installers/windows/libwinpthread-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libwinpthread-1.dll -------------------------------------------------------------------------------- /studio/installers/windows/libzstd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/libzstd.dll -------------------------------------------------------------------------------- /studio/installers/windows/share/glib-2.0/schemas/gschemas.compiled: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/share/glib-2.0/schemas/gschemas.compiled -------------------------------------------------------------------------------- /studio/installers/windows/share/icons/icons.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/share/icons/icons.zip -------------------------------------------------------------------------------- /studio/installers/windows/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/installers/windows/zlib1.dll -------------------------------------------------------------------------------- /studio/kage.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/kage.ico -------------------------------------------------------------------------------- /studio/kage.rc: -------------------------------------------------------------------------------- 1 | id ICON "kagestudio.ico" 2 | 1 VERSIONINFO 3 | FILEVERSION 0,7,2401,21 4 | PRODUCTVERSION 0,7,2401,21 5 | BEGIN 6 | BLOCK "StringFileInfo" 7 | BEGIN 8 | BLOCK "040904E4" 9 | BEGIN 10 | VALUE "CompanyName", "Krixware Studios" 11 | VALUE "FileDescription", "Kage Animation Tool" 12 | VALUE "FileVersion", "0.7.2401" 13 | VALUE "InternalName", "kage_studio" 14 | VALUE "LegalCopyright", "Copyright © 2011-2024 Krixware Studios" 15 | VALUE "OriginalFilename", "kagestudio.exe" 16 | VALUE "ProductName", "Kage Studio" 17 | VALUE "ProductVersion", "0.7.2401" 18 | END 19 | END 20 | 21 | BLOCK "VarFileInfo" 22 | BEGIN 23 | VALUE "Translation", 0x409, 1252 24 | END 25 | END 26 | -------------------------------------------------------------------------------- /studio/kage/data/anchor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "anchor.h" 23 | #include 24 | 25 | AnchorData::AnchorData() : PointData() { 26 | rotation = 0; 27 | } 28 | 29 | AnchorData::AnchorData(GdkPoint p) : PointData(p) { 30 | rotation = 0; 31 | } 32 | 33 | AnchorData::AnchorData(double p_x, double p_y) : PointData(p_x, p_y) { 34 | rotation = 0; 35 | } 36 | 37 | AnchorData AnchorData::clone() { 38 | AnchorData l_p(x, y); 39 | return l_p; 40 | } 41 | 42 | AnchorData::~AnchorData() { 43 | // 44 | } 45 | -------------------------------------------------------------------------------- /studio/kage/data/anchor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_ANCHOR_H 23 | #define GTKMM_KAGE_DATA_ANCHOR_H 24 | 25 | #include 26 | #include "point.h" 27 | 28 | class AnchorData: public PointData { 29 | public: 30 | enum type { 31 | TYPE_NONE, 32 | TYPE_NORTH, 33 | TYPE_EAST, 34 | TYPE_WEST, 35 | TYPE_SOUTH, 36 | TYPE_NORTH_EAST, 37 | TYPE_NORTH_WEST, 38 | TYPE_SOUTH_EAST, 39 | TYPE_SOUTH_WEST, 40 | TYPE_MOVE, 41 | TYPE_ROTATE 42 | }; 43 | AnchorData(); 44 | AnchorData(GdkPoint p); 45 | AnchorData(double p_x, double p_y); 46 | virtual ~AnchorData(); 47 | 48 | AnchorData clone(); 49 | //const AnchorData& operator=( const AnchorData& p_origin ); 50 | 51 | unsigned int rotation; 52 | protected: 53 | }; 54 | #endif //GTKMM_KAGE_DATA_POINT_H 55 | -------------------------------------------------------------------------------- /studio/kage/data/color.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_COLOR_H 23 | #define GTKMM_KAGE_DATA_COLOR_H 24 | 25 | #include 26 | #include 27 | 28 | class ColorData { 29 | public: 30 | ColorData(); 31 | ColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b); 32 | ColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b, unsigned int p_a); 33 | virtual ~ColorData(); 34 | 35 | void setR(unsigned int p_r); 36 | void setG(unsigned int p_g); 37 | void setB(unsigned int p_b); 38 | void setA(unsigned int p_a); 39 | unsigned int getR() const; 40 | unsigned int getG() const; 41 | unsigned int getB() const; 42 | unsigned int getA() const; 43 | ColorData clone(); 44 | std::string toString(); 45 | void copy(ColorData p_color); 46 | bool equalTo(ColorData p_color); 47 | protected: 48 | unsigned int R; 49 | unsigned int G; 50 | unsigned int B; 51 | unsigned int A; 52 | }; 53 | #endif //GTKMM_KAGE_DATA_COLOR_H 54 | -------------------------------------------------------------------------------- /studio/kage/data/point.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "point.h" 23 | #include "../../kage.h" 24 | #include 25 | 26 | PointData::PointData() { 27 | x = 0; 28 | y = 0; 29 | debug_id = PointData::debug_pts++; 30 | } 31 | 32 | PointData::PointData(GdkPoint p) { 33 | x = (double) (((double)((int)(p.x*100.0f)))/100.0f); 34 | y = (double) (((double)((int)(p.y*100.0f)))/100.0f); 35 | debug_id = PointData::debug_pts++; 36 | } 37 | 38 | PointData::PointData(double p_x, double p_y) { 39 | x = p_x; 40 | y = p_y; 41 | debug_id = PointData::debug_pts++; 42 | } 43 | 44 | PointData PointData::clone() { 45 | PointData l_p(x, y); 46 | return l_p; 47 | } 48 | 49 | PointData::~PointData() { 50 | // 51 | } 52 | -------------------------------------------------------------------------------- /studio/kage/data/point.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_POINT_H 23 | #define GTKMM_KAGE_DATA_POINT_H 24 | 25 | #include 26 | 27 | class PointData { 28 | public: 29 | PointData(); 30 | PointData(GdkPoint p); 31 | PointData(double p_x, double p_y); 32 | virtual ~PointData(); 33 | 34 | PointData clone(); 35 | //const PointData& operator=( const PointData& p_origin ); 36 | 37 | double x; 38 | double y; 39 | unsigned int debug_id; 40 | static unsigned int debug_pts; 41 | protected: 42 | }; 43 | #endif //GTKMM_KAGE_DATA_POINT_H 44 | -------------------------------------------------------------------------------- /studio/kage/data/strokecolor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_STROKECOLOR_H 23 | #define GTKMM_KAGE_DATA_STROKECOLOR_H 24 | 25 | #include "color.h" 26 | 27 | class StrokeColorData: public ColorData { 28 | public: 29 | StrokeColorData(); 30 | StrokeColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b); 31 | StrokeColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b, unsigned int p_a); 32 | StrokeColorData(double p_thickness); 33 | virtual ~StrokeColorData(); 34 | 35 | //ColorData color; 36 | void setThickness(double p_thickness); 37 | double getThickness() const; 38 | StrokeColorData clone(); 39 | std::string toString() const; 40 | protected: 41 | double thickness; 42 | }; 43 | #endif //GTKMM_KAGE_DATA_STROKECOLOR_H 44 | -------------------------------------------------------------------------------- /studio/kage/data/vectordata.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "vectordata.h" 23 | #include "../../kage.h" 24 | 25 | VectorData::VectorData() { 26 | count = 0; 27 | } 28 | VectorData::VectorData(type p_type) { 29 | count = 0; 30 | setType(p_type); 31 | } 32 | 33 | VectorData::~VectorData() { 34 | points.clear(); 35 | } 36 | 37 | void VectorData::setType(type p_type) { 38 | if (p_type >= TYPE_FILL || p_type <= TYPE_IMAGE) { 39 | vectorType = p_type; 40 | } 41 | } 42 | 43 | VectorData::type VectorData::getType() const { 44 | return vectorType; 45 | } 46 | 47 | void VectorData::setPoints(std::vector p_points) { 48 | points = p_points; 49 | count = p_points.size(); 50 | } 51 | 52 | std::vector VectorData::getPoints() { 53 | return points; 54 | } 55 | 56 | VectorData VectorData::clone() { 57 | VectorData l_vectorData(getType()); 58 | std::vector l_points; 59 | for (unsigned int i = 0; i < count; ++i) { 60 | l_points.push_back(points[i].clone()); 61 | } 62 | l_vectorData.setPoints(l_points); 63 | l_vectorData.stroke = stroke.clone(); 64 | l_vectorData.fillColor = fillColor.clone(); 65 | 66 | return l_vectorData; 67 | } 68 | -------------------------------------------------------------------------------- /studio/kage/properties/frametween.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_PROP_FRAME_TWEEN_H 23 | #define GTKMM_KAGE_PROP_FRAME_TWEEN_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | class Kage; //forward declaration 31 | 32 | class PropertyFrameTween : public Gtk::HBox { 33 | public: 34 | PropertyFrameTween(Kage* p_kage); 35 | virtual ~PropertyFrameTween(); 36 | 37 | protected: 38 | Kage* _kage; 39 | //Member widgets:Gtk::HBox m_propFrameTween; 40 | Gtk::VBox m_propFrameTweenV1; 41 | Gtk::VBox m_propFrameTweenV2; 42 | Gtk::Label m_LabelTweenX; 43 | Gtk::ComboBoxText m_ComboX; 44 | Gtk::Label m_LabelTweenY; 45 | Gtk::ComboBoxText m_ComboY; 46 | public: 47 | void FrameTween_onChange(); 48 | 49 | void setTweenXText(std::string p_tween); 50 | void setTweenYText(std::string p_tween); 51 | }; 52 | #endif //GTKMM_KAGE_PROP_FRAME_TWEEN_H 53 | -------------------------------------------------------------------------------- /studio/kage/properties/locationsize.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_PROP_LOCATION_SIZE_H 23 | #define GTKMM_KAGE_PROP_LOCATION_SIZE_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | class Kage; //forward declaration 32 | 33 | class PropertyLocationSize : public Gtk::HBox { 34 | public: 35 | PropertyLocationSize(Kage* p_kage); 36 | virtual ~PropertyLocationSize(); 37 | 38 | protected: 39 | Kage* _kage; 40 | //Member widgets: 41 | Gtk::VBox m_propLocationSizeV1; 42 | Gtk::VBox m_propLocationSizeV2; 43 | Gtk::Label m_LabelX; 44 | Gtk::Entry m_EntryX; 45 | Gtk::Label m_LabelY; 46 | Gtk::Entry m_EntryY; 47 | Gtk::Label m_LabelWidth; 48 | Gtk::Entry m_EntryWidth; 49 | Gtk::Label m_LabelHeight; 50 | Gtk::Entry m_EntryHeight; 51 | public: 52 | void EntryX_onEnter(); 53 | void EntryY_onEnter(); 54 | void EntryWidth_onEnter(); 55 | void EntryHeight_onEnter(); 56 | 57 | void setXText(double p_x); 58 | void setYText(double p_y); 59 | void setWidthText(double p_width); 60 | void setHeightText(double p_height); 61 | }; 62 | #endif //GTKMM_KAGE_PROP_LOCATION_SIZE_H 63 | -------------------------------------------------------------------------------- /studio/kage/properties/nodexy.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_PROP_NODE_XY_H 23 | #define GTKMM_KAGE_PROP_NODE_XY_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | class Kage; //forward declaration 32 | 33 | class PropertyNodeXY : public Gtk::HBox { 34 | public: 35 | PropertyNodeXY(Kage* p_kage); 36 | virtual ~PropertyNodeXY(); 37 | 38 | protected: 39 | Kage* _kage; 40 | //Member widgets: 41 | Gtk::HBox m_propNodeXY; 42 | Gtk::VBox m_propNodeXYV1; 43 | Gtk::VBox m_propNodeXYV2; 44 | Gtk::Label m_LabelNodeX; 45 | Gtk::Entry m_EntryNodeX; 46 | Gtk::Label m_LabelNodeY; 47 | Gtk::Entry m_EntryNodeY; 48 | Gtk::Label m_LabelToggleLine; 49 | Gtk::Button _btnToggleLine; 50 | Gtk::Image _btnToggleLine_img; 51 | Glib::RefPtr _btnToggleLine_pixbuf; 52 | public: 53 | void EntryNodeX_onEnter(); 54 | void EntryNodeY_onEnter(); 55 | void ToggleLine_onClick(); 56 | 57 | void setNodeXText(double p_nodeX); 58 | void setNodeYText(double p_nodeY); 59 | }; 60 | #endif //GTKMM_KAGE_PROP_NODE_XY_H 61 | -------------------------------------------------------------------------------- /studio/kage/unre/unre.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_MANAGER_UNRE_UNRE_H 23 | #define GTKMM_KAGE_MANAGER_UNRE_UNRE_H 24 | 25 | #include 26 | #include 27 | 28 | #include "../data/vectordata.h" 29 | #include "../data/point.h" 30 | 31 | #include "../document.h" 32 | 33 | class Kage;//forward declaration 34 | 35 | class UnRe { 36 | public: 37 | UnRe(); 38 | virtual ~UnRe(); 39 | 40 | void stackDocument(KageDocument p_document); 41 | KageDocument undoDocument(); 42 | KageDocument redoDocument(); 43 | KageDocument previewUndoDocument(); 44 | 45 | void clear(); 46 | protected: 47 | unsigned int _stackIndex; 48 | KageDocument *_kageDocument; 49 | std::vector _undoStack; 50 | }; 51 | #endif //GTKMM_KAGE_MANAGER_UNRE_UNRE_H 52 | -------------------------------------------------------------------------------- /studio/kagestudio.doxygen.footerFile: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /studio/kagestudio.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/kagestudio.ico -------------------------------------------------------------------------------- /studio/label_rename.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_LABEL_RENAME_H 23 | #define GTKMM_KAGE_LABEL_RENAME_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | 32 | class LabelRenameDialog : public Gtk::Dialog { 33 | public: 34 | LabelRenameDialog(Gtk::Window& parent, std::string p_label); 35 | virtual ~LabelRenameDialog(); 36 | 37 | void EntryLabel_onEnter(); 38 | std::string getLabel(); 39 | protected: 40 | //Member widgets: 41 | Gtk::HBox m_HBox; 42 | Gtk::Label _label; 43 | Gtk::Entry _txtLabel; 44 | }; 45 | #endif //GTKMM_KAGE_LABEL_RENAME_H 46 | -------------------------------------------------------------------------------- /studio/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2024 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. Or, see . 20 | * 21 | */ 22 | 23 | #include 24 | 25 | #include "kage.h" 26 | 27 | 28 | std::vector g_argv; 29 | std::vector argHandler(int &argc, char *argv[]) { 30 | int i; 31 | std::vector l_argv; 32 | std::string l_tmp; 33 | for (i = 0; i < argc; ++i) { 34 | l_argv.push_back(argv[i]); 35 | } 36 | return l_argv; 37 | } 38 | 39 | int main(int argc, char *argv[]) { 40 | int argc1 = 1; 41 | auto app = Gtk::Application::create(argc1, argv, "com.krixware.kage"); //, Gio::APPLICATION_HANDLES_COMMAND_LINE); 42 | 43 | g_argv = argHandler(argc, argv); 44 | //App_Path = getFilePath(g_argv[0]); 45 | //App_EXEName = getFileName(g_argv[0]); 46 | std::string l_filePath = ""; 47 | std::cout << "KAGE g_argv " << g_argv.size() << std::endl; 48 | if (g_argv.size() > 0) { 49 | if (g_argv.size() > 1) { 50 | l_filePath = g_argv[1]; 51 | } 52 | for (unsigned int i = 0; i < g_argv.size(); ++i) { 53 | std::cout << " * `" << g_argv[i] << "'" << std::endl; 54 | } 55 | } 56 | 57 | Kage kage(l_filePath); 58 | 59 | //app->activate(); 60 | 61 | return app->run(kage); //EXIT_SUCCESS 62 | } 63 | -------------------------------------------------------------------------------- /studio/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | type README.txt 3 | pause -------------------------------------------------------------------------------- /studio/share/Tango.txt: -------------------------------------------------------------------------------- 1 | Icons from Tango Icons 2 | https://commons.wikimedia.org/wiki/Tango_icons 3 | 4 | The icons below have been released into the public domain by its author, The Tango Desktop Project (http://tango.freedesktop.org/Tango_Desktop_Project). This applies worldwide. 5 | In some countries this may not be legally possible; if so: 6 | The Tango Desktop Project grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. 7 | 8 | icons/Eyedrop_tango.png 9 | icons/Fill_tango.png 10 | icons/Node_tango.png 11 | icons/Oval_tango.png 12 | icons/Rectangle_tango.png 13 | icons/Select_tango.png 14 | icons/Text_tango.png 15 | icons/Zoom_tango.png 16 | layer/layer_delete.png 17 | layer/move_bottom.png 18 | layer/move_down.png 19 | layer/move_top.png 20 | layer/move_up.png 21 | timeline/loop.svg 22 | timeline/next.svg 23 | timeline/play.svg 24 | timeline/previous.svg 25 | timeline/stop.svg 26 | timeline/rewind.svg 27 | layer/layer_add.png -------------------------------------------------------------------------------- /studio/share/frame/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/add.png -------------------------------------------------------------------------------- /studio/share/frame/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank.png -------------------------------------------------------------------------------- /studio/share/frame/blank_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_cur.png -------------------------------------------------------------------------------- /studio/share/frame/blank_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_cur_sel.png -------------------------------------------------------------------------------- /studio/share/frame/blank_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_cur_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_cur_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_sel.png -------------------------------------------------------------------------------- /studio/share/frame/blank_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_cur.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_cur_sel.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_cur_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_cur_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_sel.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/blank_x_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/blank_x_twn.png -------------------------------------------------------------------------------- /studio/share/frame/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/clear.png -------------------------------------------------------------------------------- /studio/share/frame/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/copy.png -------------------------------------------------------------------------------- /studio/share/frame/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/cut.png -------------------------------------------------------------------------------- /studio/share/frame/drawn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_cur.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_cur_sel.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_cur_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_cur_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_sel.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_cur.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_cur_sel.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_cur_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_cur_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_sel.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_sel_twn.png -------------------------------------------------------------------------------- /studio/share/frame/drawn_x_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/drawn_x_twn.png -------------------------------------------------------------------------------- /studio/share/frame/null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/null.png -------------------------------------------------------------------------------- /studio/share/frame/null_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/null_cur.png -------------------------------------------------------------------------------- /studio/share/frame/null_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/null_x.png -------------------------------------------------------------------------------- /studio/share/frame/null_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/null_x_cur.png -------------------------------------------------------------------------------- /studio/share/frame/paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/paste.png -------------------------------------------------------------------------------- /studio/share/frame/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/frame/remove.png -------------------------------------------------------------------------------- /studio/share/icons/Eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Eraser.png -------------------------------------------------------------------------------- /studio/share/icons/Eraser_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Eraser_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Eyedrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Eyedrop.png -------------------------------------------------------------------------------- /studio/share/icons/Eyedrop_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Eyedrop_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Fill.png -------------------------------------------------------------------------------- /studio/share/icons/Fill_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Fill_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Marquee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Marquee.png -------------------------------------------------------------------------------- /studio/share/icons/Marquee_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Marquee_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Node.png -------------------------------------------------------------------------------- /studio/share/icons/Node_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Node_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Oval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Oval.png -------------------------------------------------------------------------------- /studio/share/icons/Oval_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Oval_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Pencil.png -------------------------------------------------------------------------------- /studio/share/icons/Pencil_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Pencil_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Poly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Poly.png -------------------------------------------------------------------------------- /studio/share/icons/Poly_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Poly_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Rectangle.png -------------------------------------------------------------------------------- /studio/share/icons/Rectangle_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Rectangle_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Select.png -------------------------------------------------------------------------------- /studio/share/icons/Select_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Select_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Stroke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Stroke.png -------------------------------------------------------------------------------- /studio/share/icons/Stroke_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Stroke_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Text.png -------------------------------------------------------------------------------- /studio/share/icons/Text_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Text_tango.png -------------------------------------------------------------------------------- /studio/share/icons/Zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Zoom.png -------------------------------------------------------------------------------- /studio/share/icons/Zoom_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/Zoom_tango.png -------------------------------------------------------------------------------- /studio/share/icons/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/about.png -------------------------------------------------------------------------------- /studio/share/icons/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/default.png -------------------------------------------------------------------------------- /studio/share/icons/kagestudio.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/kagestudio.icns -------------------------------------------------------------------------------- /studio/share/icons/shape_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_000.png -------------------------------------------------------------------------------- /studio/share/icons/shape_045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_045.png -------------------------------------------------------------------------------- /studio/share/icons/shape_090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_090.png -------------------------------------------------------------------------------- /studio/share/icons/shape_135.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_135.png -------------------------------------------------------------------------------- /studio/share/icons/shape_move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_move.png -------------------------------------------------------------------------------- /studio/share/icons/shape_ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_ne.png -------------------------------------------------------------------------------- /studio/share/icons/shape_nw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_nw.png -------------------------------------------------------------------------------- /studio/share/icons/shape_rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_rotate.png -------------------------------------------------------------------------------- /studio/share/icons/shape_se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_se.png -------------------------------------------------------------------------------- /studio/share/icons/shape_sw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/shape_sw.png -------------------------------------------------------------------------------- /studio/share/icons/straighten.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/icons/straighten.png -------------------------------------------------------------------------------- /studio/share/layer/layer_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/layer_add.png -------------------------------------------------------------------------------- /studio/share/layer/layer_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/layer_delete.png -------------------------------------------------------------------------------- /studio/share/layer/locked_false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/locked_false.png -------------------------------------------------------------------------------- /studio/share/layer/locked_true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/locked_true.png -------------------------------------------------------------------------------- /studio/share/layer/move_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/move_bottom.png -------------------------------------------------------------------------------- /studio/share/layer/move_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/move_down.png -------------------------------------------------------------------------------- /studio/share/layer/move_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/move_top.png -------------------------------------------------------------------------------- /studio/share/layer/move_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/move_up.png -------------------------------------------------------------------------------- /studio/share/layer/onion.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34 47.5 9 | 245 47.5 245 47.5 456 47.5 10 | 456 203 456 203 456 358.5 11 | 245 358.5 245 358.5 34 358.5 12 | 34 203 34 203 34 47.5 13 | 14 | 15 | 16 | 17 | 18 | 86 151.5 19 | 297 151.5 297 151.5 508 151.5 20 | 508 307 508 307 508 462.5 21 | 297 462.5 297 462.5 86 462.5 22 | 86 307 86 307 86 151.5 23 | 24 | 25 | 26 | 27 | 28 | 142 257.5 29 | 353 257.5 353 257.5 564 257.5 30 | 564 413 564 413 564 568.5 31 | 353 568.5 353 568.5 142 568.5 32 | 142 413 142 413 142 257.5 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /studio/share/layer/onion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/onion.png -------------------------------------------------------------------------------- /studio/share/layer/onion_layer.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34 568.5 9 | 245 568.5 245 568.5 456 568.5 10 | 456 413 456 413 456 257.5 11 | 245 257.5 245 257.5 34 257.5 12 | 34 413 34 413 34 568.5 13 | 14 | 15 | 16 | 17 | 18 | 86 464.5 19 | 297 464.5 297 464.5 508 464.5 20 | 508 309 508 309 508 153.5 21 | 297 153.5 297 153.5 86 153.5 22 | 86 309 86 309 86 464.5 23 | 24 | 25 | 26 | 27 | 28 | 142 358.5 29 | 353 358.5 353 358.5 564 358.5 30 | 564 203 564 203 564 47.5 31 | 353 47.5 353 47.5 142 47.5 32 | 142 203 142 203 142 358.5 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /studio/share/layer/onion_layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/onion_layer.png -------------------------------------------------------------------------------- /studio/share/layer/visible_false.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34.83 336.05 9 | 212 140 385 144 551.65 336.36 10 | 376 528 225 531 34.83 336.05 11 | 12 | 13 | 14 | 15 | 16 | 320 203 17 | 375 329 256 408 43 332 18 | 181 452 381 497 536 338 19 | 487 283 423 221 320 203 20 | 21 | 22 | 23 | 24 | 25 | 35 333 26 | 161 569 454 571 555 332 27 | 370 487 241 488 35 333 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /studio/share/layer/visible_false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/visible_false.png -------------------------------------------------------------------------------- /studio/share/layer/visible_true.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34.83 336.05 9 | 212 140 385 144 551.65 336.36 10 | 376 528 225 531 34.83 336.05 11 | 12 | 13 | 14 | 15 | 16 | 416 236 17 | 471 362 326 466 113 390 18 | 251 510 381 497 536 338 19 | 490 292 487 281 416 236 20 | 21 | 22 | 23 | 24 | 25 | 180.5 336.49 26 | 180.5 270.33 227.89 226.24 299 226.24 27 | 370.09 226.24 417.5 270.33 417.5 336.49 28 | 417.5 402.67 370.09 447.75 299 447.75 29 | 227.89 447.75 180.5 402.67 180.5 336.49 30 | 31 | 32 | 33 | 34 | 35 | 35 335 36 | 161 99 454 97 555 336 37 | 370 181 241 180 35 335 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /studio/share/layer/visible_true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/layer/visible_true.png -------------------------------------------------------------------------------- /studio/share/library/asset_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/library/asset_image.png -------------------------------------------------------------------------------- /studio/share/library/asset_kage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/library/asset_kage.png -------------------------------------------------------------------------------- /studio/share/library/asset_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/library/asset_video.png -------------------------------------------------------------------------------- /studio/share/timeline/loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/timeline/loop.png -------------------------------------------------------------------------------- /studio/share/timeline/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/timeline/next.png -------------------------------------------------------------------------------- /studio/share/timeline/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/timeline/play.png -------------------------------------------------------------------------------- /studio/share/timeline/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /studio/share/timeline/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/timeline/previous.png -------------------------------------------------------------------------------- /studio/share/timeline/rewind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/timeline/rewind.png -------------------------------------------------------------------------------- /studio/share/timeline/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio/share/timeline/stop.png -------------------------------------------------------------------------------- /studio/util/cairo/cairo_kage.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * cairo_kage.cpp 3 | * 4 | * Copyright 2020 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "cairo_kage.h" 25 | 26 | std::ofstream CairoKage::pngFile; 27 | 28 | Cairo::ErrorStatus CairoKage::writeToPNGStream(const unsigned char* data, unsigned int length) { 29 | if (CairoKage::pngFile.is_open() == false) { 30 | return CAIRO_STATUS_WRITE_ERROR; 31 | } 32 | 33 | CairoKage::pngFile.write((char*)data, length); 34 | 35 | return CAIRO_STATUS_SUCCESS; 36 | } 37 | 38 | bool CairoKage::writeToPNG(std::string p_path, Cairo::RefPtr p_surface) { 39 | CairoKage::pngFile.close(); 40 | 41 | CairoKage::pngFile.open(p_path.c_str(), std::ofstream::binary); 42 | if (CairoKage::pngFile.is_open() == true) { 43 | p_surface->write_to_png_stream(&CairoKage::writeToPNGStream); 44 | CairoKage::pngFile.close(); 45 | return true; 46 | } 47 | return false; 48 | } 49 | -------------------------------------------------------------------------------- /studio/util/cairo/cairo_kage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * cairo_kage.h 3 | * 4 | * Copyright 2020-2024 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef UTIL_CAIRO_KAGE_H 25 | #define UTIL_CAIRO_KAGE_H 26 | 27 | #include 28 | #include 29 | #include //ofstream 30 | 31 | class CairoKage { 32 | static std::ofstream pngFile; 33 | 34 | public: 35 | static Cairo::ErrorStatus writeToPNGStream(const unsigned char* data, unsigned int length); 36 | static bool writeToPNG(std::string p_path, Cairo::RefPtr p_surface); 37 | }; 38 | 39 | #endif //UTIL_CAIRO_KAGE_H 40 | -------------------------------------------------------------------------------- /studio/util/xml/Makefile: -------------------------------------------------------------------------------- 1 | BIN = testBasicXml 2 | CXX = g++ 3 | CXXFLAGS = -c -I./ -std=gnu++11 -fmax-errors=5 -Wfatal-errors -g 4 | CXXLINKS = 5 | 6 | SOURCES = \ 7 | xmltoken.cpp \ 8 | xmltagproperty.cpp \ 9 | xmltag.cpp \ 10 | xml.cpp \ 11 | testBasicXml.cpp 12 | 13 | OBJECTS = $(SOURCES:.cpp=.o) 14 | 15 | %.o : %.cpp 16 | $(CXX) $(CXXFLAGS) $< -o $@ 17 | 18 | all: kagestudio 19 | 20 | kagestudio: $(OBJECTS) 21 | @echo creating $(BIN) 22 | $(CXX) $(OBJECTS) -o $(BIN) $(CXXLINKS) 23 | 24 | clean: 25 | @echo deleting .o, and $(BIN) 26 | rm $(OBJECTS) $(BIN) 27 | -------------------------------------------------------------------------------- /studio/util/xml/README.txt: -------------------------------------------------------------------------------- 1 | HOW TO COMPILE BasicXML (on Windows 7) 2 | ====================================== 3 | 1 install MSYS2 if you haven't already 4 | 2 open MSYS and install 'toolchain', and 'make' via pacman 5 | 3 cd to this path 6 | 4 then type: 'make' 7 | 8 | 9 | HOW TO COMPILE BasicXML (on GNU/Linux) 10 | ====================================== 11 | 1 open Terminal and install 'g++' 12 | 2 cd to this path 13 | 3 type: 'make' 14 | -------------------------------------------------------------------------------- /studio/util/xml/test.xml: -------------------------------------------------------------------------------- 1 | 2 | -1245155018 3 | whispered 4 | 5 | cause 6 | 7 | various 8 | -138891336 9 | -1840037819 10 | -698510077.1676867 11 | 1298126983.0535011 12 | provide 13 | 14 | 941906022 15 | forgot 16 | colony 17 | development 18 | 19 | unknown 20 |
gulf
21 | name 22 |
23 | -------------------------------------------------------------------------------- /studio/util/xml/testBasicXml.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * testBasicXml.cpp 3 | * 4 | * Copyright 2019-2024 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "xml.h" 25 | using namespace std; 26 | 27 | int main() { 28 | string l_xmlData = BasicXml::openXMLFile("test.xml"); 29 | BasicXml l_xml; 30 | if (l_xml.setXML(l_xmlData)) { 31 | std::cout << l_xml.getXML(); 32 | } else { 33 | std::cout << "unable to setXML"; 34 | } 35 | 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /studio/util/xml/xmltag.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltag.h 3 | * 4 | * Copyright 2019-2024 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_XMLTAG_H 25 | #define KAGE_UTIL_XMLTAG_H 26 | 27 | #include 28 | #include 29 | #include 30 | #include "xmltagproperty.h" 31 | 32 | class XmlTag { 33 | public: 34 | XmlTag(); 35 | XmlTag(std::string p_name); 36 | XmlTag(std::string p_name, std::vector p_xmlTagProperties); 37 | virtual ~XmlTag(); 38 | 39 | void setName(std::string p_name); 40 | std::string getName(); 41 | void setProperties(std::vector p_xmlTagProperties); 42 | std::vector getProperties(); 43 | unsigned int addChild(XmlTag p_xmlTag); 44 | XmlTag getChild(unsigned int p_index); 45 | 46 | XmlTag clone(); 47 | std::string toString(); 48 | void copy(XmlTag p_xmlTag); 49 | bool equalTo(XmlTag p_xmlTag); 50 | std::vector _children; 51 | std::string _value; // values 52 | protected: 53 | std::string _name; 54 | std::vector _xmlTagProperties; 55 | }; 56 | #endif //KAGE_UTIL_XMLTAG_H 57 | -------------------------------------------------------------------------------- /studio/util/xml/xmltagproperty.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltagproperty.h 3 | * 4 | * Copyright 2019~2024 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_XMLTAGPROPERTY_H 25 | #define KAGE_UTIL_XMLTAGPROPERTY_H 26 | 27 | #include 28 | #include 29 | 30 | class XmlTagProperty { 31 | public: 32 | XmlTagProperty(); 33 | XmlTagProperty(std::string p_name, std::string p_value); 34 | virtual ~XmlTagProperty(); 35 | 36 | void setName(std::string p_name); 37 | void setValue(std::string p_value); 38 | std::string getName(); 39 | std::string getValue(); 40 | XmlTagProperty clone(); 41 | std::string toString(); 42 | void copy(XmlTagProperty p_xmlTagProperty); 43 | bool equalTo(XmlTagProperty p_xmlTagProperty); 44 | protected: 45 | std::string _name; 46 | std::string _value; 47 | }; 48 | #endif //KAGE_UTIL_XMLTAGPROPERTY_H 49 | -------------------------------------------------------------------------------- /studio/util/xml/xmltoken.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltoken.cpp 3 | * 4 | * Copyright 2019~2024 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "xmltoken.h" 25 | 26 | XmlToken::XmlToken() { 27 | setValue(""); 28 | } 29 | 30 | XmlToken::XmlToken(std::string p_value) { 31 | setValue(p_value); 32 | } 33 | 34 | XmlToken::~XmlToken() { 35 | // 36 | } 37 | 38 | void XmlToken::setValue(std::string p_value) { 39 | _value = p_value; 40 | } 41 | 42 | std::string XmlToken::getValue() { 43 | return _value; 44 | } 45 | -------------------------------------------------------------------------------- /studio/util/xml/xmltoken.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltoken.h 3 | * 4 | * Copyright 2019~2024 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_XML_TOKEN_H 25 | #define KAGE_UTIL_XML_TOKEN_H 26 | 27 | #include 28 | #include 29 | 30 | class XmlToken { 31 | public: 32 | XmlToken(); 33 | XmlToken(std::string p_value); 34 | virtual ~XmlToken(); 35 | 36 | void setValue(std::string p_value); 37 | std::string getValue(); 38 | 39 | protected: 40 | std::string _value; 41 | }; 42 | #endif //KAGE_UTIL_XML_TOKEN_H 43 | -------------------------------------------------------------------------------- /studio_gtkmm4/Makefile.gnu: -------------------------------------------------------------------------------- 1 | # Makefile for KageStudio 2 | BIN = kagestudio 3 | CXX = g++ 4 | CXXFLAGS = -c -I./ `pkg-config gtkmm-4.0 glibmm-2.68 --cflags | sed 's/ -I/ -isystem /g'` -std=gnu++17 -fmax-errors=5 -Wfatal-errors 5 | CXXLINKS = `pkg-config gtkmm-4.0 glibmm-2.68 --libs | sed 's/ -I/ -isystem /g'` 6 | 7 | SOURCES = \ 8 | ./kage/data/anchor.cpp \ 9 | ./kage/data/point.cpp \ 10 | ./kage/data/color.cpp \ 11 | ./kage/data/strokecolor.cpp \ 12 | ./kage/data/vectordata.cpp \ 13 | ./kage/timeline/frame.cpp \ 14 | ./kage/timeline/frame_padding.cpp \ 15 | ./kage/timeline/frameset.cpp \ 16 | ./kage/timeline/framesmanager.cpp \ 17 | ./kage/timeline/layer.cpp \ 18 | ./kage/timeline/layermanager.cpp \ 19 | ./kage/unre/kagedo.cpp \ 20 | ./kage/unre/unre.cpp \ 21 | ./kage/stage.cpp \ 22 | ./kage/stage_node.cpp \ 23 | ./kage/stage_oval.cpp \ 24 | ./kage/stage_poly.cpp \ 25 | ./kage/stage_rect.cpp \ 26 | ./kage/stage_pencil.cpp \ 27 | ./kage/stage_shape.cpp \ 28 | ./kage/vectordatamanager.cpp \ 29 | ./util/xml/xmltoken.cpp \ 30 | ./util/xml/xmltagproperty.cpp \ 31 | ./util/xml/xmltag.cpp \ 32 | ./util/xml/xml.cpp \ 33 | ./util/string/stringhelper.cpp \ 34 | ./util/cairo/cairo_kage.cpp \ 35 | kage.cpp \ 36 | gtkkageapp.cpp \ 37 | resources.cpp \ 38 | about.cpp \ 39 | layer_rename.cpp \ 40 | main.cpp 41 | 42 | OBJECTS = $(SOURCES:.cpp=.o) 43 | 44 | %.o : %.cpp 45 | $(CXX) $(CXXFLAGS) $< -o $@ 46 | 47 | all: kagestudio 48 | 49 | resource: 50 | glib-compile-resources --generate-source --target=resources.cpp image.gresource.xml 51 | 52 | kagestudio: $(OBJECTS) 53 | @echo creating $(BIN) 54 | $(CXX) $(OBJECTS) -o $(BIN) $(CXXLINKS) 55 | 56 | clean: 57 | @echo deleting .o, and $(BIN) 58 | rm $(OBJECTS) $(BIN) 59 | -------------------------------------------------------------------------------- /studio_gtkmm4/Makefile.mac: -------------------------------------------------------------------------------- 1 | # Makefile for KageStudio 2 | BIN = kagestudio 3 | CXX = g++ 4 | CXXFLAGS = -c -I./ `pkg-config gtkmm-4.0 glibmm-2.68 --cflags | sed 's/ -I/ -isystem /g'` -std=gnu++17 -Wfatal-errors 5 | CXXLINKS = -v `pkg-config gtkmm-4.0 glibmm-2.68 --libs | sed 's/ -I/ -isystem /g'` 6 | 7 | SOURCES = \ 8 | ./kage/data/anchor.cpp \ 9 | ./kage/data/point.cpp \ 10 | ./kage/data/color.cpp \ 11 | ./kage/data/strokecolor.cpp \ 12 | ./kage/data/vectordata.cpp \ 13 | ./kage/timeline/frame.cpp \ 14 | ./kage/timeline/frame_padding.cpp \ 15 | ./kage/timeline/frameset.cpp \ 16 | ./kage/timeline/framesmanager.cpp \ 17 | ./kage/timeline/layer.cpp \ 18 | ./kage/timeline/layermanager.cpp \ 19 | ./kage/unre/kagedo.cpp \ 20 | ./kage/unre/unre.cpp \ 21 | ./kage/stage.cpp \ 22 | ./kage/stage_node.cpp \ 23 | ./kage/stage_oval.cpp \ 24 | ./kage/stage_poly.cpp \ 25 | ./kage/stage_rect.cpp \ 26 | ./kage/stage_pencil.cpp \ 27 | ./kage/stage_shape.cpp \ 28 | ./kage/vectordatamanager.cpp \ 29 | ./util/xml/xmltoken.cpp \ 30 | ./util/xml/xmltagproperty.cpp \ 31 | ./util/xml/xmltag.cpp \ 32 | ./util/xml/xml.cpp \ 33 | ./util/string/stringhelper.cpp \ 34 | ./util/cairo/cairo_kage.cpp \ 35 | kage.cpp \ 36 | gtkkageapp.cpp \ 37 | resources.cpp \ 38 | about.cpp \ 39 | layer_rename.cpp \ 40 | main.cpp 41 | 42 | OBJECTS = $(SOURCES:.cpp=.o) 43 | 44 | %.o : %.cpp 45 | $(CXX) $(CXXFLAGS) $< -o $@ 46 | 47 | all: kagestudio 48 | 49 | resource: 50 | glib-compile-resources --generate-source --target=resources.cpp image.gresource.xml 51 | 52 | kagestudio: $(OBJECTS) 53 | @echo creating $(BIN) 54 | $(CXX) $(OBJECTS) -o $(BIN) $(CXXLINKS) 55 | 56 | clean: 57 | @echo deleting .o, and $(BIN) 58 | rm $(OBJECTS) $(BIN) 59 | -------------------------------------------------------------------------------- /studio_gtkmm4/Makefile.win: -------------------------------------------------------------------------------- 1 | # Makefile for KageStudio 2 | BIN = kagestudio.exe 3 | CXX = g++ 4 | CXXFLAGS = -c -I./ -isystem /c/msys64/mingw64/include/c++/12.1.0/ `pkg-config gtkmm-4.0 glibmm-2.68 --cflags | sed 's/ -I/ -isystem /g'` -std=gnu++17 -fmax-errors=5 -Wfatal-errors -g -D KAGE_DEBUG -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED 5 | CXXLINKS = `pkg-config gtkmm-4.0 glibmm-2.68 --libs | sed 's/ -I/ -isystem /g'` 6 | 7 | 8 | RES = windres 9 | RESFILE = kage.res 10 | RCFILE = kage.rc 11 | 12 | SOURCES = \ 13 | ./kage/data/anchor.cpp \ 14 | ./kage/data/point.cpp \ 15 | ./kage/data/color.cpp \ 16 | ./kage/data/strokecolor.cpp \ 17 | ./kage/data/vectordata.cpp \ 18 | ./kage/timeline/frame.cpp \ 19 | ./kage/timeline/frame_padding.cpp \ 20 | ./kage/timeline/frameset.cpp \ 21 | ./kage/timeline/framesmanager.cpp \ 22 | ./kage/timeline/layer.cpp \ 23 | ./kage/timeline/layermanager.cpp \ 24 | ./kage/unre/kagedo.cpp \ 25 | ./kage/unre/unre.cpp \ 26 | ./kage/stage.cpp \ 27 | ./kage/stage_node.cpp \ 28 | ./kage/stage_oval.cpp \ 29 | ./kage/stage_poly.cpp \ 30 | ./kage/stage_rect.cpp \ 31 | ./kage/stage_pencil.cpp \ 32 | ./kage/stage_shape.cpp \ 33 | ./kage/vectordatamanager.cpp \ 34 | ./util/xml/xmltoken.cpp \ 35 | ./util/xml/xmltagproperty.cpp \ 36 | ./util/xml/xmltag.cpp \ 37 | ./util/xml/xml.cpp \ 38 | ./util/string/stringhelper.cpp \ 39 | ./util/cairo/cairo_kage.cpp \ 40 | kage.cpp \ 41 | gtkkageapp.cpp \ 42 | resources.cpp \ 43 | about.cpp \ 44 | layer_rename.cpp \ 45 | main.cpp 46 | 47 | OBJECTS = $(SOURCES:.cpp=.o) 48 | 49 | %.o : %.cpp 50 | $(CXX) $(CXXFLAGS) $< -o $@ 51 | 52 | all: kagestudio 53 | 54 | resource: 55 | glib-compile-resources --generate-source --target=resources.cpp image.gresource.xml 56 | 57 | $(RESFILE): 58 | glib-compile-resources --generate-source --target=resources.cpp image.gresource.xml 59 | $(RES) $(RCFILE) -O coff -o $(RESFILE) 60 | 61 | kagestudio: $(RESFILE) $(OBJECTS) 62 | @echo creating $(BIN) 63 | $(CXX) $(OBJECTS) $(RESFILE) -o $(BIN) $(CXXLINKS) 64 | 65 | clean: 66 | @echo deleting .o, $(RESFILE), and $(BIN) 67 | rm $(OBJECTS) $(RESFILE) $(BIN) 68 | -------------------------------------------------------------------------------- /studio_gtkmm4/about.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_ABOUT_H 23 | #define GTKMM_KAGE_ABOUT_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | // #include 31 | #include 32 | 33 | using namespace std; 34 | 35 | class KageAbout : public Gtk::Dialog { 36 | public: 37 | KageAbout(Gtk::Window& parent); 38 | virtual ~KageAbout(); 39 | static string app_version; 40 | static string app_title; 41 | static string app_author; 42 | static string app_contact; 43 | static string app_website; 44 | static string app_copyright; 45 | static string app_comment; 46 | static Glib::RefPtr imageABOUT; 47 | 48 | protected: 49 | //Member widgets: 50 | Gtk::Box m_VBox; 51 | Gtk::Box m_HBox; 52 | Gtk::Grid m_Table; 53 | Gtk::Label m_Label1, m_Label2; 54 | }; 55 | #endif //GTKMM_KAGE_ABOUT_H 56 | -------------------------------------------------------------------------------- /studio_gtkmm4/gtkkageapp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_APP_H 23 | #define GTKMM_KAGE_APP_H 24 | 25 | #include 26 | #include 27 | 28 | #include 29 | 30 | #include "about.h" 31 | 32 | using namespace std; 33 | 34 | class Kage; 35 | 36 | class GtkKageApp: public Gtk::Application { 37 | protected: 38 | GtkKageApp(string p_path); 39 | string _path; 40 | 41 | public: 42 | static Glib::RefPtr create(string p_path); 43 | 44 | protected: 45 | // Override default signal handlers: 46 | void on_startup() override; 47 | void on_activate() override; 48 | void on_open(const Gio::Application::type_vec_files& files, 49 | const Glib::ustring& hint) override; 50 | 51 | Glib::RefPtr m_refBuilder; 52 | 53 | private: 54 | Kage* create_appwindow(); 55 | void on_hide_window(Gtk::Window* window); 56 | }; 57 | 58 | #endif //GTKMM_KAGE_APP_H 59 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/kage.ico -------------------------------------------------------------------------------- /studio_gtkmm4/kage.rc: -------------------------------------------------------------------------------- 1 | id ICON "kage.ico" 2 | 1 VERSIONINFO 3 | FILEVERSION 0,5,2202,25 4 | PRODUCTVERSION 0,5,2202,25 5 | BEGIN 6 | BLOCK "StringFileInfo" 7 | BEGIN 8 | BLOCK "040904E4" 9 | BEGIN 10 | VALUE "CompanyName", "Krixware Studios" 11 | VALUE "FileDescription", "Kage Animation Tool" 12 | VALUE "FileVersion", "0.5.2202" 13 | VALUE "InternalName", "kage_studio" 14 | VALUE "LegalCopyright", "Copyright © 2011-2022 Krixware Studios" 15 | VALUE "OriginalFilename", "kagestudio.exe" 16 | VALUE "ProductName", "Kage Studio" 17 | VALUE "ProductVersion", "0.5.2202" 18 | END 19 | END 20 | 21 | BLOCK "VarFileInfo" 22 | BEGIN 23 | VALUE "Translation", 0x409, 1252 24 | END 25 | END 26 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/kage.res -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/anchor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "anchor.h" 23 | #include 24 | 25 | AnchorData::AnchorData() : PointData() { 26 | rotation = 0; 27 | } 28 | 29 | AnchorData::AnchorData(double p_x, double p_y) : PointData(p_x, p_y) { 30 | rotation = 0; 31 | } 32 | 33 | AnchorData AnchorData::clone() { 34 | AnchorData l_p(x, y); 35 | return l_p; 36 | } 37 | 38 | AnchorData::~AnchorData() { 39 | // 40 | } 41 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/anchor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_ANCHOR_H 23 | #define GTKMM_KAGE_DATA_ANCHOR_H 24 | 25 | //#include 26 | #include "point.h" 27 | 28 | class AnchorData: public PointData { 29 | public: 30 | enum type { 31 | TYPE_NONE, 32 | TYPE_NORTH, 33 | TYPE_EAST, 34 | TYPE_WEST, 35 | TYPE_SOUTH, 36 | TYPE_NORTH_EAST, 37 | TYPE_NORTH_WEST, 38 | TYPE_SOUTH_EAST, 39 | TYPE_SOUTH_WEST, 40 | TYPE_MOVE, 41 | TYPE_ROTATE 42 | }; 43 | AnchorData(); 44 | AnchorData(double p_x, double p_y); 45 | virtual ~AnchorData(); 46 | 47 | AnchorData clone(); 48 | //const AnchorData& operator=( const AnchorData& p_origin ); 49 | 50 | unsigned int rotation; 51 | protected: 52 | }; 53 | #endif //GTKMM_KAGE_DATA_POINT_H 54 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/color.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_COLOR_H 23 | #define GTKMM_KAGE_DATA_COLOR_H 24 | 25 | #include 26 | #include 27 | 28 | class ColorData { 29 | public: 30 | ColorData(); 31 | ColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b); 32 | ColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b, unsigned int p_a); 33 | virtual ~ColorData(); 34 | 35 | void setR(unsigned int p_r); 36 | void setG(unsigned int p_g); 37 | void setB(unsigned int p_b); 38 | void setA(unsigned int p_a); 39 | unsigned int getR() const; 40 | unsigned int getG() const; 41 | unsigned int getB() const; 42 | unsigned int getA() const; 43 | ColorData clone(); 44 | std::string toString(); 45 | void copy(ColorData p_color); 46 | bool equalTo(ColorData p_color); 47 | protected: 48 | unsigned int R; 49 | unsigned int G; 50 | unsigned int B; 51 | unsigned int A; 52 | }; 53 | #endif //GTKMM_KAGE_DATA_COLOR_H 54 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/point.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "point.h" 23 | #include "../../kage.h" 24 | #include 25 | 26 | PointData::PointData() { 27 | x = 0; 28 | y = 0; 29 | debug_id = PointData::debug_pts++; 30 | } 31 | 32 | PointData::PointData(double p_x, double p_y) { 33 | x = (double) (((double)((int)(p_x*100)))/100); 34 | y = (double) (((double)((int)(p_y*100)))/100); 35 | debug_id = PointData::debug_pts++; 36 | } 37 | 38 | PointData PointData::clone() { 39 | PointData l_p(x, y); 40 | return l_p; 41 | } 42 | 43 | PointData::~PointData() { 44 | // 45 | } 46 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/point.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_POINT_H 23 | #define GTKMM_KAGE_DATA_POINT_H 24 | 25 | //#include 26 | 27 | class PointData { 28 | public: 29 | PointData(); 30 | PointData(double p_x, double p_y); 31 | virtual ~PointData(); 32 | 33 | PointData clone(); 34 | //const PointData& operator=( const PointData& p_origin ); 35 | 36 | double x; 37 | double y; 38 | unsigned int debug_id; 39 | static unsigned int debug_pts; 40 | protected: 41 | }; 42 | #endif //GTKMM_KAGE_DATA_POINT_H 43 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/strokecolor.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "strokecolor.h" 23 | 24 | StrokeColorData::StrokeColorData() { 25 | thickness = 0; 26 | } 27 | 28 | StrokeColorData::StrokeColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b) : ColorData(p_r, p_g, p_b) { 29 | thickness = 0; 30 | } 31 | 32 | StrokeColorData::StrokeColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b, unsigned int p_a) : ColorData(p_r, p_g, p_b, p_a) { 33 | thickness = 0; 34 | } 35 | 36 | StrokeColorData StrokeColorData::clone() { 37 | StrokeColorData s(getR(), getG(), getB(), getA()); 38 | s.setThickness(getThickness()); 39 | return s; 40 | } 41 | 42 | StrokeColorData::StrokeColorData(double p_thickness) { 43 | setThickness(p_thickness); 44 | } 45 | 46 | StrokeColorData::~StrokeColorData() { 47 | // 48 | } 49 | 50 | void StrokeColorData::setThickness(double p_thickness) { 51 | if (p_thickness < 0) { 52 | p_thickness = 0; 53 | } 54 | thickness = p_thickness; 55 | } 56 | 57 | double StrokeColorData::getThickness() const { 58 | return thickness; 59 | } 60 | 61 | std::string StrokeColorData::toString() const { 62 | std::ostringstream l_ostringstream; 63 | l_ostringstream << "(" << R << ", " << G << ", " << B << ", " << A << ", " << thickness << ")"; 64 | return l_ostringstream.str(); 65 | } 66 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/strokecolor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_DATA_STROKECOLOR_H 23 | #define GTKMM_KAGE_DATA_STROKECOLOR_H 24 | 25 | #include "color.h" 26 | 27 | class StrokeColorData: public ColorData { 28 | public: 29 | StrokeColorData(); 30 | StrokeColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b); 31 | StrokeColorData(unsigned int p_r, unsigned int p_g, unsigned int p_b, unsigned int p_a); 32 | StrokeColorData(double p_thickness); 33 | virtual ~StrokeColorData(); 34 | 35 | //ColorData color; 36 | void setThickness(double p_thickness); 37 | double getThickness() const; 38 | StrokeColorData clone(); 39 | std::string toString() const; 40 | protected: 41 | double thickness; 42 | }; 43 | #endif //GTKMM_KAGE_DATA_STROKECOLOR_H 44 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/data/vectordata.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include "vectordata.h" 23 | #include "../../kage.h" 24 | 25 | VectorData::VectorData() { 26 | count = 0; 27 | } 28 | VectorData::VectorData(type p_type) { 29 | count = 0; 30 | setType(p_type); 31 | } 32 | 33 | VectorData::~VectorData() { 34 | points.clear(); 35 | } 36 | 37 | void VectorData::setType(type p_type) { 38 | if (p_type >= TYPE_FILL || p_type <= TYPE_IMAGE) { 39 | vectorType = p_type; 40 | } 41 | } 42 | 43 | VectorData::type VectorData::getType() const { 44 | return vectorType; 45 | } 46 | 47 | void VectorData::setPoints(vector p_points) { 48 | points = p_points; 49 | count = p_points.size(); 50 | } 51 | 52 | vector VectorData::getPoints() { 53 | return points; 54 | } 55 | 56 | VectorData VectorData::clone() { 57 | VectorData l_vectorData(getType()); 58 | vector l_points; 59 | for (unsigned int i = 0; i < count; ++i) { 60 | l_points.push_back(points[i].clone()); 61 | } 62 | l_vectorData.setPoints(l_points); 63 | l_vectorData.stroke = stroke.clone(); 64 | l_vectorData.fillColor = fillColor.clone(); 65 | 66 | return l_vectorData; 67 | } 68 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/timeline/frame_padding.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #include 23 | #include 24 | #include // set_source_pixbuf() 25 | #include 26 | 27 | #include "frame_padding.h" 28 | #include "framesmanager.h" 29 | #include "../../kage.h" 30 | 31 | #include 32 | 33 | KageFramePadding::KageFramePadding() { 34 | //set_state_flags(Gtk::STATE_FLAG_NORMAL); 35 | set_size_request(8, 20); 36 | } 37 | 38 | KageFramePadding::~KageFramePadding() { 39 | // 40 | } 41 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/timeline/frame_padding.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_FRAME_PADDING_H 23 | #define GTKMM_KAGE_FRAME_PADDING_H 24 | 25 | #include 26 | #include 27 | 28 | class KageFramePadding : public Gtk::DrawingArea { 29 | public: 30 | KageFramePadding(); 31 | virtual ~KageFramePadding(); 32 | }; 33 | #endif // GTKMM_KAGE_FRAME_PADDING_H 34 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/unre/kagedo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_MANAGER_UNRE_KAGEDO_H 23 | #define GTKMM_KAGE_MANAGER_UNRE_KAGEDO_H 24 | 25 | #include 26 | 27 | #include "../data/vectordata.h" 28 | 29 | using namespace std; 30 | 31 | class KageDo { 32 | public: 33 | unsigned int _frame; 34 | unsigned int _layer; 35 | KageDo(); 36 | KageDo(unsigned int p_layer, unsigned int p_frame); 37 | virtual ~KageDo(); 38 | 39 | void setVectorData(vector p_vectorData); 40 | vector getVectorData(); 41 | KageDo clone(); 42 | 43 | void clear(); 44 | 45 | void push(KageDo p_vectorsData); 46 | 47 | bool isEmpty(); 48 | protected: 49 | void add(VectorData::type p_type, ColorData p_fill, StrokeColorData p_stroke); 50 | 51 | vector _vectorData; 52 | }; 53 | #endif //GTKMM_KAGE_MANAGER_UNRE_KAGEDO_H 54 | -------------------------------------------------------------------------------- /studio_gtkmm4/kage/unre/unre.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_MANAGER_UNRE_UNRE_H 23 | #define GTKMM_KAGE_MANAGER_UNRE_UNRE_H 24 | 25 | #include 26 | #include 27 | 28 | #include "../data/vectordata.h" 29 | #include "../data/point.h" 30 | 31 | #include "kagedo.h" 32 | 33 | using namespace std; 34 | 35 | class UnRe { 36 | public: 37 | UnRe(); 38 | virtual ~UnRe(); 39 | 40 | void stackDo(unsigned int p_layer, unsigned int p_frame, vector p_data); 41 | KageDo undo(); 42 | KageDo redo(); 43 | KageDo previewUndo(); 44 | 45 | void clear(); 46 | 47 | void applyZoom(PointData p_originBefore, PointData p_originAfter, PointData p_zoomReference, double p_zoomRatio); 48 | protected: 49 | unsigned int _stackIndex; 50 | vector _undoStack; 51 | 52 | ///for use of applyZoom 53 | PointData applyZoomRatio(PointData p_zoomReference, double p_zoomRatio, PointData p_value); 54 | }; 55 | #endif //GTKMM_KAGE_MANAGER_UNRE_UNRE_H 56 | -------------------------------------------------------------------------------- /studio_gtkmm4/kagestudio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/kagestudio -------------------------------------------------------------------------------- /studio_gtkmm4/kagestudio.code-workspace: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "folders": [ 4 | { 5 | "path": "."//;/usr/local/Cellar/gtkmm4/4.6.1/include/gtkmm-4.0/" 6 | } 7 | ], 8 | "editor.acceptSuggestionOnCommitCharacter": true, 9 | "editor.acceptSuggestionOnEnter": "on", 10 | "editor.suggestOnTriggerCharacters": true, 11 | "editor.suggest.localityBonus": true, 12 | "editor.wordBasedSuggestions": true, 13 | "editor.parameterHints.enabled": true, 14 | "settings": { 15 | "files.associations": { 16 | "iostream": "cpp", 17 | "ostream": "cpp", 18 | "string": "cpp", 19 | "array": "cpp", 20 | "atomic": "cpp", 21 | "bit": "cpp", 22 | "*.tcc": "cpp", 23 | "cctype": "cpp", 24 | "chrono": "cpp", 25 | "clocale": "cpp", 26 | "cmath": "cpp", 27 | "compare": "cpp", 28 | "concepts": "cpp", 29 | "condition_variable": "cpp", 30 | "cstdarg": "cpp", 31 | "cstddef": "cpp", 32 | "cstdint": "cpp", 33 | "cstdio": "cpp", 34 | "cstdlib": "cpp", 35 | "cstring": "cpp", 36 | "ctime": "cpp", 37 | "cwchar": "cpp", 38 | "cwctype": "cpp", 39 | "deque": "cpp", 40 | "list": "cpp", 41 | "map": "cpp", 42 | "unordered_map": "cpp", 43 | "vector": "cpp", 44 | "exception": "cpp", 45 | "algorithm": "cpp", 46 | "functional": "cpp", 47 | "iterator": "cpp", 48 | "memory": "cpp", 49 | "memory_resource": "cpp", 50 | "numeric": "cpp", 51 | "random": "cpp", 52 | "ratio": "cpp", 53 | "string_view": "cpp", 54 | "system_error": "cpp", 55 | "tuple": "cpp", 56 | "type_traits": "cpp", 57 | "utility": "cpp", 58 | "fstream": "cpp", 59 | "initializer_list": "cpp", 60 | "iosfwd": "cpp", 61 | "istream": "cpp", 62 | "limits": "cpp", 63 | "mutex": "cpp", 64 | "new": "cpp", 65 | "numbers": "cpp", 66 | "semaphore": "cpp", 67 | "sstream": "cpp", 68 | "stdexcept": "cpp", 69 | "stop_token": "cpp", 70 | "streambuf": "cpp", 71 | "thread": "cpp", 72 | "cinttypes": "cpp", 73 | "typeinfo": "cpp", 74 | "valarray": "cpp" 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /studio_gtkmm4/ksf.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/ksf.ico -------------------------------------------------------------------------------- /studio_gtkmm4/layer_rename.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * MA 02110-1301, USA. Or, see . 19 | * 20 | */ 21 | 22 | #ifndef GTKMM_KAGE_LAYER_RENAME_H 23 | #define GTKMM_KAGE_LAYER_RENAME_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include "kage/timeline/layer.h" 31 | #include 32 | 33 | using namespace std; 34 | 35 | class LayerRenameDialog : public Gtk::Dialog { 36 | public: 37 | LayerRenameDialog(Gtk::Window& parent, KageLayer *p_layer); 38 | virtual ~LayerRenameDialog(); 39 | 40 | void EntryLayerLabel_onEnter(); 41 | protected: 42 | //Member widgets: 43 | Gtk::Box m_HBox; 44 | Gtk::Label _label; 45 | Gtk::Entry _txtLabel; 46 | 47 | KageLayer *_layer; 48 | }; 49 | #endif //GTKMM_KAGE_LAYER_RENAME_H 50 | -------------------------------------------------------------------------------- /studio_gtkmm4/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Kage Studio - a simple free and open source vector-based 2D animation software 3 | * Copyright (C) 2011~2022 Mj Mendoza IV 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program 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 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. Or, see . 20 | * 21 | */ 22 | //#include "kage.h" 23 | 24 | #include "gtkkageapp.h" 25 | #include 26 | 27 | using namespace std; 28 | 29 | vector g_argv; 30 | vector argHandler(int &argc, char *argv[]) { 31 | int i; 32 | vector l_argv; 33 | string l_tmp; 34 | for (i = 0; i < argc; ++i) { 35 | l_argv.push_back(argv[i]); 36 | } 37 | return l_argv; 38 | } 39 | 40 | int main(int argc, char* argv[]) { 41 | g_argv = argHandler(argc, argv); 42 | //App_Path = getFilePath(g_argv[0]); 43 | //App_EXEName = getFileName(g_argv[0]); 44 | string l_filePath = ""; 45 | cout << "KAGE g_argv " << g_argv.size() << endl; 46 | if (g_argv.size() > 0) { 47 | if (g_argv.size() > 1) { 48 | l_filePath = g_argv[1]; 49 | } 50 | for (unsigned int i = 0; i < g_argv.size(); ++i) { 51 | cout << " * `" << g_argv[i] << "'" << endl; 52 | } 53 | } 54 | 55 | auto application = GtkKageApp::create(l_filePath); 56 | 57 | // Start the application, showing the initial window, 58 | // and opening extra views for any files that it is asked to open, 59 | // for instance as a command-line parameter. 60 | // run() will return when the last window has been closed. 61 | return application->run(); 62 | } -------------------------------------------------------------------------------- /studio_gtkmm4/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | type README.txt 3 | pause -------------------------------------------------------------------------------- /studio_gtkmm4/notes_on_gradient: -------------------------------------------------------------------------------- 1 | //KS 2 | 440.57 439.12 3 | 4 | 5 | 404.9 427.45 6 | 416.35 413.66 413.56 409.66 424.73 395.64 7 | 452.62 407.13 460.25 416.29 476.25 454.81 8 | 473.99 468.45 469.29 476.63 453.31 482.6 9 | 428.29 469.6 424.2 461.64 404.9 427.45 10 | 11 | 12 | 13 | //SVG 14 | 24 | 27 | 31 | 35 | 36 | 45 | -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/README.txt: -------------------------------------------------------------------------------- 1 | #FFFFFF blank 2 | 3 | #3D3D3D drawn 4 | 5 | #FFA27F selected blank 6 | 7 | #A2A2FA tween blank 8 | #4646F6 tween drawn 9 | #414199 tween selected drawn? 10 | #D0A2BC tween selected blank -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_cur_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_cur_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_cur_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_cur_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_cur_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_cur_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/blank_x_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/blank_x_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_cur_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_cur_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_cur_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_cur_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_cur_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_cur_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_cur_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_cur_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_cur_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_sel.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_sel_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_sel_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/drawn_x_twn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/drawn_x_twn.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/null.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/null.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/null_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/null_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/null_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/null_x.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/frame/null_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/frame/null_x_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Eraser.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Eraser_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Eraser_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Eyedrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Eyedrop.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Eyedrop_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Eyedrop_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Fill.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Fill_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Fill_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Marquee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Marquee.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Marquee_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Marquee_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Node.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Node_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Node_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Oval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Oval.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Oval_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Oval_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Pencil.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Pencil_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Pencil_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Poly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Poly.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Poly_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Poly_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Rectangle.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Rectangle_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Rectangle_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Select.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Select_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Select_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Stroke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Stroke.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Stroke_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Stroke_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Text.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Text_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Text_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Zoom.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/Zoom_tango.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/Zoom_tango.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/about.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/default.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/kagestudio-document.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 301.52 299.43 6 | 7 | 8 | 69.98 9.25 9 | 302.51 9.25 302.51 9.25 535.01 9.25 10 | 535.01 299.99 535.01 299.99 535.01 591.51 11 | 302.51 591.51 302.51 591.51 69.98 591.51 12 | 69.98 299.99 69.98 299.99 69.98 9.25 13 | 14 | 15 | 297.5 208.09 16 | 17 | 18 | 77 14.99 19 | 297.5 14.99 297.5 14.99 518 14.99 20 | 211.88 78.09 418 497 77 573 21 | 77 378.98 77 208.64 77 14.99 22 | 23 | 24 | 303 400.27 25 | 26 | 27 | 529.01 575.99 28 | 303 575.99 303 575.99 77 575.99 29 | 516.01 527 307 309 529.01 308 30 | 529.01 400.76 529.01 482.4 529.01 575.99 31 | 32 | 33 | 323.5 293 34 | 35 | 36 | 200 100 37 | 200 305 200 285 200 490.01 38 | 198 534.01 260 535.99 260 490.01 39 | 260 440.01 260 460.01 260 410.01 40 | 284.75 390.01 284.75 390.01 309.5 370.01 41 | 352.75 435.51 352.75 435.51 396.01 500.99 42 | 421.01 540.01 473 510.01 445.01 468 43 | 399.51 401.01 399.51 401.01 354 334.01 44 | 399.51 293.5 399.51 293.5 445.01 253 45 | 480.01 220 437.01 182 401.01 212 46 | 330.5 273.5 330.5 273.5 260 335.01 47 | 260 224.5 260 210.5 260 100 48 | 261 60.99 199 61.99 200 100 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/ksf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/ksf.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_000.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_045.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_090.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_135.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_135.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_move.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_ne.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_nw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_nw.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_rotate.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_se.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/shape_sw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/shape_sw.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/icons/straighten.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/icons/straighten.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/layer_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/layer_add.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/layer_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/layer_delete.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/locked_false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/locked_false.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/locked_true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/locked_true.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/move_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/move_bottom.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/move_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/move_down.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/move_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/move_top.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/move_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/move_up.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/onion.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34 47.5 9 | 245 47.5 245 47.5 456 47.5 10 | 456 203 456 203 456 358.5 11 | 245 358.5 245 358.5 34 358.5 12 | 34 203 34 203 34 47.5 13 | 14 | 15 | 16 | 17 | 18 | 86 151.5 19 | 297 151.5 297 151.5 508 151.5 20 | 508 307 508 307 508 462.5 21 | 297 462.5 297 462.5 86 462.5 22 | 86 307 86 307 86 151.5 23 | 24 | 25 | 26 | 27 | 28 | 142 257.5 29 | 353 257.5 353 257.5 564 257.5 30 | 564 413 564 413 564 568.5 31 | 353 568.5 353 568.5 142 568.5 32 | 142 413 142 413 142 257.5 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/onion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/onion.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/onion_layer.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34 568.5 9 | 245 568.5 245 568.5 456 568.5 10 | 456 413 456 413 456 257.5 11 | 245 257.5 245 257.5 34 257.5 12 | 34 413 34 413 34 568.5 13 | 14 | 15 | 16 | 17 | 18 | 86 464.5 19 | 297 464.5 297 464.5 508 464.5 20 | 508 309 508 309 508 153.5 21 | 297 153.5 297 153.5 86 153.5 22 | 86 309 86 309 86 464.5 23 | 24 | 25 | 26 | 27 | 28 | 142 358.5 29 | 353 358.5 353 358.5 564 358.5 30 | 564 203 564 203 564 47.5 31 | 353 47.5 353 47.5 142 47.5 32 | 142 203 142 203 142 358.5 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/onion_layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/onion_layer.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/visible_false.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34.83 336.05 9 | 212 140 385 144 551.65 336.36 10 | 376 528 225 531 34.83 336.05 11 | 12 | 13 | 14 | 15 | 16 | 320 203 17 | 375 329 256 408 43 332 18 | 181 452 381 497 536 338 19 | 487 283 423 221 320 203 20 | 21 | 22 | 23 | 24 | 25 | 35 333 26 | 161 569 454 571 555 332 27 | 370 487 241 488 35 333 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/visible_false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/visible_false.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/visible_true.ksf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 34.83 336.05 9 | 212 140 385 144 551.65 336.36 10 | 376 528 225 531 34.83 336.05 11 | 12 | 13 | 14 | 15 | 16 | 416 236 17 | 471 362 326 466 113 390 18 | 251 510 381 497 536 338 19 | 490 292 487 281 416 236 20 | 21 | 22 | 23 | 24 | 25 | 180.5 336.49 26 | 180.5 270.33 227.89 226.24 299 226.24 27 | 370.09 226.24 417.5 270.33 417.5 336.49 28 | 417.5 402.67 370.09 447.75 299 447.75 29 | 227.89 447.75 180.5 402.67 180.5 336.49 30 | 31 | 32 | 33 | 34 | 35 | 35 335 36 | 161 99 454 97 555 336 37 | 370 181 241 180 35 335 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /studio_gtkmm4/share/layer/visible_true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/layer/visible_true.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/selected.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/selected_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/selected_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/selected_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/selected_x.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/selected_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/selected_x_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/tween.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/tween.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/tween_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/tween_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/tween_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/tween_x.png -------------------------------------------------------------------------------- /studio_gtkmm4/share/tween_x_cur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/creek23/kage/9bae79ef48d9daf2e6cdcde4f70d5e525e378675/studio_gtkmm4/share/tween_x_cur.png -------------------------------------------------------------------------------- /studio_gtkmm4/util/cairo/cairo_kage.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * cairo_kage.cpp 3 | * 4 | * Copyright 2020 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "cairo_kage.h" 25 | 26 | std::ofstream CairoKage::pngFile; 27 | 28 | Cairo::ErrorStatus CairoKage::writeToPNGStream(const unsigned char* data, unsigned int length) { 29 | if (CairoKage::pngFile.is_open() == false) { 30 | return CAIRO_STATUS_WRITE_ERROR; 31 | } 32 | 33 | CairoKage::pngFile.write((char*)data, length); 34 | 35 | return CAIRO_STATUS_SUCCESS; 36 | } 37 | 38 | bool CairoKage::writeToPNG(string p_path, Cairo::RefPtr p_surface) { 39 | CairoKage::pngFile.close(); 40 | 41 | CairoKage::pngFile.open(p_path.c_str(), std::ofstream::binary); 42 | if (CairoKage::pngFile.is_open() == true) { 43 | p_surface->write_to_png_stream(&CairoKage::writeToPNGStream); 44 | CairoKage::pngFile.close(); 45 | return true; 46 | } 47 | return false; 48 | } 49 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/cairo/cairo_kage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * cairo_kage.h 3 | * 4 | * Copyright 2020 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef UTIL_CAIRO_KAGE_H 25 | #define UTIL_CAIRO_KAGE_H 26 | 27 | #include 28 | #include 29 | #include //ofstream 30 | 31 | using namespace std; 32 | 33 | class CairoKage { 34 | static std::ofstream pngFile; 35 | 36 | public: 37 | static Cairo::ErrorStatus writeToPNGStream(const unsigned char* data, unsigned int length); 38 | static bool writeToPNG(string p_path, Cairo::RefPtr p_surface); 39 | }; 40 | 41 | #endif //UTIL_CAIRO_KAGE_H 42 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/string/stringhelper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * stringhelper.h 3 | * 4 | * Copyright 2011-2020 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef UTIL_STRING_HELPER_H 25 | #define UTIL_STRING_HELPER_H 26 | 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | using namespace std; 33 | 34 | class StringHelper { 35 | public: 36 | static string toUpper(string p_str); 37 | static string toLower(string p_str); 38 | static string integerToString(int p_src); 39 | static string unsignedIntegerToString(unsigned int p_src); 40 | static string doubleToString(double p_src); 41 | static int toInteger(string p_str); 42 | static unsigned int toUnsignedInteger(string p_str); 43 | static long toLong(string p_str); 44 | static double toDouble(string p_str); 45 | static bool toBoolean(string p_str); 46 | static vector split(const string &p_source, const string &p_delimiter); 47 | static string trim(string p_source); 48 | }; 49 | 50 | #endif //UTIL_STRING_HELPER_H 51 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/svg/svgtag.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltag.h 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_SVGTAG_H 25 | #define KAGE_UTIL_SVGTAG_H 26 | 27 | #include 28 | #include 29 | #include 30 | #include "../xml/xmltag.h" 31 | #include "svgtagproperty.h" 32 | using namespace std; 33 | 34 | class SvgTag : public XmlTag { 35 | public: 36 | SvgTag(); 37 | SvgTag(string p_name); 38 | SvgTag(string p_name, vector p_svgTagProperties); 39 | virtual ~SvgTag(); 40 | 41 | void setProperties(vector p_svgTagProperties); 42 | vector getProperties(); 43 | unsigned int addChild(SvgTag p_svgTag); 44 | SvgTag getChild(unsigned int p_index); 45 | 46 | SvgTag clone(); 47 | std::string toString(); 48 | void copy(SvgTag p_svgTag); 49 | bool equalTo(SvgTag p_svgTag); 50 | vector _children; 51 | string _value; // values 52 | protected: 53 | vector _svgTagProperties; 54 | }; 55 | #endif //KAGE_UTIL_SVGTAG_H 56 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/svg/svgtagproperty.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltagproperty.h 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_SVGTAGPROPERTY_H 25 | #define KAGE_UTIL_SVGTAGPROPERTY_H 26 | 27 | #include 28 | #include 29 | #include "../xml/xmltagproperty.h" 30 | using namespace std; 31 | 32 | class SvgTagProperty : public XmlTagProperty { 33 | public: 34 | SvgTagProperty(); 35 | SvgTagProperty(string p_name, string p_value); 36 | virtual ~SvgTagProperty(); 37 | 38 | SvgTagProperty clone(); 39 | void copy(SvgTagProperty p_svgTagProperty); 40 | bool equalTo(SvgTagProperty p_svgTagProperty); 41 | }; 42 | #endif //KAGE_UTIL_SVGTAGPROPERTY_H 43 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/svg/svgtoken.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltoken.h 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_SVG_TOKEN_H 25 | #define KAGE_UTIL_SVG_TOKEN_H 26 | 27 | #include 28 | #include 29 | #include "../xml/xmltoken.h" 30 | using namespace std; 31 | 32 | class SvgToken : public XmlToken { 33 | public: 34 | SvgToken(); 35 | SvgToken(string p_value); 36 | virtual ~SvgToken(); 37 | }; 38 | #endif //KAGE_UTIL_SVG_TOKEN_H 39 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/Makefile: -------------------------------------------------------------------------------- 1 | BIN = testBasicXml 2 | CXX = g++ 3 | CXXFLAGS = -c -I./ -std=gnu++11 -fmax-errors=5 -Wfatal-errors -g 4 | CXXLINKS = 5 | 6 | SOURCES = \ 7 | xmltoken.cpp \ 8 | xmltagproperty.cpp \ 9 | xmltag.cpp \ 10 | xml.cpp \ 11 | testBasicXml.cpp 12 | 13 | OBJECTS = $(SOURCES:.cpp=.o) 14 | 15 | %.o : %.cpp 16 | $(CXX) $(CXXFLAGS) $< -o $@ 17 | 18 | all: kagestudio 19 | 20 | kagestudio: $(OBJECTS) 21 | @echo creating $(BIN) 22 | $(CXX) $(OBJECTS) -o $(BIN) $(CXXLINKS) 23 | 24 | clean: 25 | @echo deleting .o, and $(BIN) 26 | rm $(OBJECTS) $(BIN) 27 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/README.txt: -------------------------------------------------------------------------------- 1 | HOW TO COMPILE BasicXML (on Windows 7) 2 | ====================================== 3 | 1 install MSYS2 if you haven't already 4 | 2 open MSYS and install 'toolchain', and 'make' via pacman 5 | 3 cd to this path 6 | 4 then type: 'make' 7 | 8 | 9 | HOW TO COMPILE BasicXML (on GNU/Linux) 10 | ====================================== 11 | 1 open Terminal and install 'g++' 12 | 2 cd to this path 13 | 3 type: 'make' 14 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/test.xml: -------------------------------------------------------------------------------- 1 | 2 | -1245155018 3 | whispered 4 | 5 | cause 6 | 7 | various 8 | -138891336 9 | -1840037819 10 | -698510077.1676867 11 | 1298126983.0535011 12 | provide 13 | 14 | 941906022 15 | forgot 16 | colony 17 | development 18 | 19 | unknown 20 |
gulf
21 | name 22 |
23 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/testBasicXml.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * testBasicXml.cpp 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "xml.h" 25 | using namespace std; 26 | 27 | int main() { 28 | string l_xmlData = BasicXml::openXMLFile("test.xml"); 29 | BasicXml l_xml; 30 | if (l_xml.setXML(l_xmlData)) { 31 | cout << l_xml.getXML(); 32 | } else { 33 | cout << "unable to setXML"; 34 | } 35 | 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/xmltag.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltag.h 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_XMLTAG_H 25 | #define KAGE_UTIL_XMLTAG_H 26 | 27 | #include 28 | #include 29 | #include 30 | #include "xmltagproperty.h" 31 | using namespace std; 32 | 33 | class XmlTag { 34 | public: 35 | XmlTag(); 36 | XmlTag(string p_name); 37 | XmlTag(string p_name, vector p_xmlTagProperties); 38 | virtual ~XmlTag(); 39 | 40 | void setName(string p_name); 41 | string getName(); 42 | void setProperties(vector p_xmlTagProperties); 43 | vector getProperties(); 44 | unsigned int addChild(XmlTag p_xmlTag); 45 | XmlTag getChild(unsigned int p_index); 46 | 47 | XmlTag clone(); 48 | std::string toString(); 49 | void copy(XmlTag p_xmlTag); 50 | bool equalTo(XmlTag p_xmlTag); 51 | vector _children; 52 | string _value; // values 53 | protected: 54 | string _name; 55 | vector _xmlTagProperties; 56 | }; 57 | #endif //KAGE_UTIL_XMLTAG_H 58 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/xmltagproperty.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltagproperty.cpp 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "xmltagproperty.h" 25 | 26 | XmlTagProperty::XmlTagProperty() { 27 | setName(""); 28 | } 29 | 30 | XmlTagProperty::XmlTagProperty(string p_name, string p_value) { 31 | setName(p_name); 32 | setValue(p_value); 33 | } 34 | 35 | XmlTagProperty::~XmlTagProperty() { 36 | // 37 | } 38 | 39 | XmlTagProperty XmlTagProperty::clone() { 40 | XmlTagProperty l_xmlTagProperty(getName(), getValue()); 41 | return l_xmlTagProperty; 42 | } 43 | 44 | bool XmlTagProperty::equalTo(XmlTagProperty p_xmlTagProperty) { 45 | return (getName() == p_xmlTagProperty.getName() 46 | && getValue() == p_xmlTagProperty.getValue()); 47 | } 48 | 49 | void XmlTagProperty::copy(XmlTagProperty p_xmlTagProperty) { 50 | setName(p_xmlTagProperty.getName()); 51 | setValue(p_xmlTagProperty.getValue()); 52 | } 53 | 54 | std::string XmlTagProperty::toString() { 55 | std::ostringstream l_ostringstream; 56 | l_ostringstream << getName() << "=\"" << getValue() << "\""; 57 | return l_ostringstream.str(); 58 | } 59 | 60 | void XmlTagProperty::setName(string p_name) { 61 | _name = p_name; 62 | } 63 | 64 | void XmlTagProperty::setValue(string p_value) { 65 | _value = p_value; 66 | } 67 | 68 | string XmlTagProperty::getName() { 69 | return _name; 70 | } 71 | 72 | string XmlTagProperty::getValue() { 73 | return _value; 74 | } 75 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/xmltagproperty.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltagproperty.h 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_XMLTAGPROPERTY_H 25 | #define KAGE_UTIL_XMLTAGPROPERTY_H 26 | 27 | #include 28 | #include 29 | using namespace std; 30 | 31 | class XmlTagProperty { 32 | public: 33 | XmlTagProperty(); 34 | XmlTagProperty(string p_name, string p_value); 35 | virtual ~XmlTagProperty(); 36 | 37 | void setName(string p_name); 38 | void setValue(string p_value); 39 | string getName(); 40 | string getValue(); 41 | XmlTagProperty clone(); 42 | std::string toString(); 43 | void copy(XmlTagProperty p_xmlTagProperty); 44 | bool equalTo(XmlTagProperty p_xmlTagProperty); 45 | protected: 46 | string _name; 47 | string _value; 48 | }; 49 | #endif //KAGE_UTIL_XMLTAGPROPERTY_H 50 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/xmltoken.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltoken.cpp 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #include "xmltoken.h" 25 | 26 | XmlToken::XmlToken() { 27 | setValue(""); 28 | } 29 | 30 | XmlToken::XmlToken(string p_value) { 31 | setValue(p_value); 32 | } 33 | 34 | XmlToken::~XmlToken() { 35 | // 36 | } 37 | 38 | void XmlToken::setValue(string p_value) { 39 | _value = p_value; 40 | } 41 | 42 | string XmlToken::getValue() { 43 | return _value; 44 | } 45 | -------------------------------------------------------------------------------- /studio_gtkmm4/util/xml/xmltoken.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xmltoken.h 3 | * 4 | * Copyright 2019 Mj Mendoza IV 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 | * MA 02110-1301, USA. 20 | * 21 | * 22 | */ 23 | 24 | #ifndef KAGE_UTIL_XML_TOKEN_H 25 | #define KAGE_UTIL_XML_TOKEN_H 26 | 27 | #include 28 | #include 29 | using namespace std; 30 | 31 | class XmlToken { 32 | public: 33 | XmlToken(); 34 | XmlToken(string p_value); 35 | virtual ~XmlToken(); 36 | 37 | void setValue(string p_value); 38 | string getValue(); 39 | 40 | protected: 41 | string _value; 42 | }; 43 | #endif //KAGE_UTIL_XML_TOKEN_H 44 | --------------------------------------------------------------------------------