Class: TkImage
- Includes:
- Tk
- Defined in:
- ext/lib/tk/image.rb
Direct Known Subclasses
Tk::ICONS, Tk::Tcllib::ICO, TkBitmapImage, TkPhotoImage, TkPixmapImage
Constant Summary collapse
- TkCommandNames =
['image'.freeze].freeze
- Tk_IMGTBL =
TkCore::INTERP.create_table
Constants included from Tk
Tk::AUTO_PATH, Tk::Checkbutton, Tk::CloneMenu, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::Labelframe, Tk::MenuButton, Tk::OptionMenuButton, Tk::PACKAGE_PATH, Tk::Panedwindow, Tk::RELEASE_DATE, Tk::Radiobutton, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, Tk::X_Scrollable, Tk::Y_Scrollable
Constants included from Tk::Encoding
Tk::Encoding::BINARY, Tk::Encoding::BINARY_NAME, Tk::Encoding::DEFAULT_EXTERNAL_NAME, Tk::Encoding::DEFAULT_INTERNAL_NAME, Tk::Encoding::ENCODING_TABLE, Tk::Encoding::RubyEncoding, Tk::Encoding::UNKNOWN, Tk::Encoding::UTF8_NAME
Constants included from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, TkCore::INTERP_THREAD_STATUS, TkCore::RUN_EVENTLOOP_ON_MAIN_THREAD, TkCore::WIDGET_DESTROY_HOOK, TkCore::WITH_ENCODING, TkCore::WITH_RUBY_VM
Constants included from TkComm
TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames
Constants included from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Class Method Summary collapse
Instance Method Summary collapse
- #delete ⇒ Object
- #height ⇒ Object
-
#initialize(keys = nil) ⇒ TkImage
constructor
A new instance of TkImage.
- #inuse ⇒ Object
- #itemtype ⇒ Object
- #width ⇒ Object
Methods included from Tk
BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, delete_kinsoku, destroy, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, #root, show_kinsoku, sleep, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
Methods included from Tk::Encoding
#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names
Methods included from TkCore
#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem
Methods included from TkComm
_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, install_cmd, #install_cmd, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
Methods included from TkUtil
_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods inherited from TkObject
#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkConfigMethod
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
Methods included from TkTreatFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Constructor Details
#initialize(keys = nil) ⇒ TkImage
Returns a new instance of TkImage.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'ext/lib/tk/image.rb', line 65 def initialize(keys=nil) @path = nil without_creating = false if keys.kind_of?(Hash) keys = _symbolkey2str(keys) @path = keys.delete('imagename') without_creating = keys.delete('without_creating') end unless @path Tk_Image_ID.mutex.synchronize{ # @path = Tk_Image_ID.join('') @path = Tk_Image_ID.join(TkCore::INTERP._ip_id_) Tk_Image_ID[1].succ! } end unless without_creating tk_call_without_enc('image', 'create', @type, @path, *hash_kv(keys, true)) end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Class Method Details
.names ⇒ Object
106 107 108 109 110 111 112 |
# File 'ext/lib/tk/image.rb', line 106 def TkImage.names Tk_IMGTBL.mutex.synchronize{ Tk.tk_call_without_enc('image', 'names').split.collect!{|id| (Tk_IMGTBL[id])? Tk_IMGTBL[id] : id } } end |
.new(keys = nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'ext/lib/tk/image.rb', line 24 def self.new(keys=nil) if keys.kind_of?(Hash) name = nil if keys.key?(:imagename) name = keys[:imagename] elsif keys.key?('imagename') name = keys['imagename'] end if name if name.kind_of?(TkImage) obj = name else name = _get_eval_string(name) obj = nil Tk_IMGTBL.mutex.synchronize{ obj = Tk_IMGTBL[name] } end if obj if !(keys[:without_creating] || keys['without_creating']) keys = _symbolkey2str(keys) keys.delete('imagename') keys.delete('without_creating') obj.instance_eval{ tk_call_without_enc('image', 'create', @type, @path, *hash_kv(keys, true)) } end return obj end end end (obj = self.allocate).instance_eval{ Tk_IMGTBL.mutex.synchronize{ initialize(keys) Tk_IMGTBL[@path] = self } } obj end |
.types ⇒ Object
114 115 116 |
# File 'ext/lib/tk/image.rb', line 114 def TkImage.types Tk.tk_call_without_enc('image', 'types').split end |
Instance Method Details
#delete ⇒ Object
86 87 88 89 90 91 92 |
# File 'ext/lib/tk/image.rb', line 86 def delete Tk_IMGTBL.mutex.synchronize{ Tk_IMGTBL.delete(@id) if @id } tk_call_without_enc('image', 'delete', @path) self end |
#height ⇒ Object
93 94 95 |
# File 'ext/lib/tk/image.rb', line 93 def height number(tk_call_without_enc('image', 'height', @path)) end |
#inuse ⇒ Object
96 97 98 |
# File 'ext/lib/tk/image.rb', line 96 def inuse bool(tk_call_without_enc('image', 'inuse', @path)) end |
#itemtype ⇒ Object
99 100 101 |
# File 'ext/lib/tk/image.rb', line 99 def itemtype tk_call_without_enc('image', 'type', @path) end |
#width ⇒ Object
102 103 104 |
# File 'ext/lib/tk/image.rb', line 102 def width number(tk_call_without_enc('image', 'width', @path)) end |