| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /******************************************************************************
- Copyright (C) 2014 by Hugh Bailey <[email protected]>
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
- #pragma once
- static inline void GetScaleAndCenterPos(
- int baseCX, int baseCY, int windowCX, int windowCY,
- int &x, int &y, float &scale)
- {
- double windowAspect, baseAspect;
- int newCX, newCY;
- windowAspect = double(windowCX) / double(windowCY);
- baseAspect = double(baseCX) / double(baseCY);
- if (windowAspect > baseAspect) {
- scale = float(windowCY) / float(baseCY);
- newCX = int(double(windowCY) * baseAspect);
- newCY = windowCY;
- } else {
- scale = float(windowCX) / float(baseCX);
- newCX = windowCX;
- newCY = int(float(windowCX) / baseAspect);
- }
- x = windowCX/2 - newCX/2;
- y = windowCY/2 - newCY/2;
- }
- static inline QSize GetPixelSize(QWidget *widget)
- {
- return widget->size() * widget->devicePixelRatio();
- }
|