Module: Rabbit

Defined in:
lib/rabbit/trackball.rb,
lib/rabbit/keys.rb,
lib/rabbit/menu.rb,
lib/rabbit/frame.rb,
lib/rabbit/front.rb,
lib/rabbit/image.rb,
lib/rabbit/stock.rb,
lib/rabbit/utils.rb,
lib/rabbit/action.rb,
lib/rabbit/canvas.rb,
lib/rabbit/logger.rb,
lib/rabbit/parser.rb,
lib/rabbit/rabbit.rb,
lib/rabbit/source.rb,
lib/rabbit/console.rb,
lib/rabbit/element.rb,
lib/rabbit/gettext.rb,
lib/rabbit/twitter.rb,
lib/rabbit/div/tofu.rb,
lib/rabbit/progress.rb,
lib/rabbit/renderer.rb,
lib/rabbit/searcher.rb,
lib/rabbit/formatter.rb,
lib/rabbit/image/dia.rb,
lib/rabbit/image/eps.rb,
lib/rabbit/image/pdf.rb,
lib/rabbit/image/svg.rb,
lib/rabbit/parser/rd.rb,
lib/rabbit/parser/rd.rb,
lib/rabbit/soap/base.rb,
lib/rabbit/image/base.rb,
lib/rabbit/image/gimp.rb,
lib/rabbit/logger/gui.rb,
lib/rabbit/parser/pdf.rb,
lib/rabbit/source/uri.rb,
lib/rabbit/element/tag.rb,
lib/rabbit/info-window.rb,
lib/rabbit/logger/base.rb,
lib/rabbit/parser/base.rb,
lib/rabbit/parser/wiki.rb,
lib/rabbit/parser/wiki.rb,
lib/rabbit/renderer/gl.rb,
lib/rabbit/soap/driver.rb,
lib/rabbit/soap/server.rb,
lib/rabbit/source/argf.rb,
lib/rabbit/source/base.rb,
lib/rabbit/source/file.rb,
lib/rabbit/source/hiki.rb,
lib/rabbit/theme/entry.rb,
lib/rabbit/xmlrpc/base.rb,
lib/rabbit/action/basic.rb,
lib/rabbit/action/radio.rb,
lib/rabbit/element/base.rb,
lib/rabbit/element/text.rb,
lib/rabbit/parser/image.rb,
lib/rabbit/action/toggle.rb,
lib/rabbit/element/block.rb,
lib/rabbit/element/image.rb,
lib/rabbit/element/slide.rb,
lib/rabbit/element/table.rb,
lib/rabbit/image/default.rb,
lib/rabbit/logger/stderr.rb,
lib/rabbit/renderer/base.rb,
lib/rabbit/search-window.rb,
lib/rabbit/source/memory.rb,
lib/rabbit/theme-browser.rb,
lib/rabbit/theme/applier.rb,
lib/rabbit/theme/manager.rb,
lib/rabbit/xmlrpc/client.rb,
lib/rabbit/xmlrpc/server.rb,
lib/rabbit/cursor-manager.rb,
lib/rabbit/default-config.rb,
lib/rabbit/html/generator.rb,
lib/rabbit/parser/ext/tex.rb,
lib/rabbit/renderer/color.rb,
lib/rabbit/renderer/print.rb,
lib/rabbit/theme/searcher.rb,
lib/rabbit/gesture/handler.rb,
lib/rabbit/renderer/engine.rb,
lib/rabbit/renderer/kernel.rb,
lib/rabbit/renderer/pixmap.rb,
lib/rabbit/element/footnote.rb,
lib/rabbit/parser/ext/emacs.rb,
lib/rabbit/parser/ext/image.rb,
lib/rabbit/renderer/display.rb,
lib/rabbit/dependency-canvas.rb,
lib/rabbit/element/enum-list.rb,
lib/rabbit/element/item-list.rb,
lib/rabbit/gesture/processor.rb,
lib/rabbit/parser/ext/entity.rb,
lib/rabbit/parser/ext/escape.rb,
lib/rabbit/parser/ext/inline.rb,
lib/rabbit/parser/rd/visitor.rb,
lib/rabbit/theme-browser/tag.rb,
lib/rabbit/graffiti/processor.rb,
lib/rabbit/parser/ext/coderay.rb,
lib/rabbit/parser/rd/ext/base.rb,
lib/rabbit/parser/wiki/output.rb,
lib/rabbit/renderer/pixmap/gl.rb,
lib/rabbit/source/slide-share.rb,
lib/rabbit/theme-browser/page.rb,
lib/rabbit/theme-browser/tree.rb,
lib/rabbit/element/index-slide.rb,
lib/rabbit/element/method-list.rb,
lib/rabbit/element/title-slide.rb,
lib/rabbit/parser/ext/aafigure.rb,
lib/rabbit/parser/ext/enscript.rb,
lib/rabbit/parser/rd/ext/image.rb,
lib/rabbit/parser/rd/ext/refer.rb,
lib/rabbit/renderer/display/gl.rb,
lib/rabbit/renderer/engine/gdk.rb,
lib/rabbit/renderer/pixmap/gdk.rb,
lib/rabbit/renderer/print/base.rb,
lib/rabbit/element/poppler-page.rb,
lib/rabbit/element/preformatted.rb,
lib/rabbit/element/text-element.rb,
lib/rabbit/parser/ext/blockdiag.rb,
lib/rabbit/parser/pause-support.rb,
lib/rabbit/parser/rd/ext/entity.rb,
lib/rabbit/renderer/pixmap/base.rb,
lib/rabbit/renderer/print/cairo.rb,
lib/rabbit/element/block-element.rb,
lib/rabbit/element/poppler-slide.rb,
lib/rabbit/element/slide-element.rb,
lib/rabbit/element/text-renderer.rb,
lib/rabbit/middleware/controller.rb,
lib/rabbit/renderer/display/base.rb,
lib/rabbit/renderer/display/info.rb,
lib/rabbit/renderer/display/mask.rb,
lib/rabbit/renderer/display/menu.rb,
lib/rabbit/renderer/engine/cairo.rb,
lib/rabbit/renderer/pixmap/cairo.rb,
lib/rabbit/renderer/print/layout.rb,
lib/rabbit/element/base/draw-hook.rb,
lib/rabbit/graffiti/config-dialog.rb,
lib/rabbit/theme-browser/document.rb,
lib/rabbit/parser/rd/rd2rabbit-lib.rb,
lib/rabbit/renderer/display/cursor.rb,
lib/rabbit/renderer/display/search.rb,
lib/rabbit/renderer/print/multiple.rb,
lib/rabbit/element/description-list.rb,
lib/rabbit/renderer/display/gesture.rb,
lib/rabbit/element/container-element.rb,
lib/rabbit/element/image-title-slide.rb,
lib/rabbit/renderer/display/graffiti.rb,
lib/rabbit/renderer/display/progress.rb,
lib/rabbit/element/text-block-element.rb,
lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb,
lib/rabbit/renderer/display/magnifier.rb,
lib/rabbit/renderer/display/spotlight.rb,
lib/rabbit/element/poppler-title-slide.rb,
lib/rabbit/element/syntax-highlighting.rb,
lib/rabbit/parser/rd/ext/block-verbatim.rb,
lib/rabbit/renderer/display/key-handler.rb,
lib/rabbit/parser/rd/ext/inline-verbatim.rb,
lib/rabbit/renderer/display/drawing-area.rb,
lib/rabbit/renderer/display/hook-handler.rb,
lib/rabbit/theme-browser/rd2document-lib.rb,
lib/rabbit/element/text-container-element.rb,
lib/rabbit/renderer/display/clutter-embed.rb,
lib/rabbit/renderer/display/button-handler.rb,
lib/rabbit/renderer/display/scroll-handler.rb,
lib/rabbit/theme-browser/ext/block-verbatim.rb,
lib/rabbit/renderer/display/drawing-area-base.rb,
lib/rabbit/renderer/display/drawing-area-primitive.rb,
lib/rabbit/renderer/display/drawing-area-view-only.rb

