cleanup hardcoded values
This commit is contained in:
@@ -22,8 +22,13 @@ use tween::{QuartInOut, Tweener};
|
|||||||
|
|
||||||
const APP_SIZE: f32 = 0.06;
|
const APP_SIZE: f32 = 0.06;
|
||||||
const PADDING: f32 = 0.005;
|
const PADDING: f32 = 0.005;
|
||||||
|
const MODEL_SCALE: f32 = 0.03;
|
||||||
const ACTIVATION_DISTANCE: f32 = 0.5;
|
const ACTIVATION_DISTANCE: f32 = 0.5;
|
||||||
|
|
||||||
|
const CYAN: [f32; 4] = [0.0, 1.0, 1.0, 1.0];
|
||||||
|
const BTN_SELECTED_COLOR: [f32; 4] = [0.0, 1.0, 0.0, 1.0];
|
||||||
|
const BTN_COLOR: [f32; 4] = [1.0, 1.0, 0.0, 1.0];
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
struct Hex {
|
struct Hex {
|
||||||
q: isize,
|
q: isize,
|
||||||
@@ -132,23 +137,21 @@ impl RootHandler for AppHexGrid {
|
|||||||
fn frame(&mut self, info: FrameInfo) {
|
fn frame(&mut self, info: FrameInfo) {
|
||||||
self.button.frame(info);
|
self.button.frame(info);
|
||||||
if self.button.touch_plane.touch_started() {
|
if self.button.touch_plane.touch_started() {
|
||||||
let color = [0.0, 1.0, 0.0, 1.0];
|
|
||||||
self.button
|
self.button
|
||||||
.model
|
.model
|
||||||
.model_part("Hex")
|
.model_part("Hex")
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.set_material_parameter("color", MaterialParameter::Color(color))
|
.set_material_parameter("color", MaterialParameter::Color(BTN_SELECTED_COLOR))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
for app in &mut self.apps {
|
for app in &mut self.apps {
|
||||||
app.toggle();
|
app.toggle();
|
||||||
}
|
}
|
||||||
} else if self.button.touch_plane.touch_stopped() {
|
} else if self.button.touch_plane.touch_stopped() {
|
||||||
let color = [0.0, 0.0, 1.0, 1.0];
|
|
||||||
self.button
|
self.button
|
||||||
.model
|
.model
|
||||||
.model_part("Hex")
|
.model_part("Hex")
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.set_material_parameter("color", MaterialParameter::Color(color))
|
.set_material_parameter("color", MaterialParameter::Color(BTN_COLOR))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
for app in &mut self.apps {
|
for app in &mut self.apps {
|
||||||
@@ -188,13 +191,13 @@ impl Button {
|
|||||||
grabbable.content_parent(),
|
grabbable.content_parent(),
|
||||||
Transform::from_rotation_scale(
|
Transform::from_rotation_scale(
|
||||||
Quat::from_rotation_x(PI / 2.0) * Quat::from_rotation_y(PI),
|
Quat::from_rotation_x(PI / 2.0) * Quat::from_rotation_y(PI),
|
||||||
[0.03, 0.03, 0.03],
|
[MODEL_SCALE; 3],
|
||||||
),
|
),
|
||||||
&ResourceID::new_namespaced("protostar", "hexagon/hexagon"),
|
&ResourceID::new_namespaced("protostar", "hexagon/hexagon"),
|
||||||
)?;
|
)?;
|
||||||
model
|
model
|
||||||
.model_part("Hex")?
|
.model_part("Hex")?
|
||||||
.set_material_parameter("color", MaterialParameter::Color([0.0, 0.0, 1.0, 1.0]))?;
|
.set_material_parameter("color", MaterialParameter::Color(BTN_COLOR))?;
|
||||||
Ok(Button {
|
Ok(Button {
|
||||||
touch_plane,
|
touch_plane,
|
||||||
grabbable,
|
grabbable,
|
||||||
@@ -222,7 +225,7 @@ fn model_from_icon(parent: &Spatial, icon: &Icon) -> Result<Model> {
|
|||||||
IconType::Png => {
|
IconType::Png => {
|
||||||
let t = Transform::from_rotation_scale(
|
let t = Transform::from_rotation_scale(
|
||||||
Quat::from_rotation_x(PI / 2.0) * Quat::from_rotation_y(PI),
|
Quat::from_rotation_x(PI / 2.0) * Quat::from_rotation_y(PI),
|
||||||
[APP_SIZE * 0.5; 3],
|
[APP_SIZE / 2.0; 3],
|
||||||
);
|
);
|
||||||
|
|
||||||
let model = Model::create(
|
let model = Model::create(
|
||||||
@@ -232,7 +235,7 @@ fn model_from_icon(parent: &Spatial, icon: &Icon) -> Result<Model> {
|
|||||||
)?;
|
)?;
|
||||||
model
|
model
|
||||||
.model_part("Hex")?
|
.model_part("Hex")?
|
||||||
.set_material_parameter("color", MaterialParameter::Color([0.0, 1.0, 1.0, 1.0]))?;
|
.set_material_parameter("color", MaterialParameter::Color(CYAN))?;
|
||||||
model.model_part("Icon")?.set_material_parameter(
|
model.model_part("Icon")?.set_material_parameter(
|
||||||
"diffuse",
|
"diffuse",
|
||||||
MaterialParameter::Texture(ResourceID::Direct(icon.path.clone())),
|
MaterialParameter::Texture(ResourceID::Direct(icon.path.clone())),
|
||||||
@@ -358,14 +361,7 @@ impl RootHandler for App {
|
|||||||
let scale = grabbable_move.move_by(info.delta);
|
let scale = grabbable_move.move_by(info.delta);
|
||||||
self.grabbable
|
self.grabbable
|
||||||
.content_parent()
|
.content_parent()
|
||||||
.set_position(
|
.set_position(Some(&self.parent), Vec3::from(self.position) * scale)
|
||||||
Some(&self.parent),
|
|
||||||
[
|
|
||||||
self.position.x * scale,
|
|
||||||
self.position.y * scale,
|
|
||||||
self.position.z * scale,
|
|
||||||
],
|
|
||||||
)
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
} else {
|
} else {
|
||||||
if grabbable_move.final_value() == 0.0001 {
|
if grabbable_move.final_value() == 0.0001 {
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ impl RootHandler for Sirius {
|
|||||||
false => {
|
false => {
|
||||||
for star in &self.clients {
|
for star in &self.clients {
|
||||||
star.content_parent()
|
star.content_parent()
|
||||||
.set_position(Some(self.grabbable.content_parent()), [0.0, 0.0, 0.0])
|
.set_position(Some(self.grabbable.content_parent()), [0.0; 3])
|
||||||
.ok();
|
.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -337,14 +337,7 @@ impl RootHandler for App {
|
|||||||
let scale = grabbable_move.move_by(info.delta);
|
let scale = grabbable_move.move_by(info.delta);
|
||||||
self.grabbable
|
self.grabbable
|
||||||
.content_parent()
|
.content_parent()
|
||||||
.set_position(
|
.set_position(Some(&self.parent), Vec3::from(self.position) * scale)
|
||||||
Some(&self.parent),
|
|
||||||
[
|
|
||||||
self.position.x * scale,
|
|
||||||
self.position.y * scale,
|
|
||||||
self.position.z * scale,
|
|
||||||
],
|
|
||||||
)
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
} else {
|
} else {
|
||||||
if grabbable_move.final_value() == 0.0001 {
|
if grabbable_move.final_value() == 0.0001 {
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ impl Application {
|
|||||||
|
|
||||||
// Strip/ignore field codes https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s07.html
|
// Strip/ignore field codes https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s07.html
|
||||||
let re = Regex::new(r"%[fFuUdDnNickvm]").unwrap();
|
let re = Regex::new(r"%[fFuUdDnNickvm]").unwrap();
|
||||||
let exec = re.replace_all(&executable, "");
|
let exec: std::borrow::Cow<'_, str> = re.replace_all(&executable, "");
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
Command::new("sh")
|
Command::new("sh")
|
||||||
|
|||||||
Reference in New Issue
Block a user