bevy/examples/2d
ickshonpe 84b09b9398
Newtype Anchor (#18439)
# Objective

The `Anchor` component doesn't need to be a enum. The variants are just
mapped to `Vec2`s so it could be changed to a newtype with associated
const values, saving the space needed for the discriminator by the enum.

Also there was no benefit I think in hiding the underlying `Vec2`
representation of `Anchor`s.

Suggested by @atlv24.

Fixes #18459
Fixes #18460

## Solution

Change `Anchor` to a struct newtyping a `Vec2`, and its variants into
associated constants.

## Migration Guide

The anchor component has been changed from an enum to a struct newtyping
a `Vec2`. The `Custom` variant has been removed, instead to construct a
custom `Anchor` use its tuple constructor:
```rust
Sprite {
     anchor: Anchor(Vec2::new(0.25, 0.4)),
     ..default()
}
```
The other enum variants have been replaced with corresponding constants:
* `Anchor::BottomLeft` to `Anchor::BOTTOM_LEFT`
* `Anchor::Center` to `Anchor::CENTER`
* `Anchor::TopRight` to `Anchor::TOP_RIGHT`
* .. and so on for the remaining variants
2025-03-21 22:27:11 +00:00
..
2d_shapes.rs Merge Style properties into Node. Use ComputedNode for computed properties. (#15975) 2024-10-18 22:25:33 +00:00
2d_viewport_to_world.rs Respect viewport position in coordinate conversion functions (#17633) 2025-03-10 21:19:26 +00:00
bloom_2d.rs Add tonemapping switch to bloom 2d example (#17789) 2025-02-11 22:21:04 +00:00
cpu_draw.rs Upgrade to Rust Edition 2024 (#17967) 2025-02-24 03:54:47 +00:00
custom_gltf_vertex_attribute.rs Revert "Replace Ambient Lights with Environment Map Lights (#17482)" (#18167) 2025-03-05 23:08:46 +00:00
mesh2d_alpha_mode.rs Add uv_transform to ColorMaterial (#17879) 2025-02-24 21:17:26 +00:00
mesh2d_arcs.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
mesh2d_manual.rs Fix warning spam on mesh2d_manual example (#18433) 2025-03-20 20:05:57 +00:00
mesh2d_repeated_texture.rs Add uv_transform to ColorMaterial (#17879) 2025-02-24 21:17:26 +00:00
mesh2d_vertex_color_texture.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
mesh2d.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
move_sprite.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
pixel_grid_snap.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
rotation.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
sprite_animation.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
sprite_flipping.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
sprite_scale.rs Newtype Anchor (#18439) 2025-03-21 22:27:11 +00:00
sprite_sheet.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
sprite_slice.rs Newtype Anchor (#18439) 2025-03-21 22:27:11 +00:00
sprite_tile.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
sprite.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
text2d.rs Newtype Anchor (#18439) 2025-03-21 22:27:11 +00:00
texture_atlas.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
transparency_2d.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00
wireframe_2d.rs Updated the 2D examples to make them uniform (#17237) 2025-01-23 16:46:58 +00:00