示例#1
0
void GfxAnimation::DrawFrameCenterPos(eDirection direction, int32_t frameIndex, 
    const Point3D& centerPosition, eGfxPalette paletteIndex)
{
    bool isLoaded = IsLoaded() && HasFrame(frameIndex);
    assert(isLoaded);
    if (!isLoaded)
    {
        return;
    }

    if (direction > 0)
    {
        assert(m_DirectionCount > direction);
        if (!(m_DirectionCount > direction))
        {
            return;
        }
    }

    const Point3D position {
        centerPosition.x - (m_FrameSequence[frameIndex].directions[direction].rcImage.w / 2),
        centerPosition.y - (m_FrameSequence[frameIndex].directions[direction].rcImage.h / 2),
        centerPosition.z
    };

    // render image
    const GfxDrawImageParams params {
        paletteIndex,
        m_FrameSequence[frameIndex].directions[direction].flipx, 
        m_FrameSequence[frameIndex].directions[direction].flipy
    };
    GfxRenderDevice::Instance().RenderSubImage(m_SpriteSheetImage, m_FrameSequence[frameIndex].directions[direction].rcImage, position, params);
}
示例#2
0
LONG Date::GetCreateWindowStyle()
{
	LONG style = WS_CHILD | ES_MULTILINE | ES_AUTOHSCROLL;

	if (HasFrame())
		style |= WS_BORDER;

	if (!IsEditable())
		style |= ES_READONLY;

	if (IsKeepCurrent())
		style |= ES_READONLY;


	return style;
}