曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.かつては雑草やヨモギと共に雨や露を分かち合っていたが、今では松やヒノキと共に霜や雪に耐えている。曾与蒿藜同雨露,Once sharing rain and dew with weeds and wormwood, now enduring frost and snow with pines and cypresses.终随松柏到冰霜.曾与蒿藜同雨露한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.,终随松柏到冰霜.譖セ荳手珍阯懷酔髮ィ髴イ�檎サ磯囂譚セ譟丞芦蜀ー髴�曾与蒿藜同雨露,鏇句笌钂胯棞鍚岄洦闇诧紝缁堥殢鏉炬煆鍒板啺闇�终随松柏到冰霜.曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.曾与蒿藜同雨露,终随松柏到冰霜.
# frozen_string_literal: false
#
# tk/tk_mac.rb : Access Mac-Specific functionality on OS X from Tk
# (supported by Tk8.6 or later)
#
# ATTENTION !!
# This is NOT TESTED. Because I have no test-environment.
#
require 'tk'
module Tk
module Mac
end
end
module Tk::Mac
extend TkCore
# event handler callbacks
def self.def_ShowPreferences(cmd=Proc.new)
ip_eval("proc ::tk::mac::ShowPreferences {} { #{install_cmd(cmd)} }")
nil
end
def self.def_OpenApplication(cmd=Proc.new)
ip_eval("proc ::tk::mac::OpenApplication {} { #{install_cmd(cmd)} }")
nil
end
def self.def_ReopenApplication(cmd=Proc.new)
ip_eval("proc ::tk::mac::ReopenApplication {} { #{install_cmd(cmd)} }")
nil
end
def self.def_OpenDocument(cmd=Proc.new)
ip_eval("proc ::tk::mac::OpenDocument {args} { eval #{install_cmd(cmd)} $args }")
nil
end
def self.def_PrintDocument(cmd=Proc.new)
ip_eval("proc ::tk::mac::PrintDocument {args} { eval #{install_cmd(cmd)} $args }")
nil
end
def self.def_Quit(cmd=Proc.new)
ip_eval("proc ::tk::mac::Quit {} { #{install_cmd(cmd)} }")
nil
end
def self.def_OnHide(cmd=Proc.new)
ip_eval("proc ::tk::mac::OnHide {} { #{install_cmd(cmd)} }")
nil
end
def self.def_OnShow(cmd=Proc.new)
ip_eval("proc ::tk::mac::OnShow {} { #{install_cmd(cmd)} }")
nil
end
def self.def_ShowHelp(cmd=Proc.new)
ip_eval("proc ::tk::mac::ShowHelp {} { #{install_cmd(cmd)} }")
nil
end
# additional dialogs
def self.standardAboutPanel
tk_call('::tk::mac::standardAboutPanel')
nil
end
# system configuration
def self.useCompatibilityMetrics(mode)
tk_call('::tk::mac::useCompatibilityMetrics', mode)
nil
end
def self.CGAntialiasLimit(limit)
tk_call('::tk::mac::CGAntialiasLimit', limit)
nil
end
def self.antialiasedtext(num)
tk_call('::tk::mac::antialiasedtext', num)
nil
end
def self.useThemedToplevel(mode)
tk_call('::tk::mac::useThemedToplevel', mode)
nil
end
end
class Tk::Mac::IconBitmap < TkImage
TkCommandNames = ['::tk::mac::iconBitmap'].freeze
def self.new(width, height, keys)
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('::tk::mac::iconBitmap',
@path, width, height, *hash_kv(keys, true))
}
end
return obj
end
end
end
(obj = self.allocate).instance_eval{
Tk_IMGTBL.mutex.synchronize{
initialize(width, height, keys)
Tk_IMGTBL[@path] = self
}
}
obj
end
def initialize(width, height, keys)
@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(TkCore::INTERP._ip_id_)
Tk_Image_ID[1].succ!
}
end
unless without_creating
tk_call_without_enc('::tk::mac::iconBitmap',
@path, width, height, *hash_kv(keys, true))
end
end
end