1/**
2 * @file Layout.h
3 * @brief UI Layout implementation.
4 */
5
6#pragma once
7
8#include <nn/types.h>
9
10namespace nn {
11namespace ui2d {
12class AnimTransform;
13class Pane;
14
15class Layout {
16public:
17 Layout();
18
19 virtual ~Layout();
20
21 virtual void DeleteAnimTransform(nn::ui2d::AnimTransform*);
22 virtual void BindAnimation(nn::ui2d::AnimTransform*);
23 virtual void UnbindAnimation(nn::ui2d::AnimTransform*);
24 virtual void UnbindAnimation(nn::ui2d::Pane*);
25 virtual void UnbindAllAnimation();
26
27 virtual void Animate();
28 virtual void UpdateAnimFrame(f32 frame);
29 virtual void AnimateAndUpdateAnimFrame(f32 frame);
30
31 static void SetAllocator(void* (*)(size_t, size_t, void*), void (*)(void*, void*), void*);
32 static void AllocateMemory(size_t, size_t);
33 static void AllocateMemory(size_t);
34 static void FreeMemory(void* src);
35
36 u64 _10;
37 u64 _18;
38 u64 _20;
39 u64 _28;
40 u64 _30;
41
42 u64 _40;
43 u64 _48;
44 u64 _50;
45 u64 _58;
46 u64 _60;
47
48 static void* g_pAllocateFunction;
49 static void* g_pFreeFunction;
50};
51} // namespace ui2d
52} // namespace nn
53