local kName         = 'Pawksickles'
local Pawksickles   = {}
local EventMgr      = GetEventManager()
local CBM           = CALLBACK_MANAGER
local LMP           = LibStub( 'LibMediaProvider-1.0' )
if ( not LMP ) then return end

LMP:Register( 'font', 'DejaVu Sans',                [[Pawksickles/fonts/dejavusans.ttf]]                )
LMP:Register( 'font', 'DejaVu Sans Bold',           [[Pawksickles/fonts/dejavusans-bold.ttf]]           )
LMP:Register( 'font', 'DejaVu Sans BoldOblique',    [[Pawksickles/fonts/dejavusans-boldoblique.ttf]]    )
LMP:Register( 'font', 'DejaVu Sans Oblique',        [[Pawksickles/fonts/dejavusans-oblique.ttf]]        )
LMP:Register( 'font', 'DejaVu Sans Mono',           [[Pawksickles/fonts/dejavusansmono.ttf]]            )
LMP:Register( 'font', 'DejaVu Serif',               [[Pawksickles/fonts/dejavuserif.ttf]]               )

function Pawksickles:OnLoaded( event, addon )
    if ( addon ~= kName ) then
        return
    end

    CBM:RegisterCallback( 'PAWKSICKLES_FONT_CHANGED', function( ... ) self:SetFont( ... ) end )
    CBM:FireCallbacks( 'PAWKSICKLES_LOADED' )
end

function Pawksickles:SetFont( object, font )
    _G[ object ]:SetFont( font )
end

EventMgr:RegisterForEvent( 'Pawksickles', EVENT_ADD_ON_LOADED, function( ... ) Pawksickles:OnLoaded( ... ) end )