hoffstadt / hoffstadt/DearPyGui

draw_circle(...) does not scale as expected with the new Transform feature.

Open
#1,422 2 comments 0 reactions 0 assignees View on GitHub
category: drawings priority: medium type: improvement
Dominant language
C++
Stars
15.6k
Forks
783
PR merge metrics
No merged PRs in 30d

Description

## Version of Dear PyGui

Version: 1.1
Operating System: Windows 10

## My Issue/Question

`draw_circle(...)` does not scale as expected with the new **Transform** feature. I expect all elements in a node to scale proportionally ie. the overall drawing in the node should still look the same.

_PS. `draw_text(...)` has the correct new position but the lettering 'size' is unscaled (I am not expecting a proper font size change!)_

## To Reproduce

Steps to reproduce the behavior:
1. See the attached minimal example code and screenshot.
- I create two _identical_ drawing nodes for comparison purposes
- I scale one node by a factor
- however the size of the circle remains the same while other elements scale as expected.

## Expected behavior

`draw_circle(...)` should scale similar to `draw_rect(...)` or `draw_arrow(...)`

## Screenshots/Video

![image](https://user-images.githubusercontent.com/44036684/141793334-fc2f6ece-2ab8-40db-a95e-7a01854e8d3b.png)

## Standalone, minimal, complete and verifiable example

```python
import dearpygui.dearpygui as dpg

dpg.create_context()
dpg.create_viewport(title="Transforms", width=400, height=400)
dpg.setup_dearpygui()

with dpg.viewport_drawlist(front=True, tag="vpf"):
with dpg.draw_node(tag="node1"):
dpg.draw_rectangle((0, 0), (20, 20))
dpg.draw_circle((0, 0), 20)
dpg.draw_text((20, 20), "Is this a bug?", size=16)
dpg.draw_arrow((0, 0), (20, 20))
with dpg.draw_node(tag="node2"):
dpg.draw_rectangle((0, 0), (20, 20))
dpg.draw_circle((0, 0), 20)
dpg.draw_text((20, 20), "Is this a bug?", size=16)
dpg.draw_arrow((0, 0), (20, 20))

dpg.apply_transform("node1", dpg.create_translation_matrix((100, 50)))
dpg.apply_transform("node2", dpg.create_translation_matrix((100, 150)) * dpg.create_scale_matrix((5, 5)))

dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.