Project

General

Profile

Download (3.29 KB) Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / DistortedScreen.java @ 02ab6f9d

1 c5369f1b leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2016 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Distorted.                                                               //
5
//                                                                                               //
6
// Distorted is free software: you can redistribute it and/or modify                             //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Distorted is distributed in the hope that it will be useful,                                  //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19
20
package org.distorted.library;
21
22
///////////////////////////////////////////////////////////////////////////////////////////////////
23
/**
24
 * Class which represents the Screen.
25
 * <p>
26
 * User is able to render to it just like to a DistortedFramebuffer.
27
 */
28 af4cc5db Leszek Koltunski
public class DistortedScreen extends DistortedOutputSurface
29 c5369f1b leszek
  {
30 02ab6f9d leszek
  private DistortedFramebuffer mBuffer = null;
31 b9798977 leszek
32 c5369f1b leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
33 af4cc5db Leszek Koltunski
// here we don't manage underlying OpenGL assets ourselves
34 c5369f1b leszek
35 a436ccc5 leszek
  void create()   {}
36
  void delete()   {}
37 f8377ef8 leszek
  void recreate() {}
38 c5369f1b leszek
39 b9798977 leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
40
41
  DistortedFramebuffer getBuffer()
42
    {
43
    if( mBuffer==null )
44
      {
45
      mBuffer = new DistortedFramebuffer(true,DistortedSurface.TYPE_SYST,mWidth,mHeight);
46
      }
47
48
    if( mBuffer.mWidth != mWidth || mBuffer.mHeight != mHeight )
49
      {
50
      mBuffer.resizeFast(mWidth,mHeight);
51
      }
52
53
    return mBuffer;
54
    }
55
56 c5369f1b leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
57
// PUBLIC API
58
///////////////////////////////////////////////////////////////////////////////////////////////////
59
/**
60
 * Create a new Screen.
61
 * <p>
62
 * Has to be followed by a 'resize()' to set the size.
63
 */
64
  public DistortedScreen()
65
    {
66 8d52a49c Leszek Koltunski
    // set color to 'DONT_CREATE' so that Screens will not get added to the Surface lists
67
    // set depth to 'CREATED' so that depth will be, by default, on.
68 09ab7524 Leszek Koltunski
    super(0,0,DONT_CREATE,CREATED,0,TYPE_USER);
69 c5369f1b leszek
    }
70
  }