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