Separate coord space transform class for more correct scaling
This commit is contained in:
parent
46370e5762
commit
d261293d6b
7 changed files with 307 additions and 7 deletions
|
|
@ -283,7 +283,7 @@ void DrawingProgramSelection::update() {
|
|||
scaleAmount = centerToScaleStartNorm / centerToScaleCurrentNorm;
|
||||
|
||||
selectionTransformCoords = startingSelectionTransformCoords;
|
||||
selectionTransformCoords.scale_about(scaleData.centerPos, scaleAmount, flipScale);
|
||||
selectionTransformCoords.scale_about(scaleData.centerPos, WorldMultiplier(scaleAmount, flipScale));
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -313,9 +313,9 @@ void DrawingProgramSelection::update() {
|
|||
deselect_all();
|
||||
else if(drawP.world.main.input.key(InputManager::KEY_DRAW_DELETE).pressed)
|
||||
delete_all();
|
||||
else if(drawP.world.main.input.key(InputManager::KEY_COPY).pressed && startingSelectionTransformCoords == CoordSpaceHelper())
|
||||
else if(drawP.world.main.input.key(InputManager::KEY_COPY).pressed && startingSelectionTransformCoords == CoordSpaceHelperTransform())
|
||||
selection_to_clipboard();
|
||||
else if(drawP.world.main.input.key(InputManager::KEY_CUT).pressed && startingSelectionTransformCoords == CoordSpaceHelper()) {
|
||||
else if(drawP.world.main.input.key(InputManager::KEY_CUT).pressed && startingSelectionTransformCoords == CoordSpaceHelperTransform()) {
|
||||
selection_to_clipboard();
|
||||
delete_all();
|
||||
}
|
||||
|
|
@ -448,7 +448,7 @@ void DrawingProgramSelection::reset_selection_data() {
|
|||
}
|
||||
|
||||
void DrawingProgramSelection::reset_transform_data() {
|
||||
selectionTransformCoords = CoordSpaceHelper();
|
||||
selectionTransformCoords = CoordSpaceHelperTransform();
|
||||
transformOpHappening = TransformOperation::NONE;
|
||||
translateData = TranslationData();
|
||||
scaleData = ScaleData();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue