mirror of
https://github.com/penpot/penpot.git
synced 2026-09-06 20:18:39 +00:00
WIP: exposing translate
This commit is contained in:
parent
0bf442e626
commit
579b157ab7
@ -127,6 +127,16 @@ pub unsafe extern "C" fn draw_rect(state: *mut State, left: i32, right: i32, top
|
|||||||
.flush_and_submit_surface(&mut state.surface, None);
|
.flush_and_submit_surface(&mut state.surface, None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe extern "C" fn translate(state: *mut State, dx: f32, dy: f32) {
|
||||||
|
(*state).surface.canvas().translate((dx, dy));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe extern "C" fn scale(state: *mut State, sx: f32, sy: f32) {
|
||||||
|
(*state).surface.canvas().scale((sx, sy));
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
init_gl();
|
init_gl();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,17 +29,17 @@
|
|||||||
;; Initialize Skia
|
;; Initialize Skia
|
||||||
state (._init ^js internal-module (.-width canvas) (.-height canvas))
|
state (._init ^js internal-module (.-width canvas) (.-height canvas))
|
||||||
draw_rect (gobj/get ^js internal-module "_draw_rect")
|
draw_rect (gobj/get ^js internal-module "_draw_rect")
|
||||||
|
translate (gobj/get ^js internal-module "_translate")
|
||||||
|
scale (gobj/get ^js internal-module "_scale")
|
||||||
resize_surface (gobj/get ^js internal-module "_resize_surface")]
|
resize_surface (gobj/get ^js internal-module "_resize_surface")]
|
||||||
|
|
||||||
(set! (.-width canvas) (.-clientWidth canvas))
|
(set! (.-width canvas) (.-clientWidth canvas))
|
||||||
(set! (.-height canvas) (.-clientHeight canvas))
|
(set! (.-height canvas) (.-clientHeight canvas))
|
||||||
|
|
||||||
;; (resize_surface state (.-clientWidth canvas) (.-clientHeight canvas))
|
(translate state (- (:x vbox)) (- (:y vbox)))
|
||||||
|
|
||||||
(doseq [shape (vals objects)]
|
(doseq [shape (vals objects)]
|
||||||
(let [sr (:selrect shape)]
|
(let [sr (:selrect shape)]
|
||||||
(println "-----" (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr))
|
(println "-----" (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr))
|
||||||
;; TODO: scale y translate con el vbox
|
|
||||||
(draw_rect state (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr))))
|
(draw_rect state (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr))))
|
||||||
|
|
||||||
#_(draw_rect state 100 100 500 500)
|
#_(draw_rect state 100 100 500 500)
|
||||||
|
|||||||
@ -28,7 +28,7 @@ var readyPromise = new Promise((resolve, reject) => {
|
|||||||
readyPromiseResolve = resolve;
|
readyPromiseResolve = resolve;
|
||||||
readyPromiseReject = reject;
|
readyPromiseReject = reject;
|
||||||
});
|
});
|
||||||
["_add","_draw_rect","_init","_main","_resize_surface","getExceptionMessage","incrementExceptionRefcount","decrementExceptionRefcount","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((prop) => {
|
["_add","_draw_rect","_init","_main","_resize_surface","_scale","_translate","getExceptionMessage","incrementExceptionRefcount","decrementExceptionRefcount","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((prop) => {
|
||||||
if (!Object.getOwnPropertyDescriptor(readyPromise, prop)) {
|
if (!Object.getOwnPropertyDescriptor(readyPromise, prop)) {
|
||||||
Object.defineProperty(readyPromise, prop, {
|
Object.defineProperty(readyPromise, prop, {
|
||||||
get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
|
get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
|
||||||
@ -8507,6 +8507,8 @@ var wasmImports = {
|
|||||||
/** @export */
|
/** @export */
|
||||||
invoke_ii,
|
invoke_ii,
|
||||||
/** @export */
|
/** @export */
|
||||||
|
invoke_iiff,
|
||||||
|
/** @export */
|
||||||
invoke_iii,
|
invoke_iii,
|
||||||
/** @export */
|
/** @export */
|
||||||
invoke_iiii,
|
invoke_iiii,
|
||||||
@ -8563,6 +8565,8 @@ var _add = Module['_add'] = createExportWrapper('add', 2);
|
|||||||
var _init = Module['_init'] = createExportWrapper('init', 2);
|
var _init = Module['_init'] = createExportWrapper('init', 2);
|
||||||
var _resize_surface = Module['_resize_surface'] = createExportWrapper('resize_surface', 3);
|
var _resize_surface = Module['_resize_surface'] = createExportWrapper('resize_surface', 3);
|
||||||
var _draw_rect = Module['_draw_rect'] = createExportWrapper('draw_rect', 5);
|
var _draw_rect = Module['_draw_rect'] = createExportWrapper('draw_rect', 5);
|
||||||
|
var _translate = Module['_translate'] = createExportWrapper('translate', 3);
|
||||||
|
var _scale = Module['_scale'] = createExportWrapper('scale', 3);
|
||||||
var _main = Module['_main'] = createExportWrapper('main', 2);
|
var _main = Module['_main'] = createExportWrapper('main', 2);
|
||||||
var _fflush = createExportWrapper('fflush', 1);
|
var _fflush = createExportWrapper('fflush', 1);
|
||||||
var _free = createExportWrapper('free', 1);
|
var _free = createExportWrapper('free', 1);
|
||||||
@ -8718,6 +8722,17 @@ function invoke_iiiii(index,a1,a2,a3,a4) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function invoke_iiff(index,a1,a2,a3) {
|
||||||
|
var sp = stackSave();
|
||||||
|
try {
|
||||||
|
return getWasmTableEntry(index)(a1,a2,a3);
|
||||||
|
} catch(e) {
|
||||||
|
stackRestore(sp);
|
||||||
|
if (!(e instanceof EmscriptenEH)) throw e;
|
||||||
|
_setThrew(1, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function invoke_viiii(index,a1,a2,a3,a4) {
|
function invoke_viiii(index,a1,a2,a3,a4) {
|
||||||
var sp = stackSave();
|
var sp = stackSave();
|
||||||
try {
|
try {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user