summaryrefslogtreecommitdiff
path: root/lib/tkcanvas.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tkcanvas.rb')
-rw-r--r--lib/tkcanvas.rb326
1 files changed, 0 insertions, 326 deletions
diff --git a/lib/tkcanvas.rb b/lib/tkcanvas.rb
deleted file mode 100644
index a02db09..0000000
--- a/lib/tkcanvas.rb
+++ /dev/null
@@ -1,326 +0,0 @@
-#
-# tkcanvas.rb - Tk canvas classes
-# $Date$
-# by Yukihiro Matsumoto <matz@caelum.co.jp>
-
-require "tk"
-
-class TkCanvas<TkWindow
- def create_self
- tk_call 'canvas', path
- end
- def tagid(tag)
- if tag.kind_of?(TkcItem)
- tag.id
- else
- tag
- end
- end
- private :tagid
- def addtag(tag, *args)
- tk_send 'addtag', tagid(tag), *args
- end
- def addtag_above(tagOrId)
- addtag('above', tagOrId)
- end
- def addtag_all
- addtag('all')
- end
- def addtag_below(tagOrId)
- addtag('below', tagOrId)
- end
- def addtag_closest(x, y, halo=None, start=None)
- addtag('closest', x, y, halo, start)
- end
- def addtag_enclosed(x1, y1, x2, y2)
- addtag('enclosed', x1, y1, x2, y2)
- end
- def addtag_overlapping(x1, y1, x2, y2)
- addtag('overlapping', x1, y1, x2, y2)
- end
- def addtag_withtag(tagOrId)
- addtag('withtag', tagOrId)
- end
- def bbox(tag)
- list(tk_send('bbox', tagid(tag)))
- end
- def itembind(tag, seq, cmd=Proc.new)
- id = install_cmd(cmd)
- tk_send 'bind', tagid(tag), "<#{seq}>", id
- @cmdtbl.push id
- end
- def canvasx(x, *args)
- tk_send 'canvasx', x, *args
- end
- def canvasy(y, *args)
- tk_send 'canvasy', y, *args
- end
- def coords(tag, *args)
- tk_send 'coords', tagid(tag), *args
- end
- def dchars(tag, first, last=None)
- tk_send 'dchars', tagid(tag), first, last
- end
- def delete(*args)
- tk_send 'delete', *args
- end
- alias remove delete
- def dtag(tag, tag_to_del=None)
- tk_send 'dtag', tagid(tag), tag_to_del
- end
- def find(*args)
- tk_send 'find', *args
- end
- def itemfocus(tag)
- tk_send 'find', tagid(tag)
- end
- def gettags(tag)
- tk_send 'gettags', tagid(tag)
- end
- def icursor(tag, index)
- tk_send 'icursor', tagid(tag), index
- end
- def index(tag)
- tk_send 'index', tagid(tag), index
- end
- def lower(tag, below=None)
- tk_send 'lower', tagid(tag), below
- end
- def move(tag, x, y)
- tk_send 'move', tagid(tag), x, y
- end
- def itemtype(tag)
- tk_send 'type', tagid(tag)
- end
- def postscript(keys)
- tk_send "postscript", *hash_kv(keys)
- end
- def raise(tag, above=None)
- tk_send 'raise', tagid(tag), above
- end
- def scale(tag, x, y, xs, ys)
- tk_send 'scale', tagid(tag), x, y, xs, ys
- end
- def scan_mark(x, y)
- tk_send 'scan', 'mark', x, y
- end
- def scan_dragto(x, y)
- tk_send 'scan', 'dragto', x, y
- end
- def select(*args)
- tk_send 'select', *args
- end
- def xview(*index)
- tk_send 'xview', *index
- end
- def yview(*index)
- tk_send 'yview', *index
- end
-end
-
-class TkcItem<TkObject
- def initialize(parent, *args)
- if not parent.kind_of?(TkCanvas)
- fail format("%s need to be TkCanvas", parent.inspect)
- end
- @c = parent
- @path = parent.path
- if args[-1].kind_of? Hash
- keys = args.pop
- end
- @id = create_self(*args)
- if keys
- tk_call @path, 'itemconfigure', @id, *hash_kv(keys)
- end
- end
- def create_self(*args) end
- private :create_self
- def id
- return @id
- end
-
- def configure(slot, value)
- tk_call path, 'itemconfigure', @id, "-#{slot}", value
- end
-
- def addtag(tag)
- @c.addtag(tag, 'withtag', @id)
- end
- def bbox
- @c.bbox(@id)
- end
- def bind(seq, cmd=Proc.new)
- @c.itembind @id, seq, cmd
- end
- def coords(*args)
- @c.coords @id, *args
- end
- def dchars(first, last=None)
- @c.dchars @id, first, last
- end
- def dtag(ttd)
- @c.dtag @id, ttd
- end
- def focus
- @c.focus @id
- end
- def gettags
- @c.gettags @id
- end
- def icursor
- @c.icursor @id
- end
- def index
- @c.index @id
- end
- def insert(beforethis, string)
- @c.insert @id, beforethis, string
- end
- def lower(belowthis=None)
- @c.lower @id, belowthis
- end
- def move(xamount, yamount)
- @c.move @id, xamount, yamount
- end
- def raise(abovethis=None)
- @c.raise @id, abovethis
- end
- def scale(xorigin, yorigin, xscale, yscale)
- @c.scale @id, xorigin, yorigin, xscale, yscale
- end
- def itemtype
- @c.itemtype @id
- end
- def destroy
- tk_call path, 'delete', @id
- end
-end
-
-class TkcArc<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'arc', *args)
- end
-end
-class TkcBitmap<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'bitmap', *args)
- end
-end
-class TkcImage<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'image', *args)
- end
-end
-class TkcLine<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'line', *args)
- end
-end
-class TkcOval<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'oval', *args)
- end
-end
-class TkcPolygon<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'polygon', *args)
- end
-end
-class TkcRectangle<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'rectangle', *args)
- end
-end
-class TkcText<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'text', *args)
- end
-end
-class TkcWindow<TkcItem
- def create_self(*args)
- tk_call(@path, 'create', 'window', *args)
- end
-end
-class TkcGroup<TkcItem
- $tk_group_id = 'tkg00000'
- def create_self(*args)
- @id = $tk_group_id
- $tk_group_id = $tk_group_id.succ
- end
-
- def add(*tags)
- for i in tags
- i.addtag @id
- end
- end
- def add(*tags)
- for i in tags
- i.addtag @id
- end
- end
- def delete(*tags)
- for i in tags
- i.delete @id
- end
- end
- def list
- @c.find 'withtag', @id
- end
- alias remove delete
-end
-
-
-class TkImage<TkObject
- include Tk
-
- $tk_image_id = 'i00000'
- def initialize(keys=nil)
- @path = $tk_image_id
- $tk_image_id = $tk_image_id.succ
- tk_call 'image', 'create', @type, @path, *hash_kv(keys)
- end
-
- def height
- number(tk_call('image', 'height', @path))
- end
- def itemtype
- tk_call('image', 'type', @path)
- end
- def width
- number(tk_call('image', 'height', @path))
- end
-
- def TkImage.names
- tk_call('image', 'names', @path).split
- end
- def TkImage.types
- tk_call('image', 'types', @path).split
- end
-end
-
-class TkBitmapImage<TkImage
- def initialize(*args)
- @type = 'bitmap'
- super
- end
-end
-
-class TkPhotoImage<TkImage
- def initialize(*args)
- @type = 'photo'
- super
- end
-
- def blank
- tk_send 'blank'
- end
- def cget
- tk_send 'cget'
- end
- def get(x, y)
- tk_send 'get', x, y
- end
- def put(data, to=None)
- tk_send 'put', data, to
- end
-end