コード例 #1
0
ファイル: _VeWindows.cpp プロジェクト: Napoleon314/Venus2D
//--------------------------------------------------------------------------
void VeWindows::_GetDisplayBounds(VideoDisplay& kDisplay, VeRect& kRect)
{
	DisplayModeData* pkData = (DisplayModeData*)(VeRefObject*)(kDisplay.m_kCurrentMode.m_spDriverData);
	kRect.x = (VeInt32)VeCeilf(pkData->m_kDeviceMode.dmPosition.x * pkData->m_f32ScaleX);
	kRect.y = (VeInt32)VeCeilf(pkData->m_kDeviceMode.dmPosition.y * pkData->m_f32ScaleY);
	kRect.w = (VeInt32)VeCeilf(pkData->m_kDeviceMode.dmPelsWidth * pkData->m_f32ScaleX);
	kRect.h = (VeInt32)VeCeilf(pkData->m_kDeviceMode.dmPelsHeight * pkData->m_f32ScaleY);
}
コード例 #2
0
ファイル: WindowsVideo.cpp プロジェクト: swq0553/Venus3D
//--------------------------------------------------------------------------
bool WindowsVideoDevice::_GetDisplayBounds(VeVideoDisplay* pkDisplay,
	VeRect* pkRect) noexcept
{
	VE_ASSERT(pkDisplay);
	VeDisplayModeData* pkData = (VeDisplayModeData*)pkDisplay->m_kCurrentMode.m_spDriverData;

	pkRect->x = (VeInt32)VeCeilf(pkData->DeviceMode.dmPosition.x * pkData->ScaleX);
	pkRect->y = (VeInt32)VeCeilf(pkData->DeviceMode.dmPosition.y * pkData->ScaleY);
	pkRect->w = (VeInt32)VeCeilf(pkData->DeviceMode.dmPelsWidth * pkData->ScaleX);
	pkRect->h = (VeInt32)VeCeilf(pkData->DeviceMode.dmPelsHeight * pkData->ScaleY);
	return true;
}