Project

General

Profile

« Previous | Next » 

Revision 6e3fcb91

Added by Leszek Koltunski almost 3 years ago

Remove 3 out of 4 object icons.

View differences:

src/main/java/org/distorted/config/ConfigScreen.java
19 19

  
20 20
package org.distorted.config;
21 21

  
22
import android.content.res.Resources;
23
import android.graphics.drawable.BitmapDrawable;
24 22
import android.os.Build;
25 23
import android.util.TypedValue;
26 24
import android.view.Gravity;
......
46 44

  
47 45
public class ConfigScreen
48 46
{
49
  private static final int NUM_COLUMNS = 4;
47
  private static final int NUM_COLUMNS = 5;
50 48
  private static final int[] mLocation = new int[2];
51 49

  
52 50
  private TransparentImageButton mBackButton, mObjectButton, mPrevButton, mNextButton;
......
63 61

  
64 62
  private void setupObjectWindow(final ConfigActivity act, final float width, final float height)
65 63
    {
66
    int icon = RubikActivity.getDrawable(R.drawable.cube_2s,R.drawable.cube_2m, R.drawable.cube_2b, R.drawable.cube_2h);
67

  
68
    Resources res = act.getResources();
69
    BitmapDrawable bd = (BitmapDrawable)res.getDrawable(icon);
70
    int cubeWidth = bd.getIntrinsicWidth();
64
    int cubeWidth = (int)(width/9);
71 65
    int margin = (int)(width*RubikActivity.LARGE_MARGIN);
72 66
    mObjectSize = (int)(cubeWidth + 2*margin + 0.5f);
73 67
    mMaxRowCount = (int)((height-mBarHeight)/mObjectSize);
......
103 97
      {
104 98
      final int ordinal = object;
105 99
      RubikObject rubikObject = RubikObjectList.getObject(ordinal);
106
      int iconSize = RubikActivity.getDrawableSize();
107
      int icons = rubikObject.getIconID(iconSize);
100
      int icons = rubikObject.getIconID();
108 101
      int row = object/NUM_COLUMNS;
109 102

  
110 103
      ImageButton button = new ImageButton(act);
......
132 125
      params.leftMargin   = margin;
133 126
      params.rightMargin  = margin;
134 127

  
128
      params.width = cubeWidth;
129
      params.height= cubeWidth;
130

  
135 131
      nextInRow[row]++;
136 132

  
137 133
      objectGrid.addView(button, params);
......
183 179
          int rowCount = Math.min(mMaxRowCount,mRowCount);
184 180
          View popupView = mObjectPopup.getContentView();
185 181
          popupView.setSystemUiVisibility(RubikActivity.FLAGS);
186
          displayPopup(act,view,mObjectPopup,mObjectSize*mColCount,mObjectSize*rowCount,margin,margin);
182
          displayPopup(act,view,mObjectPopup,mObjectSize*mColCount,mObjectSize*rowCount+4*margin,margin,margin);
187 183
          }
188 184
        }
189 185
      });
src/main/java/org/distorted/dialogs/RubikDialogPattern.java
33 33
import android.util.TypedValue;
34 34
import android.view.LayoutInflater;
35 35
import android.view.View;
36
import android.view.ViewGroup;
36 37
import android.view.Window;
37 38
import android.view.WindowManager;
38 39
import android.widget.Button;
......
64 65

  
65 66
    DisplayMetrics displaymetrics = new DisplayMetrics();
66 67
    act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
67
    final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE;
68
    final float okSize   = displaymetrics.widthPixels * RubikActivity.DIALOG_BUTTON_SIZE;
68

  
69
    int scrWidth = displaymetrics.widthPixels;
70
    final float titleSize= scrWidth*RubikActivity.MENU_BIG_TEXT_SIZE;
71
    final float okSize   = scrWidth*RubikActivity.DIALOG_BUTTON_SIZE;
72
    final int   tabHeight= (int)(scrWidth*RubikActivity.TAB_HEIGHT);
73
    final int   tabWidth = (int)(scrWidth*RubikActivity.TAB_WIDTH);
69 74

  
70 75
    LayoutInflater layoutInflater = act.getLayoutInflater();
71 76
    TextView tv = (TextView) layoutInflater.inflate(R.layout.dialog_title, null);
