2013-12-21 2 views
0

Я пытаюсь нарисовать круговое меню с изображением предмета с углом 60 градусов и изображением/значком внутри. Проблема в том, что когда я поворачиваю меню, у меня есть более 3 предметов, а меню - половина круга (180 градусов), когда я вращаюсь, я поворачиваю предметы/дуги с изображениями внутри. Возможно ли здесь сделать что-то похожее на OpenGL, сохранить состояние, psuh-матрицу, перевести, повернуть напротив и снова всплыть? Я обозначил строку, где проблема. Кто-нибудь знает, как о этом (значок всегда быть вертикальной)Как в gdi нажать, перевести, повернуть и поп-состояние?

  float mSweep = 60; 
      for (Integer key : mConversionPositionToID.keySet()) { 

       String tempKey = mConversionPositionToID.get(key); 
       SemiCircularRadialMenuItem item = mMenuItems.get(tempKey); 
       mRadialMenuPaint.setColor(item.getBackgroundColor()); 
       item.setMenuPath(mMenuCenterButtonRect, mMenuRect, mStart, 
         mSweep, mRadius, mViewAnchorPoints); 
       canvas.drawPath(item.getMenuPath(), mRadialMenuPaint); 
       if (isShowMenuText) { 
        mRadialMenuPaint.setShadowLayer(mShadowRadius, 0.0f, 
          0.0f, Color.TRANSPARENT); 
        mRadialMenuPaint.setColor(item.getTextColor()); 
        canvas.drawTextOnPath(item.getText(), 
          item.getMenuPath(), 5, textSize, 
          mRadialMenuPaint); 
        mRadialMenuPaint.setShadowLayer(mShadowRadius, 0.0f, 
          0.0f, mShadowColor); 
       } 

// HERE I have position of icon/image center 
       item.getIcon().draw(canvas); 
       mStart += mSweep; 
      } 

ответ

0

Как о создании объекта матрицы с, который имеет атрибуты меню?

Пример кода из метода циклического сдвига:

Status Rotate(
    [in] REAL angle, // You can put your menu angle here 
    [in] MatrixOrder order 
); 
Смежные вопросы