summaryrefslogtreecommitdiff
path: root/Runtime/GUI/UI9Slicing.cpp
blob: 01a014315deb6a4f0e4b2c887ac62d6a11b8fffc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "UI9Slicing.h"

UI9Slicing::UI9Slicing(ESlicing mode, Vector2 horizontal, Vector2 vertical, Vector2 texPixelSize, Vector2 size)
{
	m_Slicing = mode;
	m_Horizontal = horizontal.Clamp(0, texPixelSize.x, 0, texPixelSize.x);
	m_Vertical = vertical.Clamp(0, texPixelSize.y, 0, texPixelSize.y);

	if (m_Horizontal[0] + m_Horizontal[1] > texPixelSize.x || m_Vertical[0] + m_Vertical[1] > texPixelSize.y)
	{
		throw UIMeshException("UI9Slicing wrong parameter.");
	}
	m_TexSize = texPixelSize;
	m_Size = size;
}

void UI9Slicing::Draw()
{


	uint8* vb;
	uint16* ib;

	g_SharedVBO.GetChunk(sizeof(UIVertexLayout), sizeof(uint16), 4, 6, Primitive_Triangle, (void**)&vb, (void**)&ib);



	g_SharedVBO.ReleaseChunk(4, 6);
	g_SharedVBO.DrawChunk(UIMesh::s_UIVertexLayout);
}