1 /*---------------------------------------------------------------------------*
2 Project: Horizon
3 File: GuiUtil.cpp
4
5 Copyright (C)2009-2012 Nintendo Co., Ltd. All rights reserved.
6
7 These coded instructions, statements, and computer programs contain
8 proprietary information of Nintendo of America Inc. and/or Nintendo
9 Company Ltd., and are protected by Federal copyright law. They may
10 not be disclosed to third parties or copied or duplicated in any form,
11 in whole or in part, without the prior written consent of Nintendo.
12
13 $Rev: 46365 $
14 *---------------------------------------------------------------------------*/
15
16 #include "GuiUtil.h"
17
18 namespace
19 {
20 // Renderer
21 demo::RenderSystemDrawing* s_pRenderSystem = NULL;
22 // Text writer
23 scene::TextWriter* s_pTextWriter = NULL;
24 }
25
26 namespace scene
27 {
28
29 // Record the render object.
RegisterDrawers(demo::RenderSystemDrawing * pRenderSystem,TextWriter * pTextWriter)30 void RegisterDrawers(demo::RenderSystemDrawing* pRenderSystem, TextWriter* pTextWriter)
31 {
32 s_pRenderSystem = pRenderSystem;
33 s_pTextWriter = pTextWriter;
34 }
35
36 // Get the renderer used by the GUI library.
GetRenderSystem()37 demo::RenderSystemDrawing* GetRenderSystem()
38 {
39 return s_pRenderSystem;
40 }
41
42 // Get the text writer used by the GUI library.
GetTextWriter()43 TextWriter* GetTextWriter()
44 {
45 return s_pTextWriter;
46 }
47
48 // Render box with line segments.
DrawBox(f32 x,f32 y,f32 width,f32 height,f32 lineWidth)49 void util::DrawBox(f32 x, f32 y, f32 width, f32 height, f32 lineWidth)
50 {
51 // Set the line width
52 s_pRenderSystem->SetLineWidth(lineWidth);
53 // Upper left -> upper right
54 s_pRenderSystem->DrawLine(x, y, x + width, y);
55 // Upper right -> lower right
56 s_pRenderSystem->DrawLine(x + width, y, x + width, y + height);
57 // Lower right -> lower left
58 s_pRenderSystem->DrawLine(x + width, y + height, x, y + height);
59 // Lower left -> upper left
60 s_pRenderSystem->DrawLine(x, y + height, x, y);
61 }
62
63 } // namespace scene
64