mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 22:28:10 +08:00
New demo artwork: "Parametric Dunescape"
This commit is contained in:
@@ -515,6 +515,7 @@ mod test {
|
||||
// include_str!("../../demo-artwork/isometric-fountain.graphite"),
|
||||
// include_str!("../../demo-artwork/painted-dreams.graphite"),
|
||||
// include_str!("../../demo-artwork/procedural-string-lights.graphite"),
|
||||
// include_str!("../../demo-artwork/parametric-dunescape.graphite"),
|
||||
// include_str!("../../demo-artwork/red-dress.graphite"),
|
||||
// include_str!("../../demo-artwork/valley-of-spires.graphite"),
|
||||
// ];
|
||||
|
||||
@@ -5,10 +5,11 @@ use crate::messages::prelude::*;
|
||||
pub struct DemoArtworkDialog;
|
||||
|
||||
/// `(name, thumbnail, filename)`
|
||||
pub const ARTWORK: [(&str, &str, &str); 6] = [
|
||||
pub const ARTWORK: [(&str, &str, &str); 7] = [
|
||||
("Isometric Fountain", "ThumbnailIsometricFountain", "isometric-fountain.graphite"),
|
||||
("Changing Seasons", "ThumbnailChangingSeasons", "changing-seasons.graphite"),
|
||||
("Painted Dreams", "ThumbnailPaintedDreams", "painted-dreams.graphite"),
|
||||
("Parametric Dunescape", "ThumbnailParametricDunescape", "parametric-dunescape.graphite"),
|
||||
("Red Dress", "ThumbnailRedDress", "red-dress.graphite"),
|
||||
("Procedural String Lights", "ThumbnailProceduralStringLights", "procedural-string-lights.graphite"),
|
||||
("Valley of Spires", "ThumbnailValleyOfSpires", "valley-of-spires.graphite"),
|
||||
@@ -28,7 +29,7 @@ impl DialogLayoutHolder for DemoArtworkDialog {
|
||||
impl LayoutHolder for DemoArtworkDialog {
|
||||
fn layout(&self) -> Layout {
|
||||
let mut rows_of_images_with_buttons: Vec<_> = ARTWORK
|
||||
.chunks(3)
|
||||
.chunks(4)
|
||||
.flat_map(|chunk| {
|
||||
fn make_dialog(name: &str, filename: &str) -> Message {
|
||||
DialogMessage::CloseDialogAndThen {
|
||||
|
||||
@@ -2,8 +2,8 @@ use super::node_properties;
|
||||
use super::utility_types::FrontendNodeType;
|
||||
use crate::messages::layout::utility_types::widget_prelude::*;
|
||||
use crate::messages::portfolio::document::utility_types::network_interface::{
|
||||
DocumentNodeMetadata, DocumentNodePersistentMetadata, NodeNetworkInterface, NodeNetworkMetadata, NodeNetworkPersistentMetadata, NodePersistentMetadata, NodePosition, NodeTemplate,
|
||||
NodeTypePersistentMetadata, NumberInputSettings, PropertiesRow, Vec2InputSettings, WidgetOverride,
|
||||
DocumentNodeMetadata, DocumentNodePersistentMetadata, NodeNetworkInterface, NodeNetworkMetadata, NodeNetworkPersistentMetadata, NodeTemplate, NodeTypePersistentMetadata, NumberInputSettings,
|
||||
PropertiesRow, Vec2InputSettings, WidgetOverride,
|
||||
};
|
||||
use crate::messages::portfolio::utility_types::PersistentData;
|
||||
use crate::messages::prelude::Message;
|
||||
|
||||
@@ -16,11 +16,7 @@ pub struct OverlaysMessageHandler {
|
||||
|
||||
impl MessageHandler<OverlaysMessage, OverlaysMessageData<'_>> for OverlaysMessageHandler {
|
||||
fn process_message(&mut self, message: OverlaysMessage, responses: &mut VecDeque<Message>, data: OverlaysMessageData) {
|
||||
let OverlaysMessageData {
|
||||
overlays_visible,
|
||||
ipp,
|
||||
device_pixel_ratio,
|
||||
} = data;
|
||||
let OverlaysMessageData { overlays_visible, ipp, .. } = data;
|
||||
|
||||
match message {
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
@@ -30,6 +26,8 @@ impl MessageHandler<OverlaysMessage, OverlaysMessageData<'_>> for OverlaysMessag
|
||||
use glam::{DAffine2, DVec2};
|
||||
use wasm_bindgen::JsCast;
|
||||
|
||||
let device_pixel_ratio = data.device_pixel_ratio;
|
||||
|
||||
let canvas = match &self.canvas {
|
||||
Some(canvas) => canvas,
|
||||
None => {
|
||||
|
||||
Reference in New Issue
Block a user