Overview

trackball.rb

Implementation of a virtual trackball and vector.

Copyright (c) 2004 Masao Mutoh

You can redistribute it and/or modify it under the terms of
the original code license below.

Original code license is:

/*

* (c) Copyright 1993, 1994, Silicon Graphics, Inc.
* ALL RIGHTS RESERVED
* Permission to use, copy, modify, and distribute this software for
* any purpose and without fee is hereby granted, provided that the above
* copyright notice appear in all copies and that both the copyright notice
* and this permission notice appear in supporting documentation, and that
* the name of Silicon Graphics, Inc. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission.
*
* THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
* AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SILICON
* GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
* SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
* KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
* LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
* THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC.  HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
* POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
*
* US Government Users Restricted Rights
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
* (c)(1)(ii) of the Rights in Technical Data and Computer Software
* clause at DFARS 252.227-7013 and/or in similar or successor
* clauses in the FAR or the DOD or NASA FAR Supplement.
* Unpublished-- rights reserved under the copyright laws of the
* United States.  Contractor/manufacturer is Silicon Graphics,
* Inc., 2011 N.  Shoreline Blvd., Mountain View, CA 94039-7311.
*
* OpenGL(TM) is a trademark of Silicon Graphics, Inc.
*/

/*

* Trackball code:
*
* Implementation of a virtual trackball.
* Implemented by Gavin Bell, lots of ideas from Thant Tessman and
*   the August '88 issue of Siggraph's "Computer Graphics," pp. 121-129.
*
* Vector manip code:
*
* Original code from:
* David M. Ciemiewicz, Mark Grossman, Henry Moreton, and Paul Haeberli
*
* Much mucking with by:
* Gavin Bell
*/

