mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-11-28 03:35:51 +03:00
make map_editor compile again
This commit is contained in:
parent
e367a5b218
commit
dd9667b95e
Binary file not shown.
Before Width: | Height: | Size: 166 B |
Binary file not shown.
Before Width: | Height: | Size: 250 B |
@ -69,7 +69,6 @@ impl UI {
|
|||||||
} else {
|
} else {
|
||||||
Model::blank()
|
Model::blank()
|
||||||
};
|
};
|
||||||
ctx.set_textures(Vec::new(), &mut Timer::throwaway());
|
|
||||||
ctx.canvas.load_camera_state(&model.map.name);
|
ctx.canvas.load_camera_state(&model.map.name);
|
||||||
let bounds = model.map.gps_bounds.to_bounds();
|
let bounds = model.map.gps_bounds.to_bounds();
|
||||||
ctx.canvas.map_dims = (bounds.width(), bounds.height());
|
ctx.canvas.map_dims = (bounds.width(), bounds.height());
|
||||||
@ -94,11 +93,11 @@ impl UI {
|
|||||||
|
|
||||||
last_id: None,
|
last_id: None,
|
||||||
};
|
};
|
||||||
ui.recount_parking_tags();
|
ui.recount_parking_tags(ctx);
|
||||||
ui
|
ui
|
||||||
}
|
}
|
||||||
|
|
||||||
fn recount_parking_tags(&mut self) {
|
fn recount_parking_tags(&mut self, ctx: &EventCtx) {
|
||||||
let mut ways_audited = HashSet::new();
|
let mut ways_audited = HashSet::new();
|
||||||
let mut ways_missing = HashSet::new();
|
let mut ways_missing = HashSet::new();
|
||||||
for r in self.model.map.roads.values() {
|
for r in self.model.map.roads.values() {
|
||||||
@ -111,11 +110,14 @@ impl UI {
|
|||||||
ways_audited.insert(r.osm_tags[osm::OSM_WAY_ID].clone());
|
ways_audited.insert(r.osm_tags[osm::OSM_WAY_ID].clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.menu.set_info(Text::from(Line(format!(
|
self.menu.set_info(
|
||||||
"Parking data audited: {} / {} ways",
|
ctx,
|
||||||
abstutil::prettyprint_usize(ways_audited.len()),
|
Text::from(Line(format!(
|
||||||
abstutil::prettyprint_usize(ways_audited.len() + ways_missing.len())
|
"Parking data audited: {} / {} ways",
|
||||||
))));
|
abstutil::prettyprint_usize(ways_audited.len()),
|
||||||
|
abstutil::prettyprint_usize(ways_audited.len() + ways_missing.len())
|
||||||
|
))),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,7 +213,7 @@ impl GUI for UI {
|
|||||||
} else if ctx.input.key_pressed(Key::T, "toggle parking") {
|
} else if ctx.input.key_pressed(Key::T, "toggle parking") {
|
||||||
self.model.toggle_r_parking(r, ctx.prerender);
|
self.model.toggle_r_parking(r, ctx.prerender);
|
||||||
self.model.world.handle_mouseover(ctx);
|
self.model.world.handle_mouseover(ctx);
|
||||||
self.recount_parking_tags();
|
self.recount_parking_tags(ctx);
|
||||||
} else if ctx.input.key_pressed(Key::F, "toggle sidewalks") {
|
} else if ctx.input.key_pressed(Key::F, "toggle sidewalks") {
|
||||||
self.model.toggle_r_sidewalks(r, ctx.prerender);
|
self.model.toggle_r_sidewalks(r, ctx.prerender);
|
||||||
self.model.world.handle_mouseover(ctx);
|
self.model.world.handle_mouseover(ctx);
|
||||||
@ -313,17 +315,20 @@ impl GUI for UI {
|
|||||||
} else if short_roads.is_empty()
|
} else if short_roads.is_empty()
|
||||||
&& self
|
&& self
|
||||||
.menu
|
.menu
|
||||||
.swap_action("find short roads", "clear short roads")
|
.swap_action(ctx, "find short roads", "clear short roads")
|
||||||
{
|
{
|
||||||
*short_roads = find_short_roads(&self.model);
|
*short_roads = find_short_roads(&self.model);
|
||||||
if short_roads.is_empty() {
|
if short_roads.is_empty() {
|
||||||
self.menu
|
self.menu.change_action(
|
||||||
.change_action("clear short roads", "find short roads");
|
ctx,
|
||||||
|
"clear short roads",
|
||||||
|
"find short roads",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else if !short_roads.is_empty()
|
} else if !short_roads.is_empty()
|
||||||
&& self
|
&& self
|
||||||
.menu
|
.menu
|
||||||
.swap_action("clear short roads", "find short roads")
|
.swap_action(ctx, "clear short roads", "find short roads")
|
||||||
{
|
{
|
||||||
short_roads.clear();
|
short_roads.clear();
|
||||||
}
|
}
|
||||||
@ -643,7 +648,7 @@ impl GUI for UI {
|
|||||||
if show_tooltip {
|
if show_tooltip {
|
||||||
// TODO Argh, covers up mouseover tooltip.
|
// TODO Argh, covers up mouseover tooltip.
|
||||||
if let Some(cursor) = g.canvas.get_cursor_in_map_space() {
|
if let Some(cursor) = g.canvas.get_cursor_in_map_space() {
|
||||||
g.draw_mouse_tooltip(&Text::from(Line(cursor.to_string())).with_bg());
|
g.draw_mouse_tooltip(Text::from(Line(cursor.to_string())).with_bg());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -651,7 +656,7 @@ impl GUI for UI {
|
|||||||
|
|
||||||
self.menu.draw(g);
|
self.menu.draw(g);
|
||||||
g.draw_blocking_text(
|
g.draw_blocking_text(
|
||||||
&self.sidebar,
|
self.sidebar.clone(),
|
||||||
(
|
(
|
||||||
ezgui::HorizontalAlignment::Left,
|
ezgui::HorizontalAlignment::Left,
|
||||||
ezgui::VerticalAlignment::Top,
|
ezgui::VerticalAlignment::Top,
|
||||||
@ -681,7 +686,9 @@ fn preview_intersection(i: OriginalIntersection, model: &Model, ctx: &EventCtx)
|
|||||||
let center = poly.center();
|
let center = poly.center();
|
||||||
batch.push(Color::RED.alpha(0.5), poly);
|
batch.push(Color::RED.alpha(0.5), poly);
|
||||||
batch.add_transformed(
|
batch.add_transformed(
|
||||||
Text::from(Line(label)).with_bg().render_to_batch(),
|
Text::from(Line(label))
|
||||||
|
.with_bg()
|
||||||
|
.render_to_batch(ctx.prerender),
|
||||||
center,
|
center,
|
||||||
0.1,
|
0.1,
|
||||||
Angle::ZERO,
|
Angle::ZERO,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
use aabb_quadtree::{ItemId, QuadTree};
|
use aabb_quadtree::{ItemId, QuadTree};
|
||||||
use ezgui::{Color, Drawable, EventCtx, GeomBatch, GfxCtx, Prerender, Text};
|
use ezgui::{Color, Drawable, EventCtx, GeomBatch, GfxCtx, Prerender};
|
||||||
use geom::{Bounds, Circle, Distance, Polygon, Pt2D};
|
use geom::{Bounds, Circle, Distance, Polygon, Pt2D};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
@ -13,8 +13,6 @@ pub trait ObjectID: Clone + Copy + Debug + Eq + Hash {
|
|||||||
pub struct Object<ID: ObjectID> {
|
pub struct Object<ID: ObjectID> {
|
||||||
id: ID,
|
id: ID,
|
||||||
geometry: Vec<(Color, Polygon)>,
|
geometry: Vec<(Color, Polygon)>,
|
||||||
// TODO Unused
|
|
||||||
label: Option<Text>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<ID: ObjectID> Object<ID> {
|
impl<ID: ObjectID> Object<ID> {
|
||||||
@ -22,7 +20,6 @@ impl<ID: ObjectID> Object<ID> {
|
|||||||
Object {
|
Object {
|
||||||
id,
|
id,
|
||||||
geometry: vec![(color, poly)],
|
geometry: vec![(color, poly)],
|
||||||
label: None,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,7 +27,6 @@ impl<ID: ObjectID> Object<ID> {
|
|||||||
Object {
|
Object {
|
||||||
id,
|
id,
|
||||||
geometry: Vec::new(),
|
geometry: Vec::new(),
|
||||||
label: None,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,7 +42,6 @@ impl<ID: ObjectID> Object<ID> {
|
|||||||
struct WorldObject {
|
struct WorldObject {
|
||||||
unioned_polygon: Polygon,
|
unioned_polygon: Polygon,
|
||||||
draw: Drawable,
|
draw: Drawable,
|
||||||
label: Option<Text>,
|
|
||||||
quadtree_id: ItemId,
|
quadtree_id: ItemId,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,9 +81,6 @@ impl<ID: ObjectID> World<ID> {
|
|||||||
for id in objects {
|
for id in objects {
|
||||||
let obj = &self.objects[&id];
|
let obj = &self.objects[&id];
|
||||||
g.redraw(&obj.draw);
|
g.redraw(&obj.draw);
|
||||||
if let Some(ref txt) = obj.label {
|
|
||||||
g.draw_text_at(txt, obj.unioned_polygon.center());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(id) = self.current_selection {
|
if let Some(id) = self.current_selection {
|
||||||
@ -156,7 +148,6 @@ impl<ID: ObjectID> World<ID> {
|
|||||||
unioned_polygon,
|
unioned_polygon,
|
||||||
draw,
|
draw,
|
||||||
quadtree_id,
|
quadtree_id,
|
||||||
label: obj.label,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user