|
|
@@ -51,7 +51,7 @@ mod android_ui_consts {
|
|
|
pub const BACKARROW_SCALE: f32 = 30.;
|
|
|
pub const BACKARROW_X: f32 = 50.;
|
|
|
pub const BACKARROW_Y: f32 = 70.;
|
|
|
- pub const CHATEDIT_HEIGHT: f32 = 163.;
|
|
|
+ pub const CHATEDIT_MAX_HEIGHT: f32 = 163.;
|
|
|
pub const CHATEDIT_BOTTOM_PAD: f32 = 10.;
|
|
|
pub const CHATEDIT_CURSOR_ASCENT: f32 = 50.;
|
|
|
pub const CHATEDIT_CURSOR_DESCENT: f32 = 20.;
|
|
|
@@ -106,7 +106,8 @@ mod ui_consts {
|
|
|
pub const BACKARROW_SCALE: f32 = 15.;
|
|
|
pub const BACKARROW_X: f32 = 38.;
|
|
|
pub const BACKARROW_Y: f32 = 23.;
|
|
|
- pub const CHATEDIT_HEIGHT: f32 = 50.;
|
|
|
+ pub const CHATEDIT_MIN_HEIGHT: f32 = 60.;
|
|
|
+ pub const CHATEDIT_MAX_HEIGHT: f32 = 50.;
|
|
|
pub const CHATEDIT_BOTTOM_PAD: f32 = 5.;
|
|
|
pub const CHATEDIT_CURSOR_ASCENT: f32 = 25.;
|
|
|
pub const CHATEDIT_CURSOR_DESCENT: f32 = 8.;
|
|
|
@@ -139,9 +140,10 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
|
|
|
let mut cc = Compiler::new();
|
|
|
|
|
|
- cc.add_const_f32("CHATEDIT_HEIGHT", CHATEDIT_HEIGHT);
|
|
|
+ cc.add_const_f32("CHATEDIT_MAX_HEIGHT", CHATEDIT_MAX_HEIGHT);
|
|
|
cc.add_const_f32("CHATEDIT_BOTTOM_PAD", CHATEDIT_BOTTOM_PAD);
|
|
|
cc.add_const_f32("CHATEDIT_NEG_W", CHATEDIT_NEG_W);
|
|
|
+ cc.add_const_f32("CHATEDIT_MIN_HEIGHT", CHATEDIT_MIN_HEIGHT);
|
|
|
cc.add_const_f32("SENDARROW_NEG_X", SENDARROW_NEG_X);
|
|
|
cc.add_const_f32("SENDARROW_NEG_Y", SENDARROW_NEG_Y);
|
|
|
cc.add_const_f32("EMOJI_NEG_Y", EMOJI_NEG_Y);
|
|
|
@@ -230,7 +232,7 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
prop.set_f32(Role::App, 0, 0.).unwrap();
|
|
|
prop.set_f32(Role::App, 1, 0.).unwrap();
|
|
|
prop.set_expr(Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.set_f32(Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(Role::App, 3, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
node.set_property_u32(Role::App, "z_index", 2).unwrap();
|
|
|
|
|
|
let mut shape = VectorShape::new();
|
|
|
@@ -282,7 +284,7 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
prop.set_f32(Role::App, 0, CHATEDIT_LHS_PAD).unwrap();
|
|
|
prop.set_f32(Role::App, 1, CHANNEL_LABEL_Y).unwrap();
|
|
|
prop.set_expr(Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.set_f32(Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(Role::App, 3, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
node.set_property_u32(Role::App, "z_index", 2).unwrap();
|
|
|
node.set_property_f32(Role::App, "baseline", 0.).unwrap();
|
|
|
node.set_property_f32(Role::App, "font_size", FONTSIZE).unwrap();
|
|
|
@@ -312,10 +314,10 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
let node = create_chatview("chatty");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
prop.set_f32(Role::App, 0, 10.).unwrap();
|
|
|
- prop.set_f32(Role::App, 1, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(Role::App, 1, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
let code = cc.compile("w - 30").unwrap();
|
|
|
prop.set_expr(Role::App, 2, code).unwrap();
|
|
|
- let code = cc.compile("h - CHATEDIT_HEIGHT - editz_h - 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
+ let code = cc.compile("h - CHATEDIT_MAX_HEIGHT - editz_h - 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
prop.set_expr(Role::App, 3, code).unwrap();
|
|
|
let chatview_rect_prop = prop.clone();
|
|
|
node.set_property_f32(Role::App, "font_size", FONTSIZE).unwrap();
|
|
|
@@ -407,11 +409,22 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
let node = create_vector_art("editbox_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
prop.set_f32(Role::App, 0, 0.).unwrap();
|
|
|
- let code = cc.compile("h - editz_h - 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
+ let code = cc
|
|
|
+ .compile(
|
|
|
+"
|
|
|
+ height = if editz_h < CHATEDIT_MIN_HEIGHT {
|
|
|
+ CHATEDIT_MIN_HEIGHT
|
|
|
+ } else {
|
|
|
+ editz_h
|
|
|
+ };
|
|
|
+
|
|
|
+ h - height - 2 * CHATEDIT_BOTTOM_PAD
|
|
|
+",
|
|
|
+ )
|
|
|
+ .unwrap();
|
|
|
prop.set_expr(Role::App, 1, code).unwrap();
|
|
|
prop.set_expr(Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- let code = cc.compile("editz_h + 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
- prop.set_expr(Role::App, 3, code).unwrap();
|
|
|
+ prop.set_f32(Role::App, 3, 500.).unwrap();
|
|
|
node.set_property_u32(Role::App, "z_index", 2).unwrap();
|
|
|
|
|
|
let editbox_bg_rect_prop = prop.clone();
|
|
|
@@ -497,11 +510,25 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
prop.set_f32(Role::App, 0, CHATEDIT_LHS_PAD).unwrap();
|
|
|
- let code = cc.compile("parent_h - rect_h - CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
+ let code = cc
|
|
|
+ .compile(
|
|
|
+"
|
|
|
+ height = if rect_h < CHATEDIT_MIN_HEIGHT {
|
|
|
+ CHATEDIT_MIN_HEIGHT
|
|
|
+ } else {
|
|
|
+ rect_h
|
|
|
+ };
|
|
|
+
|
|
|
+ nudge_y = (height - rect_h) / 2;
|
|
|
+
|
|
|
+ parent_h - (height - nudge_y + CHATEDIT_BOTTOM_PAD)
|
|
|
+",
|
|
|
+ )
|
|
|
+ .unwrap();
|
|
|
prop.set_expr(Role::App, 1, code).unwrap();
|
|
|
let code = cc.compile("parent_w - CHATEDIT_NEG_W").unwrap();
|
|
|
prop.set_expr(Role::App, 2, code).unwrap();
|
|
|
- prop.set_f32(Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(Role::App, 3, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
|
|
|
chatview_rect_prop.add_depend(&prop, 3, "editz_h");
|
|
|
editbox_bg_rect_prop.add_depend(&prop, 3, "editz_h");
|
|
|
@@ -598,10 +625,10 @@ pub(super) async fn make(app: &App, window: SceneNodePtr) {
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
let code = cc.compile("w - SENDLABEL_WIDTH").unwrap();
|
|
|
prop.set_expr(Role::App, 0, code).unwrap();
|
|
|
- let code = cc.compile("h - CHATEDIT_HEIGHT").unwrap();
|
|
|
+ let code = cc.compile("h - CHATEDIT_MAX_HEIGHT").unwrap();
|
|
|
prop.set_expr(Role::App, 1, code).unwrap();
|
|
|
prop.set_f32(Role::App, 2, SENDLABEL_WIDTH).unwrap();
|
|
|
- prop.set_f32(Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(Role::App, 3, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me, app.ex.clone())).await;
|
|
|
layer_node.clone().link(node);
|