4. Load 2D Image [Psd Operations]

Chapters

            4.9 Psd Operations.

                        4.9.1 Get layer id from name

s32 id = g_psd->getPsdId("boss");

if (id != -1)

{

       // founded layer

}

                        4.9.2 Get layer id from prefix

// benefit for user known some layer name

s32 id = g_psd->getPsdIdByPrefix("Layer");

if (id != -1)

{

       // founded layer

}

                        4.9.3 Get layer name from id

irr::core::stringc name = g_psd->getPsdName(id);

                        4.9.4 Transformation layer (need id)

// set layer visible/invisible

// true is visible, false is invisible

g_psd->setPsdVisible(id, true);

 

// set layer position

// 10, 10 is x, y axis

g_psd->setPsdPos(id, 10, 10);

 

// set layer rotation and speed

// 0,1,0 is axis for rotation 0 = static, 1 = rotation

// always use with setPsdRotSpeed() function

g_psd->setPsdRot(id, irr::core::vector3df(0, 1, 0));

// rotation speed, more is fast, less is slow

g_psd->setPsdRotSpeed(id,50);

 

// set layer color

// color adjustment ARGB 0-255, 0 = transparent 255 = opaque

g_psd->setPsdColor(irr::video::SColor(255, 255, 0, 0));

 

// set draw flags

// anchor is layer position

// irr::arsa::EDT_CENTER

// irr::arsa::EDT_TOP

// irr::arsa::EDT_BOTTOM

// irr::arsa::EDT_LEFT

// irr::arsa::EDT_RIGHT

// irr::arsa::EDT_HFLIP

// irr::arsa::EDT_VFLIP

// irr::arsa::EDT_DEFAULT is top|left

g_psd->setPsdDrawFlags(id, irr::arsa::EDT_DEFAULT);

                        4.9.5 Animation Operations (need id)

// play/pause animation

g_psd->play(id);

g_psd->pause(id);

                        4.9.6 Query layer information (need id)

 

// get psd object

const irr::arsa::SPsd& psd = g_psd->getPsd(id);

 

// get psd offset, value set from script

const irr::core::vector3df& g_psd->getOffset(id);

 

// get max offset in this psd file, value set from script

const irr::core::aabbox3df& g_psd->getMaxOffset()

 

// get screen size in this psd file, value set from script

const irr::core::dimension2du& g_psd->getScreenSize()

 

// is this layer visible ?

bool vis = g_psd->isPsdVisible(id);

 

// get layer position

int x, y;

g_psd->getPsdPos(id, x, y);

 

// get layer size

irr::core::dimension2du size = g_psd->getPsdSize(id);

 

// get layer draw flags

irr::s32 flags = g_psd->getPsdDrawFlags(id);

 

// get layer rotation and speed

irr::core::vector3df rot = g_psd->getPsdRot(id);

irr::f32 sp = g_psd->getPsdRotSpeed(id);

 

// get layer color adjustment

const irr::video::SColor& color = g_psd->getPsdColor(id);

 

// get deltatime, benefit for outside function used

irr::f32 dt = g_psd->getDeltaTime();

 

// is still playing animation

// in loop mode always return true

bool playing = g_psd->isPlaying(id);

 

// get current font object

irr::gui::IGUIFont* psd_font = g_psd->getFont();

Tags: