Merge pull request #3819 from arnova/subtitles_for_stacks
[vuplus_xbmc] / xbmc / settings / windows / GUIWindowTestPattern.h
1 #pragma once
2
3 /*
4  *      Copyright (C) 2005-2013 Team XBMC
5  *      http://xbmc.org
6  *
7  *  This Program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation; either version 2, or (at your option)
10  *  any later version.
11  *
12  *  This Program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with XBMC; see the file COPYING.  If not, see
19  *  <http://www.gnu.org/licenses/>.
20  *
21  */
22
23 #include "guilib/GUIWindow.h"
24
25 #define TEST_PATTERNS_COUNT 5
26 #define TEST_PATTERNS_BOUNCE_SQUARE_SIZE 100
27 #define TEST_PATTERNS_BLINK_CYCLE 100
28
29 class CGUIWindowTestPattern : public CGUIWindow
30 {
31 public:
32   CGUIWindowTestPattern(void);
33   virtual ~CGUIWindowTestPattern(void);
34   virtual bool OnMessage(CGUIMessage& message);
35   virtual bool OnAction(const CAction &action);
36   virtual void Render();
37   virtual void Process(unsigned int currentTime, CDirtyRegionList &dirtyregions);
38
39 protected:
40   virtual void DrawVerticalLines(int top, int left, int bottom, int right) = 0;
41   virtual void DrawHorizontalLines(int top, int left, int bottom, int right) = 0;
42   virtual void DrawCheckers(int top, int left, int bottom, int right) = 0;
43   virtual void DrawBouncingRectangle(int top, int left, int bottom, int right) = 0;
44   virtual void DrawContrastBrightnessPattern(int top, int left, int bottom, int right) = 0;
45   virtual void DrawCircle(int originX, int originY, int radius) = 0;
46   virtual void BeginRender() = 0;
47   virtual void EndRender() = 0;
48
49   int m_pattern;
50   int m_bounceX;
51   int m_bounceY;
52   int m_bounceDirectionX;
53   int m_bounceDirectionY;
54   int m_blinkFrame;
55
56   float m_white;
57   float m_black;
58 };
59
60