globals
constant real TOOLTIP_CHAR_WIDTH = 0.003
constant real TOOLTIP_LINE_HEIGHT = 0.015
constant real TOOLTIP_TEXT_PADDING = 0.008
constant real TOOLTIP_MAX_WIDTH = 0.18
framehandle array IconButton
framehandle array IconHighlight
framehandle array IconImage
framehandle array TooltipFrame
framehandle array TooltipText
framehandle IconFrame = null
integer ICON_ROWS = 3
integer ICON_COLS = 1
hashtable ButtonHash = InitHashtable()
integer array IconButtonIndex
real udg_TooltipCalculatedWidth
real udg_TooltipCalculatedHeight
private constant real ICON_SIZE = 0.116
private constant real ICON_PADDING = 0.01
private constant real ICON_X_POS = 0.553
private constant real ICON_Y_POS = 0.0575
endglobals
function CreateIcon takes integer index, string iconPath, string tooltipText returns nothing
local trigger trigEnter
local trigger trigLeave
local trigger trigClick
local integer i = 0
set IconButton[index] = BlzCreateFrameByType("BUTTON", "IconBtn" + I2S(index), BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 0)
call BlzFrameSetSize(IconButton[index], ICON_SIZE, ICON_SIZE)
call BlzFrameSetAbsPoint(IconButton[index], FRAMEPOINT_CENTER, ICON_X_POS, ICON_Y_POS - index * (ICON_SIZE + ICON_PADDING))
call SaveInteger(ButtonHash, 0, GetHandleId(IconButton[index]), index)
set IconImage[index] = BlzCreateFrameByType("BACKDROP", "IconImage" + I2S(index), IconButton[index], "", 0)
call BlzFrameSetAllPoints(IconImage[index], IconButton[index])
call BlzFrameSetTexture(IconImage[index], iconPath, 0, true)
call BlzFrameSetLevel(BlzGetFrameByName("InventoryButton_0", 0), 2) // Not visible. Why?
call BlzFrameSetLevel(BlzGetFrameByName("InventoryButton_5", 0), 2) //Not visible. Why?
call BlzFrameSetLevel(IconImage[index], 0)
call BlzFrameSetLevel(IconButton[index], 0)
endfunction
private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
loop
exitwhen i == bj_MAX_PLAYERS
//call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_USE_ITEM, null)
set i = i + 1
endloop
call TriggerAddAction(t, function OnUseItem)
call CreateIcon(0, "war3mapImported\\9b1.blp", "")
call ItemsBase()
endfunction
endlibrary