View Issue Details

IDProjectCategoryView StatusLast Update
0002950NoesisGUIStudiopublic2024-02-14 17:55
Reportersfernandez Assigned Tomaherne  
PrioritynormalSeverityfeature 
Status resolvedResolutionfixed 
Target VersionStudio_AlphaFixed in VersionStudio_Alpha 
Summary0002950: Add a new Transform tool that will affect RenderTransform
Description

Create a new tool used specifically for modifying the RenderTransform of an element.

When this tool is active:

  • moving the element will update its TranslateTransform X/Y
  • resizing the element will update its ScaleTransform ScaleX/Y
  • it will show rotation and skew handlers in the adorner to modify RotateTransform and SkewTransform (remove from ResizeAdorner)
  • it will show the RenderTransformOrigin handler in the adorner (remove from ResizeAdorner)
PlatformAny

Activities

dfranjic

dfranjic

2023-12-15 14:32

developer   ~0009033

Last edited: 2023-12-15 14:33

The functionality to update the TranslateTransform, ScaleTransform, SkewTransform and RotateTransform is already in the ElementDragManager so I suggest just improving upon it and reusing it (or well, in case of reimplementing it, for it to be done in the ElementDragManager)
so that other parts of the Studio can take advantage of that functionality if needed in the future.

There are not many bugs regarding updating transforms via ElementDragManager that I am aware of, but one that I know of is that when a rotation & skew is applied, rotating and additionally skewing the element will look fine while doing it, but upon the mouse release the element will
be differently skewed/rotated. The reason for this is I think the missing proper implementation of DecomposeMatrix() function located in the ElementDragManager.cpp file.

Currently the ElementDragManager decides in StartDrag/StartResize methods whether or not to use the transforms when dragging/resizing an element with a following check:


if (storyboardObj && storyboardObj->GetIsRecording())
{
data->useTransform = true;
}

Probably having an additional boolean parameter in those two methods would be enough to make the ElementDragManager use the transforms when dragging/resizing.

Issue History

Date Modified Username Field Change
2023-12-15 11:11 sfernandez New Issue
2023-12-15 11:12 sfernandez Assigned To => maherne
2023-12-15 11:12 sfernandez Status new => assigned
2023-12-15 11:12 sfernandez Target Version => Studio_Alpha
2023-12-15 14:32 dfranjic Note Added: 0009033
2023-12-15 14:33 dfranjic Note Edited: 0009033
2024-02-14 17:55 maherne Status assigned => resolved
2024-02-14 17:55 maherne Resolution open => fixed
2024-02-14 17:55 maherne Fixed in Version => Studio_Alpha