......
92 97
    tabLayout.setupWithViewPager(viewPager);
93 98
    viewPager.setCurrentItem(getPatternOrdinal());
94 99

  
100
    ViewGroup.LayoutParams paramsView = new ViewGroup.LayoutParams( tabWidth,tabHeight );
101

  
95 102
    for(int i=0; i< RubikPatternList.NUM_OBJECTS; i++)
96 103
      {
97
      int ordinal  = RubikPatternList.getObject(i);
104
      int ordinal = RubikPatternList.getObject(i);
98 105
      RubikObject object = RubikObjectList.getObject(ordinal);
99
      int iconSize= RubikActivity.getDrawableSize();
100
      int iconID  = object==null ? 0 : object.getIconID(iconSize);
106
      int iconID  = object==null ? 0 : object.getIconID();
101 107

  
102 108
      ImageView imageView = new ImageView(act);
103 109
      imageView.setImageResource(iconID);
110
      imageView.setLayoutParams(paramsView);
104 111
      TabLayout.Tab tab = tabLayout.getTabAt(i);
105 112
      if(tab!=null) tab.setCustomView(imageView);
106 113
      }
src/main/java/org/distorted/dialogs/RubikDialogScores.java
33 33
import android.util.TypedValue;
34 34
import android.view.LayoutInflater;
35 35
import android.view.View;
36
import android.view.ViewGroup;
36 37
import android.view.Window;
37 38
import android.widget.Button;
38 39
import android.widget.ImageView;
......
60 61

  
61 62
    DisplayMetrics displaymetrics = new DisplayMetrics();
62 63
    act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
63
    final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE;
64
    final float okSize   = displaymetrics.widthPixels * RubikActivity.DIALOG_BUTTON_SIZE;
64

  
65
    int scrWidth = displaymetrics.widthPixels;
66
    final float titleSize= scrWidth*RubikActivity.MENU_BIG_TEXT_SIZE;
67
    final float okSize   = scrWidth*RubikActivity.DIALOG_BUTTON_SIZE;
68
    final int   tabHeight= (int)(scrWidth*RubikActivity.TAB_HEIGHT);
69
    final int   tabWidth = (int)(scrWidth*RubikActivity.TAB_WIDTH);
65 70

  
66 71
    LayoutInflater layoutInflater = act.getLayoutInflater();
67 72
    TextView tv = (TextView) layoutInflater.inflate(R.layout.dialog_title, null);
......
104 109
    tabLayout.setupWithViewPager(viewPager);
105 110

  
106 111
    viewPager.setCurrentItem(curTab);
107
    int iconSize = RubikActivity.getDrawableSize();
108 112
    int numObjects = RubikObjectList.getNumObjects();
113
    ViewGroup.LayoutParams paramsView = new ViewGroup.LayoutParams( tabWidth,tabHeight );
109 114

  
110 115
    for (int object=0; object<numObjects; object++)
111 116
      {
112 117
      RubikObject robject = RubikObjectList.getObject(object);
113
      int iconID = robject==null ? 0 : robject.getIconID(iconSize);
118
      int iconID = robject==null ? 0 : robject.getIconID();
114 119
      ImageView imageView = new ImageView(act);
115 120
      imageView.setImageResource(iconID);
121
      imageView.setLayoutParams(paramsView);
116 122
      TabLayout.Tab tab = tabLayout.getTabAt(object);
117 123
      if(tab!=null) tab.setCustomView(imageView);
118 124
      }
src/main/java/org/distorted/dialogs/RubikDialogTutorial.java
27 27
import android.util.TypedValue;
28 28
import android.view.LayoutInflater;
29 29
import android.view.View;
30
import android.view.ViewGroup;
30 31
import android.view.Window;
31 32
import android.view.WindowManager;
32 33
import android.widget.Button;
......
44 45
import org.distorted.main.R;
45 46
import org.distorted.main.RubikActivity;
46 47
import org.distorted.objects.RubikObjectList;
47
import org.distorted.screens.RubikScreenPlay;
48
import org.distorted.screens.ScreenList;
49 48
import org.distorted.tutorials.TutorialList;
50 49

  
51 50
///////////////////////////////////////////////////////////////////////////////////////////////////
......
65 64

  
66 65
    DisplayMetrics displaymetrics = new DisplayMetrics();
