├── .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 |