rabbit-qt 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/COPYING +1 -0
- data/GPL +339 -0
- data/Gemfile +37 -0
- data/README.md +87 -0
- data/Rakefile +285 -0
- data/bin/rabbirc +86 -0
- data/bin/rabbit +22 -0
- data/bin/rabbit-command +97 -0
- data/bin/rabbit-slide +22 -0
- data/bin/rabbit-theme +22 -0
- data/data/account.kou.gpg +3 -0
- data/data/rabbit/image/clear-blue-images/clear-blue-headline-background.png +0 -0
- data/data/rabbit/image/clear-blue-images/clear-blue-icon.png +0 -0
- data/data/rabbit/image/clear-blue-images/clear-blue-images.rb +0 -0
- data/data/rabbit/image/clear-blue-images/property.rb +4 -0
- data/data/rabbit/image/cozmixng-images/cozmixchu.png +0 -0
- data/data/rabbit/image/cozmixng-images/cozmixng-images.rb +2 -0
- data/data/rabbit/image/cozmixng-images/powered-by-cozmixng.png +0 -0
- data/data/rabbit/image/cozmixng-images/property.rb +4 -0
- data/data/rabbit/image/dark-gradation-images/background-gradation.png +0 -0
- data/data/rabbit/image/dark-gradation-images/dark-gradation-images.rb +2 -0
- data/data/rabbit/image/dark-gradation-images/property.rb +4 -0
- data/data/rabbit/image/debian-images/bottom.png +0 -0
- data/data/rabbit/image/debian-images/debian-images.rb +2 -0
- data/data/rabbit/image/debian-images/debian-logo-pink.png +0 -0
- data/data/rabbit/image/debian-images/debian-logo.png +0 -0
- data/data/rabbit/image/debian-images/debian-whirl.png +0 -0
- data/data/rabbit/image/debian-images/item1.png +0 -0
- data/data/rabbit/image/debian-images/property.rb +4 -0
- data/data/rabbit/image/debian-images/top.png +0 -0
- data/data/rabbit/image/nari-images/chibi_nari.png +0 -0
- data/data/rabbit/image/nari-images/gc_kun.png +0 -0
- data/data/rabbit/image/nari-images/nari-goal-flag.png +0 -0
- data/data/rabbit/image/nari-images/nari-images.rb +2 -0
- data/data/rabbit/image/nari-images/nari-start-flag.png +0 -0
- data/data/rabbit/image/nari-images/property.rb +4 -0
- data/data/rabbit/image/rabbit-images/blue-item.png +0 -0
- data/data/rabbit/image/rabbit-images/close-quote-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/close-quote-brown.png +0 -0
- data/data/rabbit/image/rabbit-images/close-quote-light-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/goal-flag.png +0 -0
- data/data/rabbit/image/rabbit-images/green-item.png +0 -0
- data/data/rabbit/image/rabbit-images/kame.png +0 -0
- data/data/rabbit/image/rabbit-images/lavie-icon.png +0 -0
- data/data/rabbit/image/rabbit-images/lavie-with-logo.png +0 -0
- data/data/rabbit/image/rabbit-images/lavie.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-alice.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-butler-rabbit.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-horizontal-bar.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-kame-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-tanu-kitaro.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-usa-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-usagi.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-vertical-bar.png +0 -0
- data/data/rabbit/image/rabbit-images/mini-yukidaru-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/open-quote-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/open-quote-brown.png +0 -0
- data/data/rabbit/image/rabbit-images/open-quote-light-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/property.rb +4 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-blue.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-green.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-heads.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner-pink.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-banner2.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-images.rb +2 -0
- data/data/rabbit/image/rabbit-images/rabbit-pink-logo.png +0 -0
- data/data/rabbit/image/rabbit-images/rabbit-pink-logo2.png +0 -0
- data/data/rabbit/image/rabbit-images/red-item.png +0 -0
- data/data/rabbit/image/rabbit-images/red-item2.png +0 -0
- data/data/rabbit/image/rabbit-images/start-flag.png +0 -0
- data/data/rabbit/image/rabbit-images/tanu-kitaro.png +0 -0
- data/data/rabbit/image/rabbit-images/usa-taro.png +0 -0
- data/data/rabbit/image/rabbit-images/usagi.png +0 -0
- data/data/rabbit/image/rabbit-images/yukiusa.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-bar.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-bar.svg +153 -0
- data/data/rabbit/image/ranguba-images/ranguba-images.rb +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-item-mark-mini.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-item-mark.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-item-mark.svg +400 -0
- data/data/rabbit/image/ranguba-images/ranguba-mark.png +0 -0
- data/data/rabbit/image/ranguba-images/ranguba-mark.svg +587 -0
- data/data/rabbit/image/ruby-images/property.rb +4 -0
- data/data/rabbit/image/ruby-images/ruby-images.rb +2 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle-logo.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-circle.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png +0 -0
- data/data/rabbit/image/ruby-images/ruby-pink-polygon.png +0 -0
- data/data/rabbit/image/rubykaigi2011-images/property.rb +4 -0
- data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg +0 -0
- data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg +0 -0
- data/data/rabbit/image/rubykaigi2011-images/rubykaigi2011-images.rb +2 -0
- data/doc/_config.yml +29 -0
- data/doc/_includes/en.menu.html +8 -0
- data/doc/_includes/ja.menu.html +8 -0
- data/doc/_layouts/en.html +48 -0
- data/doc/_layouts/ja.html +48 -0
- data/doc/_layouts/skeleton.html +85 -0
- data/doc/_plugins/converters/hiki.rb +27 -0
- data/doc/_plugins/converters/markdown.rb +15 -0
- data/doc/_plugins/converters/rd.rb +73 -0
- data/doc/_plugins/support_symlink.rb +11 -0
- data/doc/css/rabbit.css +368 -0
- data/doc/css/syntax.scss +67 -0
- data/doc/en/development.rd +81 -0
- data/doc/en/faq.rd +152 -0
- data/doc/en/hiki.hiki +326 -0
- data/doc/en/how-to-make/hiki.hiki +9 -0
- data/doc/en/how-to-make/index.rd +26 -0
- data/doc/en/how-to-make/markdown.md +107 -0
- data/doc/en/how-to-make/pdf.rd +7 -0
- data/doc/en/how-to-make/rd.rd +92 -0
- data/doc/en/how-to-make/theme.rd +135 -0
- data/doc/en/index.rd +268 -0
- data/doc/en/install/homebrew.rd +22 -0
- data/doc/en/install/index.rd +50 -0
- data/doc/en/install/macports.rd +77 -0
- data/doc/en/install/windows.rd +45 -0
- data/doc/en/news.rd +2788 -0
- data/doc/en/rd.rd +482 -0
- data/doc/en/sample/hiki/rabbit.hiki +388 -0
- data/doc/en/sample/index.rd +15 -0
- data/doc/en/sample/markdown/rabbit.md +387 -0
- data/doc/en/sample/rd/rabbit.rd +463 -0
- data/doc/en/slides.rd +13 -0
- data/doc/en/usage/platform/os-x.rd +13 -0
- data/doc/en/usage/rabbit-slide.rd +239 -0
- data/doc/en/usage/rabbit-theme.rd +5 -0
- data/doc/en/usage/rabbit.rd +376 -0
- data/doc/en/usage.rd +24 -0
- data/doc/en/users.rd +35 -0
- data/doc/favicon.ico +0 -0
- data/doc/favicon.png +0 -0
- data/doc/images/background-sample.svg +290 -0
- data/doc/images/background.png +0 -0
- data/doc/images/background.svg +131 -0
- data/doc/images/hare-and-tortoise.png +0 -0
- data/doc/images/hare-and-tortoise.svg +541 -0
- data/doc/images/lavie-icon.png +0 -0
- data/doc/images/lavie.png +0 -0
- data/doc/images/rabbit-slide-show-logo.png +0 -0
- data/doc/images/rabbit-slide-show-logo.svg +597 -0
- data/doc/index.html.en +58 -0
- data/doc/index.html.ja +58 -0
- data/doc/ja/about.rd +21 -0
- data/doc/ja/development.rd +78 -0
- data/doc/ja/faq.rd +202 -0
- data/doc/ja/hiki.hiki +320 -0
- data/doc/ja/how-to-make/hiki.hiki +9 -0
- data/doc/ja/how-to-make/index.rd +26 -0
- data/doc/ja/how-to-make/markdown.md +107 -0
- data/doc/ja/how-to-make/pdf.rd +8 -0
- data/doc/ja/how-to-make/rd.rd +130 -0
- data/doc/ja/how-to-make/theme.rd +142 -0
- data/doc/ja/index.rd +283 -0
- data/doc/ja/install/homebrew.rd +23 -0
- data/doc/ja/install/index.rd +53 -0
- data/doc/ja/install/macports.rd +100 -0
- data/doc/ja/install/windows.rd +46 -0
- data/doc/ja/news.rd +2773 -0
- data/doc/ja/rd.rd +490 -0
- data/doc/ja/sample/hiki/rabbit.hiki +404 -0
- data/doc/ja/sample/index.rd +15 -0
- data/doc/ja/sample/markdown/rabbit.md +382 -0
- data/doc/ja/sample/rd/rabbit.rd +471 -0
- data/doc/ja/slides.rd +29 -0
- data/doc/ja/usage/rabbit-slide.rd +220 -0
- data/doc/ja/usage/rabbit-theme.rd +152 -0
- data/doc/ja/usage/rabbit.rd +377 -0
- data/doc/ja/usage.rd +19 -0
- data/doc/ja/users.rd +196 -0
- data/doc/screenshot.en.rab +10 -0
- data/doc/screenshot.ja.rab +10 -0
- data/entities/README +10 -0
- data/entities/ent2rb.rb +65 -0
- data/entities/isoamsa.ent +167 -0
- data/entities/isoamsb.ent +143 -0
- data/entities/isoamsc.ent +43 -0
- data/entities/isoamsn.ent +114 -0
- data/entities/isoamso.ent +73 -0
- data/entities/isoamsr.ent +204 -0
- data/entities/isobox.ent +61 -0
- data/entities/isocyr1.ent +88 -0
- data/entities/isocyr2.ent +47 -0
- data/entities/isodia.ent +35 -0
- data/entities/isogrk3.ent +64 -0
- data/entities/isolat1.ent +83 -0
- data/entities/isolat2.ent +142 -0
- data/entities/isomfrk.ent +75 -0
- data/entities/isomopf.ent +49 -0
- data/entities/isomscr.ent +75 -0
- data/entities/isonum.ent +97 -0
- data/entities/isopub.ent +105 -0
- data/entities/isotech.ent +182 -0
- data/entities/mmlalias.ent +564 -0
- data/entities/mmlextra.ent +122 -0
- data/lib/rabbit/actions.rb +427 -0
- data/lib/rabbit/author-configuration.rb +90 -0
- data/lib/rabbit/canvas.rb +844 -0
- data/lib/rabbit/command/rabbit-slide.rb +898 -0
- data/lib/rabbit/command/rabbit-theme.rb +300 -0
- data/lib/rabbit/command/rabbit.rb +854 -0
- data/lib/rabbit/config.rb +40 -0
- data/lib/rabbit/console/roff.rb +84 -0
- data/lib/rabbit/console.rb +218 -0
- data/lib/rabbit/cursor-manager.rb +66 -0
- data/lib/rabbit/dependency-canvas.rb +33 -0
- data/lib/rabbit/element/base/draw-hook.rb +75 -0
- data/lib/rabbit/element/base.rb +614 -0
- data/lib/rabbit/element/block-element.rb +56 -0
- data/lib/rabbit/element/block.rb +70 -0
- data/lib/rabbit/element/container-element.rb +321 -0
- data/lib/rabbit/element/description-list.rb +75 -0
- data/lib/rabbit/element/enum-list.rb +53 -0
- data/lib/rabbit/element/footnote.rb +48 -0
- data/lib/rabbit/element/image-title-slide.rb +34 -0
- data/lib/rabbit/element/image.rb +292 -0
- data/lib/rabbit/element/index-slide.rb +206 -0
- data/lib/rabbit/element/item-list.rb +50 -0
- data/lib/rabbit/element/method-list.rb +66 -0
- data/lib/rabbit/element/poppler-page.rb +52 -0
- data/lib/rabbit/element/poppler-slide.rb +47 -0
- data/lib/rabbit/element/poppler-title-slide.rb +45 -0
- data/lib/rabbit/element/preformatted.rb +48 -0
- data/lib/rabbit/element/slide-element.rb +140 -0
- data/lib/rabbit/element/slide.rb +67 -0
- data/lib/rabbit/element/syntax-highlighting.rb +31 -0
- data/lib/rabbit/element/table.rb +121 -0
- data/lib/rabbit/element/tag.rb +60 -0
- data/lib/rabbit/element/text-block-element.rb +27 -0
- data/lib/rabbit/element/text-container-element.rb +176 -0
- data/lib/rabbit/element/text-element.rb +83 -0
- data/lib/rabbit/element/text-renderer.rb +378 -0
- data/lib/rabbit/element/text.rb +146 -0
- data/lib/rabbit/element/title-slide.rb +190 -0
- data/lib/rabbit/element/video.rb +265 -0
- data/lib/rabbit/element.rb +35 -0
- data/lib/rabbit/error.rb +239 -0
- data/lib/rabbit/filename.rb +39 -0
- data/lib/rabbit/formatter.rb +211 -0
- data/lib/rabbit/frame.rb +292 -0
- data/lib/rabbit/front.rb +278 -0
- data/lib/rabbit/gem-builder.rb +42 -0
- data/lib/rabbit/gem-finder.rb +57 -0
- data/lib/rabbit/gem-pusher.rb +89 -0
- data/lib/rabbit/gesture/handler.rb +253 -0
- data/lib/rabbit/gesture/processor.rb +118 -0
- data/lib/rabbit/gettext.rb +14 -0
- data/lib/rabbit/graffiti/config-dialog.rb +47 -0
- data/lib/rabbit/graffiti/processor.rb +132 -0
- data/lib/rabbit/gtk.rb +93 -0
- data/lib/rabbit/html/generator.rb +477 -0
- data/lib/rabbit/html/template.erb +109 -0
- data/lib/rabbit/icon.rb +31 -0
- data/lib/rabbit/image/base.rb +270 -0
- data/lib/rabbit/image/default.rb +42 -0
- data/lib/rabbit/image/dia.rb +74 -0
- data/lib/rabbit/image/eps.rb +129 -0
- data/lib/rabbit/image/gimp.rb +69 -0
- data/lib/rabbit/image/mermaid.rb +74 -0
- data/lib/rabbit/image/pdf.rb +94 -0
- data/lib/rabbit/image/svg.rb +79 -0
- data/lib/rabbit/image-data-loader.rb +51 -0
- data/lib/rabbit/image.rb +53 -0
- data/lib/rabbit/info-window.rb +327 -0
- data/lib/rabbit/key-handler.rb +227 -0
- data/lib/rabbit/keys.rb +209 -0
- data/lib/rabbit/logger/base.rb +147 -0
- data/lib/rabbit/logger/gui.rb +113 -0
- data/lib/rabbit/logger/stderr.rb +42 -0
- data/lib/rabbit/logger.rb +40 -0
- data/lib/rabbit/menu.rb +242 -0
- data/lib/rabbit/pango-markup.rb +44 -0
- data/lib/rabbit/parser/base.rb +31 -0
- data/lib/rabbit/parser/ext/aafigure.rb +51 -0
- data/lib/rabbit/parser/ext/blockdiag.rb +68 -0
- data/lib/rabbit/parser/ext/charty.rb +67 -0
- data/lib/rabbit/parser/ext/coderay.rb +85 -0
- data/lib/rabbit/parser/ext/enscript.rb +136 -0
- data/lib/rabbit/parser/ext/entity.rb +4164 -0
- data/lib/rabbit/parser/ext/escape.rb +18 -0
- data/lib/rabbit/parser/ext/image.rb +157 -0
- data/lib/rabbit/parser/ext/inline.rb +45 -0
- data/lib/rabbit/parser/ext/rouge.rb +129 -0
- data/lib/rabbit/parser/ext/tex.rb +95 -0
- data/lib/rabbit/parser/ext/video.rb +37 -0
- data/lib/rabbit/parser/image.rb +62 -0
- data/lib/rabbit/parser/markdown/converter.rb +440 -0
- data/lib/rabbit/parser/markdown.rb +144 -0
- data/lib/rabbit/parser/pause-support.rb +33 -0
- data/lib/rabbit/parser/pdf.rb +56 -0
- data/lib/rabbit/parser/rd/ext/base.rb +95 -0
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +190 -0
- data/lib/rabbit/parser/rd/ext/character-reference.rb +75 -0
- data/lib/rabbit/parser/rd/ext/image.rb +46 -0
- data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +118 -0
- data/lib/rabbit/parser/rd/ext/refer.rb +50 -0
- data/lib/rabbit/parser/rd/ext/video.rb +32 -0
- data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +458 -0
- data/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb +105 -0
- data/lib/rabbit/parser/rd/visitor.rb +72 -0
- data/lib/rabbit/parser/rd.rb +92 -0
- data/lib/rabbit/parser/wiki/output.rb +545 -0
- data/lib/rabbit/parser/wiki.rb +61 -0
- data/lib/rabbit/parser.rb +73 -0
- data/lib/rabbit/password-reader.rb +34 -0
- data/lib/rabbit/path-manipulatable.rb +37 -0
- data/lib/rabbit/progress.rb +97 -0
- data/lib/rabbit/properties.rb +154 -0
- data/lib/rabbit/qt.rb +222 -0
- data/lib/rabbit/rabbit.rb +50 -0
- data/lib/rabbit/readme-parser.rb +112 -0
- data/lib/rabbit/relative-size.rb +28 -0
- data/lib/rabbit/renderer/base.rb +412 -0
- data/lib/rabbit/renderer/color.rb +130 -0
- data/lib/rabbit/renderer/display/base.rb +223 -0
- data/lib/rabbit/renderer/display/button-handler.rb +229 -0
- data/lib/rabbit/renderer/display/cursor.rb +49 -0
- data/lib/rabbit/renderer/display/drawing-area-base.rb +381 -0
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +219 -0
- data/lib/rabbit/renderer/display/drawing-area-view-only.rb +57 -0
- data/lib/rabbit/renderer/display/drawing-area.rb +29 -0
- data/lib/rabbit/renderer/display/gesture.rb +111 -0
- data/lib/rabbit/renderer/display/graffiti.rb +127 -0
- data/lib/rabbit/renderer/display/hook-handler.rb +64 -0
- data/lib/rabbit/renderer/display/info.rb +75 -0
- data/lib/rabbit/renderer/display/magnifier.rb +137 -0
- data/lib/rabbit/renderer/display/mask.rb +83 -0
- data/lib/rabbit/renderer/display/menu.rb +54 -0
- data/lib/rabbit/renderer/display/motion-handler.rb +34 -0
- data/lib/rabbit/renderer/display/progress.rb +85 -0
- data/lib/rabbit/renderer/display/qt-drawing-area-base.rb +336 -0
- data/lib/rabbit/renderer/display/qt-drawing-area-primitive.rb +189 -0
- data/lib/rabbit/renderer/display/qt-drawing-area-view-only.rb +53 -0
- data/lib/rabbit/renderer/display/qt-drawing-area.rb +29 -0
- data/lib/rabbit/renderer/display/qt-drawing-widget.rb +85 -0
- data/lib/rabbit/renderer/display/scroll-handler.rb +58 -0
- data/lib/rabbit/renderer/display/search.rb +114 -0
- data/lib/rabbit/renderer/display/spotlight.rb +122 -0
- data/lib/rabbit/renderer/display.rb +17 -0
- data/lib/rabbit/renderer/engine/cairo.rb +481 -0
- data/lib/rabbit/renderer/engine/qt_painter.rb +397 -0
- data/lib/rabbit/renderer/engine.rb +18 -0
- data/lib/rabbit/renderer/kernel.rb +233 -0
- data/lib/rabbit/renderer/offscreen.rb +117 -0
- data/lib/rabbit/renderer/print-layout.rb +150 -0
- data/lib/rabbit/renderer/printer.rb +223 -0
- data/lib/rabbit/renderer/scene-background-widget.rb +95 -0
- data/lib/rabbit/renderer/scene-node-widget.rb +40 -0
- data/lib/rabbit/renderer/scene.rb +538 -0
- data/lib/rabbit/renderer.rb +20 -0
- data/lib/rabbit/search-window.rb +90 -0
- data/lib/rabbit/searcher.rb +40 -0
- data/lib/rabbit/size.rb +100 -0
- data/lib/rabbit/slide-configuration.rb +211 -0
- data/lib/rabbit/slide.rb +40 -0
- data/lib/rabbit/soap/base.rb +17 -0
- data/lib/rabbit/soap/driver.rb +61 -0
- data/lib/rabbit/soap/server.rb +49 -0
- data/lib/rabbit/source/argf.rb +45 -0
- data/lib/rabbit/source/base.rb +197 -0
- data/lib/rabbit/source/file.rb +85 -0
- data/lib/rabbit/source/memory.rb +61 -0
- data/lib/rabbit/source/uri.rb +93 -0
- data/lib/rabbit/source-generator/hiki.rb +58 -0
- data/lib/rabbit/source-generator/markdown.rb +56 -0
- data/lib/rabbit/source-generator/rd.rb +60 -0
- data/lib/rabbit/source-generator.rb +39 -0
- data/lib/rabbit/source.rb +30 -0
- data/lib/rabbit/task/slide.rb +221 -0
- data/lib/rabbit/task/theme.rb +202 -0
- data/lib/rabbit/task.rb +18 -0
- data/lib/rabbit/theme/applier.rb +690 -0
- data/lib/rabbit/theme/auto-slide/auto-slide.rb +6 -0
- data/lib/rabbit/theme/auto-slide/property.rb +4 -0
- data/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb +125 -0
- data/lib/rabbit/theme/base/base.rb +85 -0
- data/lib/rabbit/theme/base/property.rb +4 -0
- data/lib/rabbit/theme/blue-bar/blue-bar.rb +80 -0
- data/lib/rabbit/theme/blue-bar/property.rb +3 -0
- data/lib/rabbit/theme/blue-circle/blue-circle.rb +14 -0
- data/lib/rabbit/theme/blue-circle/property.rb +3 -0
- data/lib/rabbit/theme/body-background-image/body-background-image.rb +8 -0
- data/lib/rabbit/theme/centering-rabbit/centering-rabbit.rb +5 -0
- data/lib/rabbit/theme/centering-rabbit/property.rb +3 -0
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +101 -0
- data/lib/rabbit/theme/clear-blue/property.rb +3 -0
- data/lib/rabbit/theme/clock/clock.rb +37 -0
- data/lib/rabbit/theme/clock/property.rb +21 -0
- data/lib/rabbit/theme/color-circle/color-circle.rb +60 -0
- data/lib/rabbit/theme/color-circle/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-block-quote/color-circle-block-quote.rb +28 -0
- data/lib/rabbit/theme/color-circle-block-quote/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-common/color-circle-common.rb +48 -0
- data/lib/rabbit/theme/color-circle-common/property.rb +3 -0
- data/lib/rabbit/theme/color-circle-description/color-circle-description.rb +9 -0
- data/lib/rabbit/theme/color-circle-description/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-foot-text/color-circle-foot-text.rb +14 -0
- data/lib/rabbit/theme/color-circle-foot-text/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-item-mark/color-circle-item-mark.rb +77 -0
- data/lib/rabbit/theme/color-circle-item-mark/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-method-list/color-circle-method-list.rb +8 -0
- data/lib/rabbit/theme/color-circle-method-list/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb +5 -0
- data/lib/rabbit/theme/color-circle-preformatted/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-slide/color-circle-slide.rb +13 -0
- data/lib/rabbit/theme/color-circle-slide/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-text/color-circle-text.rb +9 -0
- data/lib/rabbit/theme/color-circle-text/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-title-slide/color-circle-title-slide.rb +27 -0
- data/lib/rabbit/theme/color-circle-title-slide/property.rb +4 -0
- data/lib/rabbit/theme/color-circle-title-text/color-circle-title-text.rb +7 -0
- data/lib/rabbit/theme/color-circle-title-text/property.rb +4 -0
- data/lib/rabbit/theme/cozmixng/cozmixng.rb +44 -0
- data/lib/rabbit/theme/cozmixng/property.rb +3 -0
- data/lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb +6 -0
- data/lib/rabbit/theme/cozmixng-powered-by/property.rb +7 -0
- data/lib/rabbit/theme/dark-gradation/dark-gradation.rb +187 -0
- data/lib/rabbit/theme/dark-gradation/property.rb +3 -0
- data/lib/rabbit/theme/day-white/day-white.rb +8 -0
- data/lib/rabbit/theme/day-white/property.rb +3 -0
- data/lib/rabbit/theme/debian/debian.rb +232 -0
- data/lib/rabbit/theme/debian/property.rb +3 -0
- data/lib/rabbit/theme/default/default.rb +42 -0
- data/lib/rabbit/theme/default/property.rb +3 -0
- data/lib/rabbit/theme/default-block-quote/default-block-quote.rb +219 -0
- data/lib/rabbit/theme/default-block-quote/property.rb +3 -0
- data/lib/rabbit/theme/default-comment/default-comment.rb +5 -0
- data/lib/rabbit/theme/default-comment/property.rb +4 -0
- data/lib/rabbit/theme/default-description/default-description.rb +64 -0
- data/lib/rabbit/theme/default-description/property.rb +5 -0
- data/lib/rabbit/theme/default-foot-text/default-foot-text.rb +52 -0
- data/lib/rabbit/theme/default-foot-text/property.rb +3 -0
- data/lib/rabbit/theme/default-icon/default-icon.rb +4 -0
- data/lib/rabbit/theme/default-icon/property.rb +5 -0
- data/lib/rabbit/theme/default-item-mark/default-item-mark.rb +104 -0
- data/lib/rabbit/theme/default-item-mark/property.rb +4 -0
- data/lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb +132 -0
- data/lib/rabbit/theme/default-item-mark-setup/property.rb +3 -0
- data/lib/rabbit/theme/default-method-list/default-method-list.rb +6 -0
- data/lib/rabbit/theme/default-method-list/property.rb +3 -0
- data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +56 -0
- data/lib/rabbit/theme/default-preformatted/property.rb +3 -0
- data/lib/rabbit/theme/default-slide/default-slide.rb +62 -0
- data/lib/rabbit/theme/default-slide/property.rb +3 -0
- data/lib/rabbit/theme/default-text/default-text.rb +186 -0
- data/lib/rabbit/theme/default-text/property.rb +3 -0
- data/lib/rabbit/theme/default-title-slide/default-title-slide.rb +13 -0
- data/lib/rabbit/theme/default-title-slide/property.rb +6 -0
- data/lib/rabbit/theme/default-title-text/default-title-text.rb +53 -0
- data/lib/rabbit/theme/default-title-text/property.rb +3 -0
- data/lib/rabbit/theme/document.erb +35 -0
- data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +87 -0
- data/lib/rabbit/theme/edge-info-toolkit/property.rb +3 -0
- data/lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb +16 -0
- data/lib/rabbit/theme/emphasize-keyword/property.rb +4 -0
- data/lib/rabbit/theme/enishi-green/enishi-green.rb +61 -0
- data/lib/rabbit/theme/enishi-green/property.rb +3 -0
- data/lib/rabbit/theme/entry.rb +202 -0
- data/lib/rabbit/theme/footer-comment/footer-comment.rb +74 -0
- data/lib/rabbit/theme/footer-comment/property.rb +3 -0
- data/lib/rabbit/theme/footer-logo/footer-logo.rb +30 -0
- data/lib/rabbit/theme/footer-logo/property.rb +26 -0
- data/lib/rabbit/theme/green-circle/green-circle.rb +14 -0
- data/lib/rabbit/theme/green-circle/property.rb +3 -0
- data/lib/rabbit/theme/headline-logo/headline-logo.rb +24 -0
- data/lib/rabbit/theme/headline-logo/property.rb +10 -0
- data/lib/rabbit/theme/icon/icon.rb +3 -0
- data/lib/rabbit/theme/icon/property.rb +24 -0
- data/lib/rabbit/theme/image/image.rb +80 -0
- data/lib/rabbit/theme/image/property.rb +3 -0
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +134 -0
- data/lib/rabbit/theme/image-slide-number/property.rb +64 -0
- data/lib/rabbit/theme/image-timer/image-timer.rb +119 -0
- data/lib/rabbit/theme/image-timer/property.rb +46 -0
- data/lib/rabbit/theme/image-viewer/image-viewer.rb +21 -0
- data/lib/rabbit/theme/image-viewer/property.rb +3 -0
- data/lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb +13 -0
- data/lib/rabbit/theme/lightning-clear-blue/property.rb +3 -0
- data/lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb +15 -0
- data/lib/rabbit/theme/lightning-monochrome/property.rb +3 -0
- data/lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb +13 -0
- data/lib/rabbit/theme/lightning-rabbit/property.rb +3 -0
- data/lib/rabbit/theme/lightning-simple/lightning-simple.rb +60 -0
- data/lib/rabbit/theme/lightning-simple/property.rb +3 -0
- data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +67 -0
- data/lib/rabbit/theme/lightning-talk/property.rb +3 -0
- data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +179 -0
- data/lib/rabbit/theme/lightning-talk-toolkit/property.rb +3 -0
- data/lib/rabbit/theme/manager.rb +45 -0
- data/lib/rabbit/theme/mirror-effect/mirror-effect.rb +27 -0
- data/lib/rabbit/theme/mirror-effect/property.rb +3 -0
- data/lib/rabbit/theme/nari/nari.rb +215 -0
- data/lib/rabbit/theme/nari/property.rb +3 -0
- data/lib/rabbit/theme/newline-in-slides/newline-in-slides.rb +29 -0
- data/lib/rabbit/theme/newline-in-slides/property.rb +4 -0
- data/lib/rabbit/theme/newline-in-title/newline-in-title.rb +7 -0
- data/lib/rabbit/theme/newline-in-title/property.rb +4 -0
- data/lib/rabbit/theme/night-black/night-black.rb +19 -0
- data/lib/rabbit/theme/night-black/property.rb +3 -0
- data/lib/rabbit/theme/pdf/pdf.rb +24 -0
- data/lib/rabbit/theme/pdf/property.rb +3 -0
- data/lib/rabbit/theme/per-slide-background-color/per-slide-background-color.rb +18 -0
- data/lib/rabbit/theme/per-slide-background-color/property.rb +16 -0
- data/lib/rabbit/theme/per-slide-background-image/per-slide-background-image.rb +11 -0
- data/lib/rabbit/theme/per-slide-background-image/property.rb +16 -0
- data/lib/rabbit/theme/powered-by/powered-by.rb +67 -0
- data/lib/rabbit/theme/powered-by/property.rb +24 -0
- data/lib/rabbit/theme/rabbit/property.rb +3 -0
- data/lib/rabbit/theme/rabbit/rabbit.rb +57 -0
- data/lib/rabbit/theme/rabbit-block-quote/property.rb +4 -0
- data/lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb +18 -0
- data/lib/rabbit/theme/rabbit-headline-logo/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb +4 -0
- data/lib/rabbit/theme/rabbit-icon/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-icon/rabbit-icon.rb +4 -0
- data/lib/rabbit/theme/rabbit-item-mark/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb +53 -0
- data/lib/rabbit/theme/rabbit-powered-by/property.rb +7 -0
- data/lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb +5 -0
- data/lib/rabbit/theme/rabbit-title-logo/property.rb +5 -0
- data/lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb +4 -0
- data/lib/rabbit/theme/ranguba/property.rb +3 -0
- data/lib/rabbit/theme/ranguba/ranguba.rb +218 -0
- data/lib/rabbit/theme/red-frame/property.rb +3 -0
- data/lib/rabbit/theme/red-frame/red-frame.rb +100 -0
- data/lib/rabbit/theme/rotate-zoom-effect/property.rb +4 -0
- data/lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb +51 -0
- data/lib/rabbit/theme/ruby-gnome2/property.rb +3 -0
- data/lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb +65 -0
- data/lib/rabbit/theme/ruby-gnome2-description/property.rb +7 -0
- data/lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb +7 -0
- data/lib/rabbit/theme/ruby-gnome2-foot-text/property.rb +5 -0
- data/lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb +3 -0
- data/lib/rabbit/theme/ruby-gnome2-headline/property.rb +7 -0
- data/lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb +47 -0
- data/lib/rabbit/theme/ruby-gnome2-icon/property.rb +5 -0
- data/lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb +4 -0
- data/lib/rabbit/theme/ruby-gnome2-item-mark/property.rb +10 -0
- data/lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb +65 -0
- data/lib/rabbit/theme/ruby-gnome2-preformatted/property.rb +4 -0
- data/lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb +8 -0
- data/lib/rabbit/theme/ruby-gnome2-slide/property.rb +4 -0
- data/lib/rabbit/theme/ruby-gnome2-slide/ruby-gnome2-slide.rb +40 -0
- data/lib/rabbit/theme/rubykaigi2011/property.rb +3 -0
- data/lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb +48 -0
- data/lib/rabbit/theme/scroll-effect/property.rb +3 -0
- data/lib/rabbit/theme/scroll-effect/scroll-effect.rb +32 -0
- data/lib/rabbit/theme/searcher.rb +179 -0
- data/lib/rabbit/theme/show-frame/property.rb +16 -0
- data/lib/rabbit/theme/show-frame/show-frame.rb +17 -0
- data/lib/rabbit/theme/simple-item-mark/property.rb +5 -0
- data/lib/rabbit/theme/simple-item-mark/simple-item-mark.rb +112 -0
- data/lib/rabbit/theme/slide-background/property.rb +6 -0
- data/lib/rabbit/theme/slide-background/slide-background.rb +3 -0
- data/lib/rabbit/theme/slide-background-image/property.rb +10 -0
- data/lib/rabbit/theme/slide-background-image/slide-background-image.rb +25 -0
- data/lib/rabbit/theme/slide-footer-info/property.rb +43 -0
- data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +51 -0
- data/lib/rabbit/theme/slide-header-info/property.rb +43 -0
- data/lib/rabbit/theme/slide-header-info/slide-header-info.rb +42 -0
- data/lib/rabbit/theme/slide-logo/property.rb +26 -0
- data/lib/rabbit/theme/slide-logo/slide-logo.rb +58 -0
- data/lib/rabbit/theme/slide-number/property.rb +21 -0
- data/lib/rabbit/theme/slide-number/slide-number.rb +34 -0
- data/lib/rabbit/theme/slide-show/property.rb +4 -0
- data/lib/rabbit/theme/slide-show/slide-show.rb +31 -0
- data/lib/rabbit/theme/stream-comment/property.rb +3 -0
- data/lib/rabbit/theme/stream-comment/stream-comment.rb +66 -0
- data/lib/rabbit/theme/syntax-highlighting/property.rb +4 -0
- data/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb +177 -0
- data/lib/rabbit/theme/table/property.rb +3 -0
- data/lib/rabbit/theme/table/table.rb +173 -0
- data/lib/rabbit/theme/tag/property.rb +4 -0
- data/lib/rabbit/theme/tag/tag.rb +85 -0
- data/lib/rabbit/theme/timer/property.rb +3 -0
- data/lib/rabbit/theme/timer/timer.rb +63 -0
- data/lib/rabbit/theme/title-background-color/property.rb +10 -0
- data/lib/rabbit/theme/title-background-color/title-background-color.rb +17 -0
- data/lib/rabbit/theme/title-background-image/property.rb +11 -0
- data/lib/rabbit/theme/title-background-image/title-background-image.rb +28 -0
- data/lib/rabbit/theme/title-logo/property.rb +23 -0
- data/lib/rabbit/theme/title-logo/title-logo.rb +38 -0
- data/lib/rabbit/theme/title-on-image-toolkit/property.rb +3 -0
- data/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb +140 -0
- data/lib/rabbit/theme/title-shadow/property.rb +11 -0
- data/lib/rabbit/theme/title-shadow/title-shadow.rb +7 -0
- data/lib/rabbit/theme/title-slide-background-image/property.rb +10 -0
- data/lib/rabbit/theme/title-slide-background-image/title-slide-background-image.rb +25 -0
- data/lib/rabbit/theme/video/property.rb +3 -0
- data/lib/rabbit/theme/video/video.rb +5 -0
- data/lib/rabbit/theme-configuration.rb +101 -0
- data/lib/rabbit/utils.rb +435 -0
- data/lib/rabbit/version.rb +19 -0
- data/lib/rabbit/xmlrpc/base.rb +6 -0
- data/lib/rabbit/xmlrpc/client.rb +33 -0
- data/lib/rabbit/xmlrpc/server.rb +39 -0
- data/lib/rabbit/yaml-loader.rb +39 -0
- data/misc/emacs/README.ja +177 -0
- data/misc/emacs/rabbit-mode.el +378 -0
- data/misc/github-post-receiver/config.ru +170 -0
- data/misc/github-post-receiver/config.yaml.sample +3 -0
- data/misc/github-post-receiver/tmp/restart.txt +0 -0
- data/misc/make-image-sample.rb +95 -0
- data/misc/make-print-sample.rb +95 -0
- data/misc/update-rd.rb +85 -0
- data/misc/xyzzy/rabbit-mode.l +775 -0
- data/po/en/rabbit.po +2110 -0
- data/po/fr/rabbit.po +2109 -0
- data/po/ja/rabbit.po +2197 -0
- data/rabbit-qt.gemspec +80 -0
- data/sample/block-quote.rab +13 -0
- data/sample/blue-circle.rd +37 -0
- data/sample/can_rabbit.rd +425 -0
- data/sample/cozmixng.rd +85 -0
- data/sample/cozmixng_is_field.png +0 -0
- data/sample/cozmixng_is_field.svg +430 -0
- data/sample/description-list.rab +17 -0
- data/sample/enishi-green.rab +14 -0
- data/sample/equation.eps +571 -0
- data/sample/gl-sample.rd +8 -0
- data/sample/html_and_wiki.png +0 -0
- data/sample/html_and_wiki.svg +275 -0
- data/sample/image-reflection.rab +12 -0
- data/sample/info-window.png +0 -0
- data/sample/join_cozmixng.png +0 -0
- data/sample/join_cozmixng.svg +293 -0
- data/sample/kof2005/gesture-flow.svg +329 -0
- data/sample/kof2005/gesture.rb +473 -0
- data/sample/kof2005/gtk+-widget.svg +128 -0
- data/sample/kof2005/high-light-architecture.svg +203 -0
- data/sample/kof2005/high-light-expose.rb +120 -0
- data/sample/kof2005/high-light-expose.svg +153 -0
- data/sample/kof2005/high-light-widget.rb +147 -0
- data/sample/kof2005/high-light-widget.svg +172 -0
- data/sample/kof2005/high-light.svg +132 -0
- data/sample/kof2005/mask-screenshot.png +0 -0
- data/sample/kof2005/mask.rb +105 -0
- data/sample/kof2005/mask.svg +120 -0
- data/sample/kof2005/ruby-gnome2-logo.png +0 -0
- data/sample/kof2005/ruby-pink-circle-logo.png +0 -0
- data/sample/kof2005/skip-up-with-ruby-gnome2.rd +450 -0
- data/sample/kof2005/widget.svg +202 -0
- data/sample/lavie.png +0 -0
- data/sample/lightning-talk.rd +50 -0
- data/sample/lldn/input.svg +269 -0
- data/sample/lldn/interface.svg +410 -0
- data/sample/lldn/kame.png +0 -0
- data/sample/lldn/lavie.png +0 -0
- data/sample/lldn/lldn.rd +212 -0
- data/sample/lldn/output.svg +284 -0
- data/sample/lldn/rabbit-rwiki.svg +353 -0
- data/sample/lldn/rabbit_banner.png +0 -0
- data/sample/lldn/rabbit_banner2.png +0 -0
- data/sample/m17n.rd +138 -0
- data/sample/mermaid.rab +16 -0
- data/sample/note.rab +31 -0
- data/sample/ppt/hare-and-tortoise-end.png +0 -0
- data/sample/ppt/hare-and-tortoise-middle.png +0 -0
- data/sample/ppt/hare-and-tortoise-start.png +0 -0
- data/sample/ppt/ppt.rd +207 -0
- data/sample/ppt/rabbit-with-ruby.png +0 -0
- data/sample/pre.rd +123 -0
- data/sample/rabbit/theme/festival/festival.rb +6 -0
- data/sample/rabbit/theme/gl-sample/gl-sample.rb +29 -0
- data/sample/rabbit/theme/image-with-frame/image-with-frame.rb +2 -0
- data/sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb +3 -0
- data/sample/rabbit/theme/image-without-frame/image-without-frame.rb +2 -0
- data/sample/rabbit/theme/kof2005/kof2005.rb +9 -0
- data/sample/rabbit/theme/kof2005/property.rb +3 -0
- data/sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb +6 -0
- data/sample/rabbit/theme/lldn/lldn.rb +20 -0
- data/sample/rabbit/theme/pdf/pdf.rb +16 -0
- data/sample/rabbit/theme/pdf/property.rb +4 -0
- data/sample/rabbit/theme/ppt/ppt.rb +5 -0
- data/sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb +11 -0
- data/sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb +4 -0
- data/sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb +2 -0
- data/sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb +5 -0
- data/sample/rabbit-balloon.obj +93 -0
- data/sample/rabbit-en.hiki +399 -0
- data/sample/rabbit-en.md +410 -0
- data/sample/rabbit-en.rd +511 -0
- data/sample/rabbit-history.svg +280 -0
- data/sample/rabbit-implementation.rd +182 -0
- data/sample/rabbit-slide-show-logo.svg +597 -0
- data/sample/rabbit.dia +408 -0
- data/sample/rabbit.hiki +398 -0
- data/sample/rabbit.md +423 -0
- data/sample/rabbit.rd +520 -0
- data/sample/rabbit.xcf +0 -0
- data/sample/rabbit_icon.ico +0 -0
- data/sample/rabbit_icon.png +0 -0
- data/sample/shocker.jpg +0 -0
- data/sample/slide-property.hiki +14 -0
- data/sample/slide-property.rab +18 -0
- data/sample/spiral.svg +29 -0
- data/sample/table-en.rd +55 -0
- data/sample/table.hiki +34 -0
- data/sample/table.rd +55 -0
- data/sample/usagi.png +0 -0
- data/sample/video.md +19 -0
- data/sample/video.rab +17 -0
- metadata +1000 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Copyright (C) 2004-2025 Sutou Kouhei <kou@cozmixng.org>
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require "forwardable"
|
|
18
|
+
|
|
19
|
+
require_relative "../../progress"
|
|
20
|
+
|
|
21
|
+
module Rabbit
|
|
22
|
+
module Renderer
|
|
23
|
+
module Display
|
|
24
|
+
module Progress
|
|
25
|
+
extend Forwardable
|
|
26
|
+
|
|
27
|
+
def_delegator(:@progress, :foreground, :progress_foreground)
|
|
28
|
+
def_delegator(:@progress, :foreground=, :progress_foreground=)
|
|
29
|
+
def_delegator(:@progress, :background, :progress_background)
|
|
30
|
+
def_delegator(:@progress, :background=, :progress_background=)
|
|
31
|
+
def_delegator(:@progress, :clear_color, :clear_progress_color)
|
|
32
|
+
|
|
33
|
+
def initialize(*args, &block)
|
|
34
|
+
super
|
|
35
|
+
init_progress
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
def init_progress
|
|
40
|
+
@progress = Rabbit::Progress.new
|
|
41
|
+
@progress_end_timer = nil
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def start_progress(max)
|
|
45
|
+
return if max.zero?
|
|
46
|
+
|
|
47
|
+
if @progress_end_timer
|
|
48
|
+
@progress_end_timer = nil
|
|
49
|
+
@progress.hide
|
|
50
|
+
end
|
|
51
|
+
update_menu
|
|
52
|
+
@progress.start_progress(max, @canvas.window)
|
|
53
|
+
adjust_progress_window
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def update_progress(i)
|
|
57
|
+
return if @progress_end_timer
|
|
58
|
+
@progress.update_progress(i)
|
|
59
|
+
Utils.process_pending_events
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def end_progress
|
|
63
|
+
@progress.end_progress
|
|
64
|
+
@progress_end_timer = true
|
|
65
|
+
Rabbit::Qt.single_shot(100) {
|
|
66
|
+
@progress.hide
|
|
67
|
+
update_menu
|
|
68
|
+
@progress_end_timer = nil
|
|
69
|
+
}
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def configured(x, y, w, h)
|
|
73
|
+
super
|
|
74
|
+
adjust_progress_window
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def adjust_progress_window
|
|
78
|
+
if @window and @progress.window
|
|
79
|
+
Utils.move_to_top_left(@window, @progress.window)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
# Copyright (C) 2025 Rabbit Qt Contributors
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require_relative "qt-drawing-area-primitive"
|
|
18
|
+
require_relative "menu"
|
|
19
|
+
require_relative "progress"
|
|
20
|
+
require_relative "mask"
|
|
21
|
+
require_relative "search"
|
|
22
|
+
require_relative "gesture"
|
|
23
|
+
require_relative "graffiti"
|
|
24
|
+
require_relative "button-handler"
|
|
25
|
+
require_relative "motion-handler"
|
|
26
|
+
require_relative "scroll-handler"
|
|
27
|
+
require_relative "info"
|
|
28
|
+
require_relative "spotlight"
|
|
29
|
+
require_relative "magnifier"
|
|
30
|
+
|
|
31
|
+
module Rabbit
|
|
32
|
+
module Renderer
|
|
33
|
+
module Display
|
|
34
|
+
module QtDrawingAreaBase
|
|
35
|
+
include QtDrawingAreaPrimitive
|
|
36
|
+
|
|
37
|
+
include Menu
|
|
38
|
+
include Graffiti
|
|
39
|
+
include Mask
|
|
40
|
+
include Progress
|
|
41
|
+
include Search
|
|
42
|
+
include Gesture
|
|
43
|
+
include ButtonHandler
|
|
44
|
+
include MotionHandler
|
|
45
|
+
include ScrollHandler
|
|
46
|
+
include Info
|
|
47
|
+
include Spotlight
|
|
48
|
+
include Magnifier
|
|
49
|
+
|
|
50
|
+
def initialize(canvas)
|
|
51
|
+
@caching = nil
|
|
52
|
+
@need_reload_theme = false
|
|
53
|
+
super
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def attach_to(window, container=nil)
|
|
57
|
+
super
|
|
58
|
+
# Set initial size from the container widget so theme applier
|
|
59
|
+
# can query canvas.width/height during parse.
|
|
60
|
+
if container.respond_to?(:width) && container.respond_to?(:height)
|
|
61
|
+
w = container.width
|
|
62
|
+
h = container.height
|
|
63
|
+
update_size(w, h) if w && h && w > 0 && h > 0
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def update_size(width, height)
|
|
68
|
+
return if @real_width == width && @real_height == height
|
|
69
|
+
super
|
|
70
|
+
clear_compiled_slides
|
|
71
|
+
@mask = nil
|
|
72
|
+
set_hole
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def post_apply_theme
|
|
76
|
+
if @need_reload_theme
|
|
77
|
+
@need_reload_theme = false
|
|
78
|
+
reload_theme
|
|
79
|
+
else
|
|
80
|
+
super
|
|
81
|
+
update_menu
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def post_move(old_index, index)
|
|
86
|
+
update_title
|
|
87
|
+
reset_adjustment
|
|
88
|
+
clear_graffiti
|
|
89
|
+
super
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def post_fullscreen
|
|
93
|
+
super
|
|
94
|
+
update_menu
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def post_unfullscreen
|
|
98
|
+
super
|
|
99
|
+
update_menu
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def post_iconify
|
|
103
|
+
super
|
|
104
|
+
update_menu
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def pre_parse
|
|
108
|
+
super
|
|
109
|
+
update_menu
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def post_parse
|
|
113
|
+
super
|
|
114
|
+
clear_button_handler
|
|
115
|
+
update_title
|
|
116
|
+
update_menu
|
|
117
|
+
if @need_reload_theme
|
|
118
|
+
@need_reload_theme = false
|
|
119
|
+
reload_theme
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def index_mode_on
|
|
124
|
+
super
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def index_mode_off
|
|
128
|
+
super
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def pre_toggle_index_mode
|
|
132
|
+
super
|
|
133
|
+
Rabbit::Qt.process_pending_events
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def post_toggle_index_mode
|
|
137
|
+
@canvas.activate("ClearGraffiti")
|
|
138
|
+
update_menu
|
|
139
|
+
update_title
|
|
140
|
+
super
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def pre_print(n_slides)
|
|
144
|
+
start_progress(n_slides)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def printing(i)
|
|
148
|
+
update_progress(i)
|
|
149
|
+
continue = !@canvas.quitted?
|
|
150
|
+
continue
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def post_print(canceled)
|
|
154
|
+
end_progress
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def pre_to_pixbuf(n_slides)
|
|
158
|
+
super
|
|
159
|
+
start_progress(n_slides)
|
|
160
|
+
@pixbufing_size = [width, height]
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def to_pixbufing(i)
|
|
164
|
+
update_progress(i)
|
|
165
|
+
continue = @pixbufing_size == [width, height] &&
|
|
166
|
+
!@canvas.quitted? && !@canvas.applying?
|
|
167
|
+
super or continue
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def post_to_pixbuf(canceled)
|
|
171
|
+
super
|
|
172
|
+
end_progress
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def cache_all_slides
|
|
176
|
+
pre_cache_all_slides(@canvas.n_slides)
|
|
177
|
+
canceled = false
|
|
178
|
+
@canvas.slides.each_with_index do |slide, i|
|
|
179
|
+
@canvas.change_current_index(i) do
|
|
180
|
+
compile_slide(slide)
|
|
181
|
+
end
|
|
182
|
+
unless caching_all_slides(i)
|
|
183
|
+
canceled = true
|
|
184
|
+
break
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
post_cache_all_slides(canceled)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def pre_cache_all_slides(n_slides)
|
|
191
|
+
@caching = true
|
|
192
|
+
@caching_size = [width, height]
|
|
193
|
+
start_progress(n_slides)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def caching_all_slides(i)
|
|
197
|
+
update_progress(i)
|
|
198
|
+
continue = @caching_size == [width, height] &&
|
|
199
|
+
!@canvas.quitted? && !@canvas.applying?
|
|
200
|
+
continue
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def post_cache_all_slides(canceled)
|
|
204
|
+
end_progress
|
|
205
|
+
@caching = false
|
|
206
|
+
return if @canvas.quitted?
|
|
207
|
+
if canceled
|
|
208
|
+
reload_theme
|
|
209
|
+
else
|
|
210
|
+
@area.update
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
def confirm(message)
|
|
215
|
+
result = QMessageBox.question(
|
|
216
|
+
@area, "Rabbit", message,
|
|
217
|
+
QMessageBox::Ok | QMessageBox::Cancel
|
|
218
|
+
)
|
|
219
|
+
result == QMessageBox::Ok
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
def reload_theme(&callback)
|
|
223
|
+
if @canvas.applying?
|
|
224
|
+
@need_reload_theme = true
|
|
225
|
+
else
|
|
226
|
+
super
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
def reload_source(&callback)
|
|
231
|
+
if @canvas.need_reload_source?
|
|
232
|
+
callback ||= Utils.process_pending_events_proc
|
|
233
|
+
begin
|
|
234
|
+
@canvas.reload_source(callback)
|
|
235
|
+
rescue
|
|
236
|
+
Rabbit.logger.error($!)
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
def attach_to(window, container=nil, &block)
|
|
242
|
+
super
|
|
243
|
+
|
|
244
|
+
init_menu
|
|
245
|
+
init_gesture_actions
|
|
246
|
+
add_widget_to_container(container || window)
|
|
247
|
+
@area.show
|
|
248
|
+
attach_menu(window)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
def detach
|
|
252
|
+
detach_menu(@window)
|
|
253
|
+
@area.hide
|
|
254
|
+
super
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
def toggle_whiteout
|
|
258
|
+
super
|
|
259
|
+
@area.update
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
def toggle_blackout
|
|
263
|
+
super
|
|
264
|
+
@area.update
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
def reset_adjustment
|
|
268
|
+
super
|
|
269
|
+
@area.update
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
def post_init_gui
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
def draw_slide(slide, simulation, &block)
|
|
276
|
+
super do |*args|
|
|
277
|
+
block.call(*args)
|
|
278
|
+
magnify {block.call(*args)} unless simulation
|
|
279
|
+
end
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
private
|
|
283
|
+
def add_widget_to_container(container)
|
|
284
|
+
if container.respond_to?(:set_central_widget)
|
|
285
|
+
# Use a wrapper with zero-margin layout to ensure
|
|
286
|
+
# the widget fills all available space (Qt6 requirement)
|
|
287
|
+
wrapper = QWidget.new
|
|
288
|
+
layout = QVBoxLayout.new(wrapper)
|
|
289
|
+
layout.set_contents_margins(0, 0, 0, 0)
|
|
290
|
+
layout.set_spacing(0)
|
|
291
|
+
layout.add_widget(@area)
|
|
292
|
+
container.set_central_widget(wrapper)
|
|
293
|
+
# Also clear the QMainWindow's own layout margins
|
|
294
|
+
if container.layout
|
|
295
|
+
container.layout.set_contents_margins(0, 0, 0, 0)
|
|
296
|
+
end
|
|
297
|
+
elsif container.respond_to?(:add_widget)
|
|
298
|
+
container.add_widget(@area)
|
|
299
|
+
else
|
|
300
|
+
layout = QVBoxLayout.new(container)
|
|
301
|
+
layout.set_contents_margins(0, 0, 0, 0)
|
|
302
|
+
layout.set_spacing(0)
|
|
303
|
+
layout.add_widget(@area)
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
def init_drawing_area
|
|
308
|
+
super
|
|
309
|
+
set_button_event(@area)
|
|
310
|
+
set_motion_event(@area)
|
|
311
|
+
set_scroll_event(@area)
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
def draw(widget)
|
|
315
|
+
reload_source unless @caching
|
|
316
|
+
|
|
317
|
+
if whiteouting?
|
|
318
|
+
paint_solid("white")
|
|
319
|
+
elsif blackouting?
|
|
320
|
+
paint_solid("black")
|
|
321
|
+
else
|
|
322
|
+
super
|
|
323
|
+
draw_graffiti
|
|
324
|
+
draw_gesture
|
|
325
|
+
draw_spotlight
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
def paint_solid(color_name)
|
|
330
|
+
qcolor = Color.parse(color_name).to_qcolor
|
|
331
|
+
@painter.fill_rect(0, 0, @area.width, @area.height, qcolor)
|
|
332
|
+
end
|
|
333
|
+
end
|
|
334
|
+
end
|
|
335
|
+
end
|
|
336
|
+
end
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Copyright (C) 2025 Rabbit Qt Contributors
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require_relative "../../qt"
|
|
18
|
+
require_relative "../../utils"
|
|
19
|
+
require_relative "../engine"
|
|
20
|
+
require_relative "base"
|
|
21
|
+
require_relative "cursor"
|
|
22
|
+
require_relative "qt-drawing-widget"
|
|
23
|
+
|
|
24
|
+
module Rabbit
|
|
25
|
+
module Renderer
|
|
26
|
+
module Display
|
|
27
|
+
module QtDrawingAreaPrimitive
|
|
28
|
+
include Base
|
|
29
|
+
include Cursor
|
|
30
|
+
|
|
31
|
+
attr_accessor :filename
|
|
32
|
+
def initialize(canvas)
|
|
33
|
+
super
|
|
34
|
+
@filename = nil
|
|
35
|
+
clear_compiled_slides
|
|
36
|
+
init_drawing_area
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def widget
|
|
40
|
+
@area
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def clear_slide
|
|
44
|
+
super
|
|
45
|
+
clear_compiled_slide
|
|
46
|
+
redraw
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def post_fullscreen
|
|
50
|
+
update_cursor(:none, true)
|
|
51
|
+
clear_compiled_slides
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def post_unfullscreen
|
|
55
|
+
update_cursor(nil, true)
|
|
56
|
+
update_menu
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def post_iconify
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def post_apply_theme
|
|
63
|
+
clear_compiled_slides
|
|
64
|
+
queue_draw
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def post_move(old_index, index)
|
|
68
|
+
queue_draw
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def post_move_in_slide(old_index, index)
|
|
72
|
+
queue_draw
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def pre_parse
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def post_parse
|
|
79
|
+
clear_compiled_slides
|
|
80
|
+
update_cursor(:none, true)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def pre_toggle_index_mode
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def post_toggle_index_mode
|
|
87
|
+
queue_draw
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def pre_to_pixbuf(n_slides)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def to_pixbufing(i)
|
|
94
|
+
true
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def post_to_pixbuf(canceled)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def index_mode_on
|
|
101
|
+
keep_cursor(:index)
|
|
102
|
+
update_cursor(nil, true)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def index_mode_off
|
|
106
|
+
restore_cursor(:index)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def display?
|
|
110
|
+
true
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def do_paint(painter, w, h)
|
|
114
|
+
update_size(w, h)
|
|
115
|
+
init_context(painter)
|
|
116
|
+
draw(@area)
|
|
117
|
+
finish_renderer
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def redraw
|
|
121
|
+
@area.update
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def queue_draw
|
|
125
|
+
@area.update
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
private
|
|
129
|
+
def init_drawing_area
|
|
130
|
+
@area = QtDrawingWidget.new(self)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def set_draw
|
|
134
|
+
# Not needed - QtDrawingWidget calls do_paint via paint_event
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def set_map
|
|
138
|
+
# Not needed - Qt handles widget mapping automatically
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def draw(widget)
|
|
142
|
+
draw_current_slide
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def draw_current_slide
|
|
146
|
+
slide = @canvas.current_slide
|
|
147
|
+
if slide
|
|
148
|
+
begin
|
|
149
|
+
compile_slide(slide) unless compiled_slide?(slide)
|
|
150
|
+
slide.draw(@canvas, false)
|
|
151
|
+
rescue => e
|
|
152
|
+
Rabbit.logger.warn(e)
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def reload_theme(&callback)
|
|
158
|
+
callback ||= Utils.process_pending_events_proc
|
|
159
|
+
@canvas.activate("ReloadTheme", &callback)
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
def clear_compiled_slide(slide=nil)
|
|
163
|
+
@compiled_slides.delete(slide || @canvas.current_slide)
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
def clear_compiled_slides
|
|
167
|
+
@compiled_slides = {}
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def compiled_slide?(slide)
|
|
171
|
+
@compiled_slides.has_key?(slide)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def compile_slide(slide)
|
|
175
|
+
@compiled_slides[slide] = true
|
|
176
|
+
slide.draw(@canvas, true)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def grab
|
|
180
|
+
@area.grab_mouse
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def ungrab
|
|
184
|
+
@area.release_mouse
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Copyright (C) 2025 Rabbit Qt Contributors
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require_relative "../engine"
|
|
18
|
+
require_relative "qt-drawing-area-primitive"
|
|
19
|
+
|
|
20
|
+
module Rabbit
|
|
21
|
+
module Renderer
|
|
22
|
+
module Display
|
|
23
|
+
class QtDrawingAreaViewOnly < Renderer::Base
|
|
24
|
+
include Renderer::Engine::QtPainter
|
|
25
|
+
include QtDrawingAreaPrimitive
|
|
26
|
+
|
|
27
|
+
def attach_to(window, container=nil, &block)
|
|
28
|
+
super
|
|
29
|
+
add_widgets_to_container(@container, &block)
|
|
30
|
+
widget.show
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def detach
|
|
34
|
+
widget.hide
|
|
35
|
+
super
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
def add_widgets_to_container(container, &block)
|
|
40
|
+
if block_given?
|
|
41
|
+
yield(container, @area)
|
|
42
|
+
else
|
|
43
|
+
if container.respond_to?(:add_widget)
|
|
44
|
+
container.add_widget(@area)
|
|
45
|
+
elsif container.respond_to?(:layout) && container.layout
|
|
46
|
+
container.layout.add_widget(@area)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright (C) 2025 Rabbit Qt Contributors
|
|
2
|
+
#
|
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
6
|
+
# (at your option) any later version.
|
|
7
|
+
#
|
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
+
# GNU General Public License for more details.
|
|
12
|
+
#
|
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
+
|
|
17
|
+
require_relative "../engine"
|
|
18
|
+
require_relative "qt-drawing-area-base"
|
|
19
|
+
|
|
20
|
+
module Rabbit
|
|
21
|
+
module Renderer
|
|
22
|
+
module Display
|
|
23
|
+
class QtDrawingArea < Renderer::Base
|
|
24
|
+
include Renderer::Engine::QtPainter
|
|
25
|
+
include QtDrawingAreaBase
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|