67 66
    act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
68
    final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE;
69
    final float okSize   = displaymetrics.widthPixels * RubikActivity.DIALOG_BUTTON_SIZE;
67
    int scrWidth = displaymetrics.widthPixels;
68
    final float titleSize= scrWidth*RubikActivity.MENU_BIG_TEXT_SIZE;
69
    final float okSize   = scrWidth*RubikActivity.DIALOG_BUTTON_SIZE;
70
    final int   tabHeight= (int)(scrWidth*RubikActivity.TAB_HEIGHT);
71
    final int   tabWidth = (int)(scrWidth*RubikActivity.TAB_WIDTH);
70 72

  
71 73
    LayoutInflater layoutInflater = act.getLayoutInflater();
72 74
    TextView tv = (TextView) layoutInflater.inflate(R.layout.dialog_title, null);
......
93 95
    tabLayout.setupWithViewPager(viewPager);
94 96
    viewPager.setCurrentItem(getTutorialOrdinal());
95 97

  
98
    ViewGroup.LayoutParams paramsView = new ViewGroup.LayoutParams( tabWidth,tabHeight );
99

  
96 100
    for(int i=0; i<TutorialList.NUM_OBJECTS; i++)
97 101
      {
98 102
      TutorialList list = TutorialList.getObject(i);
99 103
      int iconID        = list.getIconID();
100 104
      ImageView imageView = new ImageView(act);
105
      imageView.setLayoutParams(paramsView);
101 106
      imageView.setImageResource(iconID);
102 107
      TabLayout.Tab tab = tabLayout.getTabAt(i);
103 108
      if(tab!=null) tab.setCustomView(imageView);
src/main/java/org/distorted/main/RubikActivity.java
84 84
    public static final float MENU_BIG_TEXT_SIZE  = 0.05f;
85 85
    public static final float MENU_MED_TEXT_SIZE  = 0.04f;
86 86
    public static final float MENU_SMALL_TEXT_SIZE= 0.035f;
87
    public static final float TAB_WIDTH           = 0.100f;
88
    public static final float TAB_HEIGHT          = 0.100f;
87 89

  
88 90
    public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
89 91
                                   | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
src/main/java/org/distorted/objects/RubikObject.java
30 30

  
31 31
public class RubikObject
32 32
{
33
  private static final int NUM = 4;
34

  
35 33
  private final String mName;
36 34
  private final int mNumScramble;
37 35
  private final int mOrdinal;
38 36
  private final int mJsonID, mMeshID;
39
  private final int[] mIconID;
37
  private final int mIconID;
40 38
  private final String[][] mPatterns;
41 39

  
42 40
  private int mMeshState;
......
45 43

  
46 44
  RubikObject(ObjectType type)
47 45
    {
48
    mIconID = new int[NUM];
49
    for(int i=0; i<NUM; i++) mIconID[i] = type.getIconID(i);
50

  
46
    mIconID      = type.getIconID();
51 47
    mName        = type.name();
52 48
    mNumScramble = type.getNumScramble();
53 49
    mOrdinal     = type.ordinal();
......
84 80

  
85 81
///////////////////////////////////////////////////////////////////////////////////////////////////
86 82

  
87
  public int getIconID(int size)
83
  public int getIconID()
88 84
    {
89
    return size>=0 && size<NUM ? mIconID[size] : 0;
85
    return mIconID;
90 86
    }
91 87

  
92 88
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/screens/RubikScreenPlay.java
55 55

  
56 56
public class RubikScreenPlay extends RubikScreenBase
57 57
  {
58
  public static final int NUM_COLUMNS  = 4;
58
  public static final int NUM_COLUMNS  = 5;
59 59
  public static final int LEVELS_SHOWN = 10;
60 60

  
61 61
  private static final int[] BUTTON_LABELS = { R.string.scores,
......
78 78
  private int mColCount, mRowCount, mMaxRowCount;
79 79
  private int mUpperBarHeight;
80 80
  private boolean mShouldReactToEndOfScrambling;
81
  private int mBottomHeight;
81 82

  
82 83
///////////////////////////////////////////////////////////////////////////////////////////////////
83 84

  
......
124 125
  private void setupObjectButton(final RubikActivity act, final float width)
125 126
    {
126 127
    final int margin  = (int)(width*RubikActivity.MARGIN);
128
    final int lMargin = (int)(width*RubikActivity.LARGE_MARGIN);
127 129
    final int icon = RubikActivity.getDrawable(R.drawable.ui_small_cube_menu,R.drawable.ui_medium_cube_menu, R.drawable.ui_big_cube_menu, R.drawable.ui_huge_cube_menu);
128 130
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT,1.0f);
129 131
    mObjButton = new TransparentImageButton(act, icon, TransparentImageButton.GRAVITY_MIDDLE, params);
......
145 147
          int rowCount = Math.min(mMaxRowCount,mRowCount);
146 148
          View popupView = mObjectPopup.getContentView();
147 149
          popupView.setSystemUiVisibility(RubikActivity.FLAGS);
148
          displayPopup(act,view,mObjectPopup,mObjectSize*mColCount,mObjectSize*rowCount,margin,margin);
150
          displayPopup(act,view,mObjectPopup,mObjectSize*mColCount,mObjectSize*rowCount+mBottomHeight+2*lMargin,margin,margin);
149 151
          }
150 152
        }
151 153
      });
......
222 224

  
223 225
  private void setupObjectWindow(final RubikActivity act, final float width, final float height)
224 226
    {
225
    int icon = RubikActivity.getDrawable(R.drawable.cube_2s,R.drawable.cube_2m, R.drawable.cube_2b, R.drawable.cube_2h);
226

  
227
    Resources res = act.getResources();
228
    BitmapDrawable bd = (BitmapDrawable)res.getDrawable(icon);
229
    int cubeWidth = bd.getIntrinsicWidth();
227
    int cubeWidth = (int)(width/9);
230 228
    int margin = (int)(width*RubikActivity.LARGE_MARGIN);
231 229
    mObjectSize = (int)(cubeWidth + 2*margin + 0.5f);
232 230
    mMaxRowCount = (int)((height-1.8f*mUpperBarHeight)/mObjectSize);
......
241 239
    objectGrid.setRowCount(mRowCount);
242 240

  
243 241
    LinearLayout bottomLayout = view.findViewById(R.id.bottomLayout);
244
    setupBottomLayout(act,bottomLayout,2*mObjectSize);
242
    setupBottomLayout(act,bottomLayout,(NUM_COLUMNS-2)*mObjectSize);
245 243

  
246 244
    mObjectPopup = new PopupWindow(act);
247 245
    mObjectPopup.setFocusable(true);
......
264 262
    for(int object=0; object<numObjects; object++)
265 263
      {
266 264
      final RubikObject robject = RubikObjectList.getObject(object);
267
      int iconSize = RubikActivity.getDrawableSize();
268
      int icons = robject==null ? 0 : robject.getIconID(iconSize);
265
      int icons = robject==null ? 0 : robject.getIconID();
269 266
      int row = object/NUM_COLUMNS;
270 267
      final int ordinal = robject==null ? 0 : robject.getOrdinal();
271 268

  
......
294 291
      params.leftMargin   = margin;
295 292
      params.rightMargin  = margin;
296 293

  
294
      params.width = cubeWidth;
295
      params.height= cubeWidth;
296

  
297 297
      nextInRow[row]++;
298 298

  
299 299
      objectGrid.addView(button, params);
......
317 317

  
318 318
    buttonNul.setWidth(width);
319 319

  
320
    Resources res = act.getResources();
321
    BitmapDrawable bd = (BitmapDrawable)res.getDrawable(iconD);
322
    mBottomHeight = bd.getIntrinsicHeight();
323

  
320 324
    TypedValue outValue = new TypedValue();
321 325
    act.getTheme().resolveAttribute(android.R.attr.selectableItemBackgroundBorderless, outValue, true);
322 326
    buttonTut.setBackgroundResource(outValue.resourceId);
src/main/java/org/distorted/tutorials/TutorialList.java
551 551
  public int getIconID()
552 552
    {
553 553
    RubikObject object = RubikObjectList.getObject(mObject);
554
    int iconSize = RubikActivity.getDrawableSize();
555
    return object==null ? 0 : object.getIconID(iconSize);
554
    return object==null ? 0 : object.getIconID();
556 555
    }
557 556

  
558 557
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff