📄 rotate.cpp
字号:
#include "precomp.h"
int SMI::GetRotateModeFromReg()
{
#ifdef ROTATION_ENABLE
switch (m_SMISettings.m_nRotateAngle)
{
case 90:
return DMDO_90;
case 180:
return DMDO_180;
case 270:
return DMDO_270;
case 0:
default:
return DMDO_0;
}
#endif // ROTATION_ENABLE
return 0;
}
void SMI::SetRotateParams()
{
#ifdef ROTATION_ENABLE
switch(m_iRotate)
{
case DMDO_90:
case DMDO_270:
m_pMode->height = m_nScreenWidthSave;
m_pMode->width = m_nScreenHeightSave;
break;
case DMDO_0:
case DMDO_180:
default:
m_pMode->width = m_nScreenWidthSave;
m_pMode->height = m_nScreenHeightSave;
break;
}
#endif // ROTATION_ENABLE
}
LONG SMI::DynRotate(int angle)
{
#ifdef ROTATION_ENABLE
int curRot, oldAngle;
int ang2idxArr[5]={0,1,2,2,3};
int angArr[4]={0,1,2,4};
//if (angle == m_iRotate)
// return DISP_CHANGE_SUCCESSFUL;
oldAngle = m_iRotate;
m_iRotate = angle;
curRot = ang2idxArr[angle] - ang2idxArr[oldAngle];
if(curRot < 0)
curRot += 4;
RotateCursorShape(angArr[curRot]);
SetRotateParams();
m_nScreenWidth = m_pMode->width;
m_nScreenHeight = m_pMode->height;
((GPESurfRotate *)m_pPrimarySurface)->SetRotation(m_nScreenWidth, m_nScreenHeight, angle);
return DISP_CHANGE_SUCCESSFUL;
#else // ! ROTATION_ENABLE
return FALSE;
#endif // ROTATION_ENABLE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -