mirror of
https://github.com/penpot/penpot.git
synced 2025-02-13 10:38:13 -05:00
Fix wrong order for args for draw_react (rust)
This commit is contained in:
parent
305de33200
commit
e84622061d
3 changed files with 16 additions and 35 deletions
|
@ -35,13 +35,6 @@ impl State {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
|
||||||
pub fn add(left: f32, right: f32) -> f32 {
|
|
||||||
println!("left-> {}", left);
|
|
||||||
println!("right-> {}", right);
|
|
||||||
left + right
|
|
||||||
}
|
|
||||||
|
|
||||||
fn init_gl() {
|
fn init_gl() {
|
||||||
unsafe {
|
unsafe {
|
||||||
gl::load_with(|addr| {
|
gl::load_with(|addr| {
|
||||||
|
@ -88,14 +81,12 @@ fn create_surface(gpu_state: &mut GpuState, width: i32, height: i32) -> Surface
|
||||||
.unwrap()
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_rect(surface: &mut Surface, left: f32, top: f32, right: f32, bottom: f32) {
|
fn render_rect(surface: &mut Surface, rect: Rect, color: Color) {
|
||||||
let mut paint = Paint::default();
|
let mut paint = Paint::default();
|
||||||
paint.set_style(PaintStyle::Fill);
|
paint.set_style(PaintStyle::Fill);
|
||||||
paint.set_color(Color::BLACK);
|
paint.set_color(color);
|
||||||
paint.set_anti_alias(true);
|
paint.set_anti_alias(true);
|
||||||
surface
|
surface.canvas().draw_rect(rect, &paint);
|
||||||
.canvas()
|
|
||||||
.draw_rect(Rect::new(left, top, right, bottom), &paint);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This is called from JS after the WebGL context has been created.
|
/// This is called from JS after the WebGL context has been created.
|
||||||
|
@ -122,19 +113,14 @@ pub unsafe extern "C" fn resize_surface(state: *mut State, width: i32, height: i
|
||||||
pub unsafe extern "C" fn draw_rect(
|
pub unsafe extern "C" fn draw_rect(
|
||||||
state: *mut State,
|
state: *mut State,
|
||||||
left: i32,
|
left: i32,
|
||||||
right: i32,
|
|
||||||
top: i32,
|
top: i32,
|
||||||
|
right: i32,
|
||||||
bottom: i32,
|
bottom: i32,
|
||||||
) {
|
) {
|
||||||
let state = unsafe { state.as_mut() }.expect("got an invalid state pointer");
|
let state = unsafe { state.as_mut() }.expect("got an invalid state pointer");
|
||||||
//state.surface.canvas().clear(Color::WHITE);
|
let rect = Rect::new(left as f32, top as f32, right as f32, bottom as f32);
|
||||||
render_rect(
|
|
||||||
&mut state.surface,
|
render_rect(&mut state.surface, rect, Color::BLACK);
|
||||||
left as f32,
|
|
||||||
right as f32,
|
|
||||||
top as f32,
|
|
||||||
bottom as f32,
|
|
||||||
);
|
|
||||||
state
|
state
|
||||||
.gpu_state
|
.gpu_state
|
||||||
.context
|
.context
|
||||||
|
@ -163,10 +149,4 @@ fn main() {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn it_works() {
|
|
||||||
let result = add(2, 2);
|
|
||||||
assert_eq!(result, 4);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,14 +20,16 @@
|
||||||
(let [draw-rect (gobj/get ^js internal-module "_draw_rect")
|
(let [draw-rect (gobj/get ^js internal-module "_draw_rect")
|
||||||
translate (gobj/get ^js internal-module "_translate")
|
translate (gobj/get ^js internal-module "_translate")
|
||||||
reset-canvas (gobj/get ^js internal-module "_reset_canvas")
|
reset-canvas (gobj/get ^js internal-module "_reset_canvas")
|
||||||
scale (gobj/get ^js internal-module "_scale")]
|
scale (gobj/get ^js internal-module "_scale")
|
||||||
|
supported-shapes (filter (fn [shape] (not= (:type shape) :frame)) (vals objects))]
|
||||||
|
|
||||||
(js/requestAnimationFrame (fn [])
|
(js/requestAnimationFrame (fn [])
|
||||||
(reset-canvas gpu-state)
|
(reset-canvas gpu-state)
|
||||||
(scale gpu-state zoom zoom)
|
(scale gpu-state zoom zoom)
|
||||||
(translate gpu-state (- (:x vbox)) (- (:y vbox)))
|
(translate gpu-state (- (:x vbox)) (- (:y vbox)))
|
||||||
(doseq [shape (vals objects)]
|
(doseq [shape supported-shapes]
|
||||||
(let [sr (:selrect shape)]
|
(let [sr (:selrect shape)]
|
||||||
|
;; (js/console.log (clj->js shape))
|
||||||
(draw-rect gpu-state (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr)))))))
|
(draw-rect gpu-state (:x1 sr) (:y1 sr) (:x2 sr) (:y2 sr)))))))
|
||||||
|
|
||||||
(defn set-canvas
|
(defn set-canvas
|
||||||
|
|
|
@ -28,7 +28,7 @@ var readyPromise = new Promise((resolve, reject) => {
|
||||||
readyPromiseResolve = resolve;
|
readyPromiseResolve = resolve;
|
||||||
readyPromiseReject = reject;
|
readyPromiseReject = reject;
|
||||||
});
|
});
|
||||||
["_add","_draw_rect","_init","_main","_reset_canvas","_resize_surface","_scale","_translate","getExceptionMessage","incrementExceptionRefcount","decrementExceptionRefcount","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((prop) => {
|
["_draw_rect","_init","_main","_reset_canvas","_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'),
|
||||||
|
@ -8561,7 +8561,6 @@ var wasmImports = {
|
||||||
};
|
};
|
||||||
var wasmExports = createWasm();
|
var wasmExports = createWasm();
|
||||||
var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0);
|
var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0);
|
||||||
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);
|
||||||
|
@ -8701,10 +8700,10 @@ function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function invoke_viffff(index,a1,a2,a3,a4,a5) {
|
function invoke_iiiii(index,a1,a2,a3,a4) {
|
||||||
var sp = stackSave();
|
var sp = stackSave();
|
||||||
try {
|
try {
|
||||||
getWasmTableEntry(index)(a1,a2,a3,a4,a5);
|
return getWasmTableEntry(index)(a1,a2,a3,a4);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
stackRestore(sp);
|
stackRestore(sp);
|
||||||
if (!(e instanceof EmscriptenEH)) throw e;
|
if (!(e instanceof EmscriptenEH)) throw e;
|
||||||
|
@ -8712,10 +8711,10 @@ function invoke_viffff(index,a1,a2,a3,a4,a5) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function invoke_iiiii(index,a1,a2,a3,a4) {
|
function invoke_viffff(index,a1,a2,a3,a4,a5) {
|
||||||
var sp = stackSave();
|
var sp = stackSave();
|
||||||
try {
|
try {
|
||||||
return getWasmTableEntry(index)(a1,a2,a3,a4);
|
getWasmTableEntry(index)(a1,a2,a3,a4,a5);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
stackRestore(sp);
|
stackRestore(sp);
|
||||||
if (!(e instanceof EmscriptenEH)) throw e;
|
if (!(e instanceof EmscriptenEH)) throw e;
|
||||||
|
|
Loading…
Add table
Reference in a new issue