Defined Under Namespace

Modules: Action, Config, Console, Converter, DirtyCount, Div, Element, Format, Gesture, GetText, Graffiti, HTML, ImageManipulable, Keys, Locale, Logger, Middleware, ModuleLoader, Parser, Renderer, SOAP, ScreenInfo, Source, Stock, SystemRunner, TemporaryFile, Theme, TrackBall, Utils, XMLRPC Classes: AAFigureCanNotHandleError, ApplyFinish, BlockDiagCanNotHandleError, CantAllocateColorError, CantFindHTMLTemplate, CantFindThemeRDTemplate, Canvas, CursorManager, DependencyCanvas, DiaCanNotHandleError, EPSCanNotHandleError, EmbedFrame, Error, Frame, Front, GIMPCanNotHandleError, ImageFileDoesNotExistError, ImageLoadError, ImageLoadWithExternalCommandError, ImageLoader, ImmutableSourceTypeError, InfoWindow, InvalidImageSizeError, InvalidMotionError, Menu, NoPrintSupportError, NotAvailableInterfaceError, NotExistError, NotFileError, NotReadableError, NullFrame, ParseError, ParseFinish, Progress, RT2RabbitVisitor, SearchWindow, Searcher, SourceUnreadableError, TeXCanNotHandleError, ThemeBrowser, ThemeExit, Twitter, UnknownCursorTypeError, UnknownPropertyError, UnsupportedFormatError

Constant Summary collapse

VERSION =
"1.0.4"
TMP_DIR_NAME =
".tmp"
@@gui_init_procs =
[]
@@cleanup_procs =
[]

Class Method Summary collapse

Class Method Details

.add_cleanup_proc(proc = Proc.new) ⇒ Object



29
30
31
# File 'lib/rabbit/rabbit.rb', line 29

def add_cleanup_proc(proc=Proc.new)
  @@cleanup_procs << proc
end

.add_gui_init_proc(proc = Proc.new) ⇒ Object



19
20
21
# File 'lib/rabbit/rabbit.rb', line 19

def add_gui_init_proc(proc=Proc.new)
  @@gui_init_procs << proc
end

.cleanupObject



33
34
35
36
37
# File 'lib/rabbit/rabbit.rb', line 33

def cleanup
  @@cleanup_procs.each do |proc|
    proc.call
  end
end

.gui_initObject



23
24
25
26
27
# File 'lib/rabbit/rabbit.rb', line 23

def gui_init
  @@gui_init_procs.each do |proc|
    proc.call
  end
end