Project

General

Profile

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

examples / src / main / java / org / distorted / examples / rubik / RubikSurfaceView.java @ e3900503

1 5b4a2d76 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
2 8647eae2 Leszek Koltunski
// Copyright 2019 Leszek Koltunski                                                               //
3 5b4a2d76 Leszek Koltunski
//                                                                                               //
4 e3900503 Leszek Koltunski
// This file is part of DistortedLibrary.                                                               //
5 5b4a2d76 Leszek Koltunski
//                                                                                               //
6 e3900503 Leszek Koltunski
// DistortedLibrary is free software: you can redistribute it and/or modify                             //
7 5b4a2d76 Leszek Koltunski
// 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 e3900503 Leszek Koltunski
// DistortedLibrary is distributed in the hope that it will be useful,                                  //
12 5b4a2d76 Leszek Koltunski
// 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 e3900503 Leszek Koltunski
// along with DistortedLibrary.  If not, see <http://www.gnu.org/licenses/>.                            //
18 5b4a2d76 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
19
20
package org.distorted.examples.rubik;
21
22
import android.app.ActivityManager;
23
import android.content.Context;
24
import android.content.pm.ConfigurationInfo;
25
import android.opengl.GLSurfaceView;
26 201376f3 Leszek Koltunski
import android.util.AttributeSet;
27 5b4a2d76 Leszek Koltunski
28 6e18bd32 Leszek Koltunski
import java.lang.ref.WeakReference;
29 e4c0057e Leszek Koltunski
30 5b4a2d76 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
31
32
class RubikSurfaceView extends GLSurfaceView
33
{
34 6e18bd32 Leszek Koltunski
    private WeakReference<RubikActivity> mWeakAct;
35 840d83be Leszek Koltunski
36 5b4a2d76 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
37
38 201376f3 Leszek Koltunski
    public RubikSurfaceView(Context context, AttributeSet attrs)
39 5b4a2d76 Leszek Koltunski
      {
40 201376f3 Leszek Koltunski
      super(context,attrs);
41 5b4a2d76 Leszek Koltunski
42 201376f3 Leszek Koltunski
      if(!isInEditMode())
43
        {
44 6e18bd32 Leszek Koltunski
        mWeakAct = new WeakReference<>( (RubikActivity)context);
45 94cc96ff Leszek Koltunski
46 201376f3 Leszek Koltunski
        final ActivityManager activityManager     = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
47
        final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
48
        setEGLContextClientVersion( (configurationInfo.reqGlEsVersion>>16) >= 3 ? 3:2 );
49 6e18bd32 Leszek Koltunski
        setRenderer(new RubikRenderer(this));
50 dc8979ba Leszek Koltunski
        }
51 c6223217 Leszek Koltunski
      }
52 840d83be Leszek Koltunski
53 c6223217 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
54
55 6e18bd32 Leszek Koltunski
    RubikActivity getRubikActivity()
56 c6223217 Leszek Koltunski
      {
57 6e18bd32 Leszek Koltunski
      return mWeakAct.get();
58 840d83be Leszek Koltunski
      }
59 5b4a2d76 Leszek Koltunski
}