|
- #include "widgets.hpp"
-
-
- namespace rack {
-
-
- TransformWidget::TransformWidget() {
- identity();
- }
-
- void TransformWidget::identity() {
- nvgTransformIdentity(transform);
- }
-
- void TransformWidget::translate(Vec delta) {
- float t[6];
- nvgTransformTranslate(t, delta.x, delta.y);
- nvgTransformPremultiply(transform, t);
- }
-
- void TransformWidget::rotate(float angle) {
- float t[6];
- nvgTransformRotate(t, angle);
- nvgTransformPremultiply(transform, t);
- }
-
- void TransformWidget::scale(Vec s) {
- float t[6];
- nvgTransformScale(t, s.x, s.y);
- nvgTransformPremultiply(transform, t);
- }
-
- void TransformWidget::draw(NVGcontext *vg) {
- // No need to save the state because that is done in the parent
- nvgTransform(vg, transform[0], transform[1], transform[2], transform[3], transform[4], transform[5]);
- Widget::draw(vg);
- }
-
-
- } // namespace rack
|