mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge branch 'Apply-same-member-order-as-in-trait' into 'master'
Apply same member order as in trait See merge request veloren/veloren!2651
This commit is contained in:
commit
fcee3ceedd
@ -61,6 +61,16 @@ impl WorldSyncExt for specs::World {
|
|||||||
self.create_entity().marked::<super::Uid>()
|
self.create_entity().marked::<super::Uid>()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn delete_entity_and_clear_from_uid_allocator(&mut self, uid: u64) {
|
||||||
|
// Clear from uid allocator
|
||||||
|
let maybe_entity = self.write_resource::<UidAllocator>().remove_entity(uid);
|
||||||
|
if let Some(entity) = maybe_entity {
|
||||||
|
if let Err(e) = self.delete_entity(entity) {
|
||||||
|
error!(?e, "Failed to delete entity");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Get the UID of an entity
|
/// Get the UID of an entity
|
||||||
fn uid_from_entity(&self, entity: specs::Entity) -> Option<Uid> {
|
fn uid_from_entity(&self, entity: specs::Entity) -> Option<Uid> {
|
||||||
self.read_storage::<Uid>().get(entity).copied()
|
self.read_storage::<Uid>().get(entity).copied()
|
||||||
@ -86,16 +96,6 @@ impl WorldSyncExt for specs::World {
|
|||||||
entity
|
entity
|
||||||
}
|
}
|
||||||
|
|
||||||
fn delete_entity_and_clear_from_uid_allocator(&mut self, uid: u64) {
|
|
||||||
// Clear from uid allocator
|
|
||||||
let maybe_entity = self.write_resource::<UidAllocator>().remove_entity(uid);
|
|
||||||
if let Some(entity) = maybe_entity {
|
|
||||||
if let Err(e) = self.delete_entity(entity) {
|
|
||||||
error!(?e, "Failed to delete entity");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn apply_entity_sync_package(&mut self, package: EntitySyncPackage) {
|
fn apply_entity_sync_package(&mut self, package: EntitySyncPackage) {
|
||||||
// Take ownership of the fields
|
// Take ownership of the fields
|
||||||
let EntitySyncPackage {
|
let EntitySyncPackage {
|
||||||
|
@ -23,6 +23,12 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn wield(&self, data: &JoinData) -> StateUpdate {
|
fn wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_wield(data, &mut update);
|
attempt_wield(data, &mut update);
|
||||||
@ -41,10 +47,4 @@ impl CharacterBehavior for Data {
|
|||||||
update.character = CharacterState::Idle;
|
update.character = CharacterState::Idle;
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,18 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn unwield(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
update.character = CharacterState::Idle;
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn sit(&self, data: &JoinData) -> StateUpdate {
|
fn sit(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_sit(data, &mut update);
|
attempt_sit(data, &mut update);
|
||||||
@ -55,16 +67,4 @@ impl CharacterBehavior for Data {
|
|||||||
attempt_sneak(data, &mut update);
|
attempt_sneak(data, &mut update);
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn unwield(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
update.character = CharacterState::Idle;
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -20,21 +20,33 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_swap_equipped_weapons(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn wield(&self, data: &JoinData) -> StateUpdate {
|
fn wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_wield(data, &mut update);
|
attempt_wield(data, &mut update);
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sit(&self, data: &JoinData) -> StateUpdate {
|
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_sit(data, &mut update);
|
attempt_glide_wield(data, &mut update);
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn talk(&self, data: &JoinData) -> StateUpdate {
|
fn sit(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_talk(data, &mut update);
|
attempt_sit(data, &mut update);
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,21 +62,9 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
|
fn talk(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_glide_wield(data, &mut update);
|
attempt_talk(data, &mut update);
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_swap_equipped_weapons(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,12 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn wield(&self, data: &JoinData) -> StateUpdate {
|
fn wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_wield(data, &mut update);
|
attempt_wield(data, &mut update);
|
||||||
@ -41,10 +47,4 @@ impl CharacterBehavior for Data {
|
|||||||
update.character = CharacterState::Idle;
|
update.character = CharacterState::Idle;
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -25,12 +25,30 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_swap_equipped_weapons(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn wield(&self, data: &JoinData) -> StateUpdate {
|
fn wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_wield(data, &mut update);
|
attempt_wield(data, &mut update);
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_glide_wield(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn sit(&self, data: &JoinData) -> StateUpdate {
|
fn sit(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_sit(data, &mut update);
|
attempt_sit(data, &mut update);
|
||||||
@ -43,27 +61,9 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_glide_wield(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_swap_equipped_weapons(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn stand(&self, data: &JoinData) -> StateUpdate {
|
fn stand(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
update.character = CharacterState::Idle;
|
update.character = CharacterState::Idle;
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,12 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
fn wield(&self, data: &JoinData) -> StateUpdate {
|
fn wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_wield(data, &mut update);
|
attempt_wield(data, &mut update);
|
||||||
@ -46,10 +52,4 @@ impl CharacterBehavior for Data {
|
|||||||
update.character = CharacterState::Idle;
|
update.character = CharacterState::Idle;
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn manipulate_loadout(&self, data: &JoinData, inv_action: InventoryAction) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -21,36 +21,6 @@ impl CharacterBehavior for Data {
|
|||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sit(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_sit(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn dance(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_dance(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn sneak(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_sneak(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn unwield(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
update.character = CharacterState::Idle;
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
|
|
||||||
let mut update = StateUpdate::from(data);
|
|
||||||
attempt_glide_wield(data, &mut update);
|
|
||||||
update
|
|
||||||
}
|
|
||||||
|
|
||||||
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
|
fn swap_equipped_weapons(&self, data: &JoinData) -> StateUpdate {
|
||||||
let mut update = StateUpdate::from(data);
|
let mut update = StateUpdate::from(data);
|
||||||
attempt_swap_equipped_weapons(data, &mut update);
|
attempt_swap_equipped_weapons(data, &mut update);
|
||||||
@ -73,4 +43,34 @@ impl CharacterBehavior for Data {
|
|||||||
handle_manipulate_loadout(data, &mut update, inv_action);
|
handle_manipulate_loadout(data, &mut update, inv_action);
|
||||||
update
|
update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn glide_wield(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_glide_wield(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn unwield(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
update.character = CharacterState::Idle;
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn sit(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_sit(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn dance(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_dance(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
|
|
||||||
|
fn sneak(&self, data: &JoinData) -> StateUpdate {
|
||||||
|
let mut update = StateUpdate::from(data);
|
||||||
|
attempt_sneak(data, &mut update);
|
||||||
|
update
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,11 +10,11 @@ pub struct SkeletonAttr;
|
|||||||
impl<'a, Factor> Lerp<Factor> for &'a FixtureSkeleton {
|
impl<'a, Factor> Lerp<Factor> for &'a FixtureSkeleton {
|
||||||
type Output = FixtureSkeleton;
|
type Output = FixtureSkeleton;
|
||||||
|
|
||||||
|
fn lerp_unclamped(_from: Self, _to: Self, _factor: Factor) -> Self::Output { FixtureSkeleton }
|
||||||
|
|
||||||
fn lerp_unclamped_precise(_from: Self, _to: Self, _factor: Factor) -> Self::Output {
|
fn lerp_unclamped_precise(_from: Self, _to: Self, _factor: Factor) -> Self::Output {
|
||||||
FixtureSkeleton
|
FixtureSkeleton
|
||||||
}
|
}
|
||||||
|
|
||||||
fn lerp_unclamped(_from: Self, _to: Self, _factor: Factor) -> Self::Output { FixtureSkeleton }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Skeleton for FixtureSkeleton {
|
impl Skeleton for FixtureSkeleton {
|
||||||
|
@ -114,25 +114,6 @@ where
|
|||||||
layout::Node::with_children(limits.max(), vec![content])
|
layout::Node::with_children(limits.max(), vec![content])
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_event(
|
|
||||||
&mut self,
|
|
||||||
event: Event,
|
|
||||||
layout: Layout<'_>,
|
|
||||||
cursor_position: Point,
|
|
||||||
renderer: &R,
|
|
||||||
clipboard: &mut dyn Clipboard,
|
|
||||||
messages: &mut Vec<M>,
|
|
||||||
) -> iced::event::Status {
|
|
||||||
self.content.on_event(
|
|
||||||
event,
|
|
||||||
layout.children().next().unwrap(),
|
|
||||||
cursor_position,
|
|
||||||
renderer,
|
|
||||||
clipboard,
|
|
||||||
messages,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut R,
|
renderer: &mut R,
|
||||||
@ -163,6 +144,25 @@ where
|
|||||||
self.content.hash_layout(state);
|
self.content.hash_layout(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn on_event(
|
||||||
|
&mut self,
|
||||||
|
event: Event,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
cursor_position: Point,
|
||||||
|
renderer: &R,
|
||||||
|
clipboard: &mut dyn Clipboard,
|
||||||
|
messages: &mut Vec<M>,
|
||||||
|
) -> iced::event::Status {
|
||||||
|
self.content.on_event(
|
||||||
|
event,
|
||||||
|
layout.children().next().unwrap(),
|
||||||
|
cursor_position,
|
||||||
|
renderer,
|
||||||
|
clipboard,
|
||||||
|
messages,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
||||||
self.content.overlay(layout.children().next().unwrap())
|
self.content.overlay(layout.children().next().unwrap())
|
||||||
}
|
}
|
||||||
|
@ -250,25 +250,6 @@ where
|
|||||||
layout::Node::with_children(size, vec![content])
|
layout::Node::with_children(size, vec![content])
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_event(
|
|
||||||
&mut self,
|
|
||||||
event: Event,
|
|
||||||
layout: Layout<'_>,
|
|
||||||
cursor_position: Point,
|
|
||||||
renderer: &R,
|
|
||||||
clipboard: &mut dyn Clipboard,
|
|
||||||
messages: &mut Vec<M>,
|
|
||||||
) -> iced::event::Status {
|
|
||||||
self.content.on_event(
|
|
||||||
event,
|
|
||||||
layout.children().next().unwrap(),
|
|
||||||
cursor_position,
|
|
||||||
renderer,
|
|
||||||
clipboard,
|
|
||||||
messages,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut R,
|
renderer: &mut R,
|
||||||
@ -303,6 +284,25 @@ where
|
|||||||
self.content.hash_layout(state);
|
self.content.hash_layout(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn on_event(
|
||||||
|
&mut self,
|
||||||
|
event: Event,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
cursor_position: Point,
|
||||||
|
renderer: &R,
|
||||||
|
clipboard: &mut dyn Clipboard,
|
||||||
|
messages: &mut Vec<M>,
|
||||||
|
) -> iced::event::Status {
|
||||||
|
self.content.on_event(
|
||||||
|
event,
|
||||||
|
layout.children().next().unwrap(),
|
||||||
|
cursor_position,
|
||||||
|
renderer,
|
||||||
|
clipboard,
|
||||||
|
messages,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
||||||
self.content.overlay(layout.children().next().unwrap())
|
self.content.overlay(layout.children().next().unwrap())
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,25 @@ where
|
|||||||
layout::Node::new(limits.resolve(Size::ZERO))
|
layout::Node::new(limits.resolve(Size::ZERO))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn draw(
|
||||||
|
&self,
|
||||||
|
renderer: &mut R,
|
||||||
|
_defaults: &R::Defaults,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
_cursor_position: Point,
|
||||||
|
_viewport: &Rectangle,
|
||||||
|
) -> R::Output {
|
||||||
|
renderer.draw(layout.bounds())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn hash_layout(&self, state: &mut Hasher) {
|
||||||
|
struct Marker;
|
||||||
|
std::any::TypeId::of::<Marker>().hash(state);
|
||||||
|
|
||||||
|
self.width.hash(state);
|
||||||
|
self.height.hash(state);
|
||||||
|
}
|
||||||
|
|
||||||
fn on_event(
|
fn on_event(
|
||||||
&mut self,
|
&mut self,
|
||||||
event: Event,
|
event: Event,
|
||||||
@ -68,25 +87,6 @@ where
|
|||||||
|
|
||||||
iced::event::Status::Ignored
|
iced::event::Status::Ignored
|
||||||
}
|
}
|
||||||
|
|
||||||
fn draw(
|
|
||||||
&self,
|
|
||||||
renderer: &mut R,
|
|
||||||
_defaults: &R::Defaults,
|
|
||||||
layout: Layout<'_>,
|
|
||||||
_cursor_position: Point,
|
|
||||||
_viewport: &Rectangle,
|
|
||||||
) -> R::Output {
|
|
||||||
renderer.draw(layout.bounds())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher) {
|
|
||||||
struct Marker;
|
|
||||||
std::any::TypeId::of::<Marker>().hash(state);
|
|
||||||
|
|
||||||
self.width.hash(state);
|
|
||||||
self.height.hash(state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Renderer: iced::Renderer {
|
pub trait Renderer: iced::Renderer {
|
||||||
|
@ -130,6 +130,41 @@ where
|
|||||||
layout::Node::with_children(size, vec![over, under])
|
layout::Node::with_children(size, vec![over, under])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn draw(
|
||||||
|
&self,
|
||||||
|
renderer: &mut R,
|
||||||
|
defaults: &R::Defaults,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
cursor_position: Point,
|
||||||
|
viewport: &Rectangle,
|
||||||
|
) -> R::Output {
|
||||||
|
let mut children = layout.children();
|
||||||
|
renderer.draw(
|
||||||
|
defaults,
|
||||||
|
layout.bounds(),
|
||||||
|
cursor_position,
|
||||||
|
viewport,
|
||||||
|
&self.over,
|
||||||
|
children.next().unwrap(),
|
||||||
|
&self.under,
|
||||||
|
children.next().unwrap(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn hash_layout(&self, state: &mut Hasher) {
|
||||||
|
struct Marker;
|
||||||
|
std::any::TypeId::of::<Marker>().hash(state);
|
||||||
|
|
||||||
|
self.padding.hash(state);
|
||||||
|
self.width.hash(state);
|
||||||
|
self.height.hash(state);
|
||||||
|
self.max_width.hash(state);
|
||||||
|
self.max_height.hash(state);
|
||||||
|
|
||||||
|
self.over.hash_layout(state);
|
||||||
|
self.under.hash_layout(state);
|
||||||
|
}
|
||||||
|
|
||||||
fn on_event(
|
fn on_event(
|
||||||
&mut self,
|
&mut self,
|
||||||
event: Event,
|
event: Event,
|
||||||
@ -172,41 +207,6 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn draw(
|
|
||||||
&self,
|
|
||||||
renderer: &mut R,
|
|
||||||
defaults: &R::Defaults,
|
|
||||||
layout: Layout<'_>,
|
|
||||||
cursor_position: Point,
|
|
||||||
viewport: &Rectangle,
|
|
||||||
) -> R::Output {
|
|
||||||
let mut children = layout.children();
|
|
||||||
renderer.draw(
|
|
||||||
defaults,
|
|
||||||
layout.bounds(),
|
|
||||||
cursor_position,
|
|
||||||
viewport,
|
|
||||||
&self.over,
|
|
||||||
children.next().unwrap(),
|
|
||||||
&self.under,
|
|
||||||
children.next().unwrap(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher) {
|
|
||||||
struct Marker;
|
|
||||||
std::any::TypeId::of::<Marker>().hash(state);
|
|
||||||
|
|
||||||
self.padding.hash(state);
|
|
||||||
self.width.hash(state);
|
|
||||||
self.height.hash(state);
|
|
||||||
self.max_width.hash(state);
|
|
||||||
self.max_height.hash(state);
|
|
||||||
|
|
||||||
self.over.hash_layout(state);
|
|
||||||
self.under.hash_layout(state);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
||||||
let mut children = layout.children();
|
let mut children = layout.children();
|
||||||
let (over, under) = (&mut self.over, &mut self.under);
|
let (over, under) = (&mut self.over, &mut self.under);
|
||||||
|
@ -184,25 +184,6 @@ where
|
|||||||
self.content.layout(renderer, limits)
|
self.content.layout(renderer, limits)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_event(
|
|
||||||
&mut self,
|
|
||||||
event: Event,
|
|
||||||
layout: Layout<'_>,
|
|
||||||
cursor_position: Point,
|
|
||||||
renderer: &R,
|
|
||||||
clipboard: &mut dyn Clipboard,
|
|
||||||
messages: &mut Vec<M>,
|
|
||||||
) -> iced::event::Status {
|
|
||||||
self.content.on_event(
|
|
||||||
event,
|
|
||||||
layout,
|
|
||||||
cursor_position,
|
|
||||||
renderer,
|
|
||||||
clipboard,
|
|
||||||
messages,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut R,
|
renderer: &mut R,
|
||||||
@ -228,6 +209,31 @@ where
|
|||||||
.draw(renderer, defaults, layout, cursor_position, viewport)
|
.draw(renderer, defaults, layout, cursor_position, viewport)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn hash_layout(&self, state: &mut Hasher) {
|
||||||
|
struct Marker;
|
||||||
|
std::any::TypeId::of::<Marker>().hash(state);
|
||||||
|
self.content.hash_layout(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn on_event(
|
||||||
|
&mut self,
|
||||||
|
event: Event,
|
||||||
|
layout: Layout<'_>,
|
||||||
|
cursor_position: Point,
|
||||||
|
renderer: &R,
|
||||||
|
clipboard: &mut dyn Clipboard,
|
||||||
|
messages: &mut Vec<M>,
|
||||||
|
) -> iced::event::Status {
|
||||||
|
self.content.on_event(
|
||||||
|
event,
|
||||||
|
layout,
|
||||||
|
cursor_position,
|
||||||
|
renderer,
|
||||||
|
clipboard,
|
||||||
|
messages,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
fn overlay(&mut self, layout: Layout<'_>) -> Option<iced::overlay::Element<'_, M, R>> {
|
||||||
let bounds = layout.bounds();
|
let bounds = layout.bounds();
|
||||||
let aabr = aabr_from_bounds(bounds);
|
let aabr = aabr_from_bounds(bounds);
|
||||||
@ -244,12 +250,6 @@ where
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher) {
|
|
||||||
struct Marker;
|
|
||||||
std::any::TypeId::of::<Marker>().hash(state);
|
|
||||||
self.content.hash_layout(state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, M, R> From<Tooltip<'a, M, R>> for Element<'a, M, R>
|
impl<'a, M, R> From<Tooltip<'a, M, R>> for Element<'a, M, R>
|
||||||
@ -332,20 +332,6 @@ where
|
|||||||
node
|
node
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hash_layout(&self, state: &mut Hasher, position: Point) {
|
|
||||||
struct Marker;
|
|
||||||
std::any::TypeId::of::<Marker>().hash(state);
|
|
||||||
|
|
||||||
(position.x as u32).hash(state);
|
|
||||||
(position.y as u32).hash(state);
|
|
||||||
(self.cursor_position.x as u32).hash(state);
|
|
||||||
(self.avoid.x as u32).hash(state);
|
|
||||||
(self.avoid.y as u32).hash(state);
|
|
||||||
(self.avoid.height as u32).hash(state);
|
|
||||||
(self.avoid.width as u32).hash(state);
|
|
||||||
self.content.hash_layout(state);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn draw(
|
fn draw(
|
||||||
&self,
|
&self,
|
||||||
renderer: &mut R,
|
renderer: &mut R,
|
||||||
@ -362,6 +348,20 @@ where
|
|||||||
layout,
|
layout,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn hash_layout(&self, state: &mut Hasher, position: Point) {
|
||||||
|
struct Marker;
|
||||||
|
std::any::TypeId::of::<Marker>().hash(state);
|
||||||
|
|
||||||
|
(position.x as u32).hash(state);
|
||||||
|
(position.y as u32).hash(state);
|
||||||
|
(self.cursor_position.x as u32).hash(state);
|
||||||
|
(self.avoid.x as u32).hash(state);
|
||||||
|
(self.avoid.y as u32).hash(state);
|
||||||
|
(self.avoid.height as u32).hash(state);
|
||||||
|
(self.avoid.width as u32).hash(state);
|
||||||
|
self.content.hash_layout(state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait Renderer: iced::Renderer {
|
pub trait Renderer: iced::Renderer {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user