Skip to content

Commit 8bb176f

Browse files
committed
[update] demo to customize the window dimensions and title.
1 parent 7068c55 commit 8bb176f

3 files changed

Lines changed: 69 additions & 70 deletions

File tree

lambda/src/core/render/mod.rs

Lines changed: 63 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -8,69 +8,6 @@ pub mod shader;
88
pub mod viewport;
99
pub mod window;
1010

11-
pub mod internal {
12-
use std::rc::Rc;
13-
14-
use lambda_platform::gfx::api::RenderingAPI as RenderContext;
15-
pub type RenderBackend = RenderContext::Backend;
16-
17-
pub use lambda_platform::{
18-
gfx::{
19-
command::{
20-
CommandBuffer,
21-
CommandBufferBuilder,
22-
CommandPool,
23-
CommandPoolBuilder,
24-
},
25-
fence::{
26-
RenderSemaphore,
27-
RenderSemaphoreBuilder,
28-
RenderSubmissionFence,
29-
RenderSubmissionFenceBuilder,
30-
},
31-
framebuffer::Framebuffer,
32-
gpu::{
33-
Gpu,
34-
GpuBuilder,
35-
RenderQueueType,
36-
},
37-
pipeline::RenderPipelineBuilder,
38-
render_pass::{
39-
RenderPass,
40-
RenderPassBuilder,
41-
},
42-
surface::{
43-
Surface,
44-
SurfaceBuilder,
45-
},
46-
Instance,
47-
InstanceBuilder,
48-
},
49-
shaderc::ShaderKind,
50-
};
51-
52-
/// Returns the GPU instance for the given render context.
53-
pub fn gpu_from_context(
54-
context: &super::RenderContext,
55-
) -> &Gpu<RenderBackend> {
56-
return &context.gpu;
57-
}
58-
59-
/// Returns a mutable GPU instance for the given render context.
60-
pub fn mut_gpu_from_context(
61-
context: &mut super::RenderContext,
62-
) -> &mut Gpu<RenderBackend> {
63-
return &mut context.gpu;
64-
}
65-
66-
/// Gets the surface for the given render context.
67-
pub fn surface_from_context(
68-
context: &super::RenderContext,
69-
) -> Rc<Surface<RenderBackend>> {
70-
return context.surface.clone();
71-
}
72-
}
73-
7411
use std::{
7512
mem::swap,
7613
rc::Rc,
@@ -336,3 +273,66 @@ impl RenderContext {
336273
}
337274

338275
type PlatformRenderCommand = Command<internal::RenderBackend>;
276+
277+
pub mod internal {
278+
use std::rc::Rc;
279+
280+
use lambda_platform::gfx::api::RenderingAPI as RenderContext;
281+
pub type RenderBackend = RenderContext::Backend;
282+
283+
pub use lambda_platform::{
284+
gfx::{
285+
command::{
286+
CommandBuffer,
287+
CommandBufferBuilder,
288+
CommandPool,
289+
CommandPoolBuilder,
290+
},
291+
fence::{
292+
RenderSemaphore,
293+
RenderSemaphoreBuilder,
294+
RenderSubmissionFence,
295+
RenderSubmissionFenceBuilder,
296+
},
297+
framebuffer::Framebuffer,
298+
gpu::{
299+
Gpu,
300+
GpuBuilder,
301+
RenderQueueType,
302+
},
303+
pipeline::RenderPipelineBuilder,
304+
render_pass::{
305+
RenderPass,
306+
RenderPassBuilder,
307+
},
308+
surface::{
309+
Surface,
310+
SurfaceBuilder,
311+
},
312+
Instance,
313+
InstanceBuilder,
314+
},
315+
shaderc::ShaderKind,
316+
};
317+
318+
/// Returns the GPU instance for the given render context.
319+
pub fn gpu_from_context(
320+
context: &super::RenderContext,
321+
) -> &Gpu<RenderBackend> {
322+
return &context.gpu;
323+
}
324+
325+
/// Returns a mutable GPU instance for the given render context.
326+
pub fn mut_gpu_from_context(
327+
context: &mut super::RenderContext,
328+
) -> &mut Gpu<RenderBackend> {
329+
return &mut context.gpu;
330+
}
331+
332+
/// Gets the surface for the given render context.
333+
pub fn surface_from_context(
334+
context: &super::RenderContext,
335+
) -> Rc<Surface<RenderBackend>> {
336+
return context.surface.clone();
337+
}
338+
}

lambda/src/runtimes/mod.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ pub struct GenericRuntimeBuilder {
3535
app_name: String,
3636
render_context_builder: RenderContextBuilder,
3737
window_builder: WindowBuilder,
38-
window_size: (u32, u32),
3938
components: Vec<Box<dyn RenderableComponent<Events>>>,
4039
}
4140

@@ -45,7 +44,6 @@ impl GenericRuntimeBuilder {
4544
app_name: app_name.to_string(),
4645
render_context_builder: RenderContextBuilder::new(app_name),
4746
window_builder: WindowBuilder::new(),
48-
window_size: (800, 600),
4947
components: Vec::new(),
5048
};
5149
}
@@ -96,12 +94,8 @@ impl GenericRuntimeBuilder {
9694
pub fn build(self) -> GenericRuntime {
9795
let name = self.app_name;
9896
let mut event_loop = LoopBuilder::new().build();
99-
let (width, height) = self.window_size;
97+
let window = self.window_builder.build(&mut event_loop);
10098

101-
let window = WindowBuilder::new()
102-
.with_name(name.as_str())
103-
.with_dimensions(width, height)
104-
.build(&mut event_loop);
10599
let component_stack = self.components;
106100
let render_api = self.render_context_builder.build(&window);
107101

tools/lambda_rs_demo/src/main.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,11 @@ fn main() {
222222
.with_renderer_configured_as(move |render_context_builder| {
223223
return render_context_builder.with_render_timeout(1_000_000_000);
224224
})
225+
.with_window_configured_as(move |window_builder| {
226+
return window_builder
227+
.with_dimensions(1200, 600)
228+
.with_name("2D Triangle Window");
229+
})
225230
.with_component(move |runtime, demo: DemoComponent| {
226231
return (runtime, demo);
227232
})

0 commit comments

Comments
 (0)