Skip to content

Commit fed64dd

Browse files
authored
Rename buffer_mut -> next_buffer (#337)
There isn't a use-case for an immutable `buffer()` method, so the "mut" suffix is kinda unnecessary, and "next" a bit more clearly communicates that `softbuffer::Surface` potentially contains more than one buffer.
1 parent 82a460d commit fed64dd

24 files changed

Lines changed: 50 additions & 43 deletions

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- Added `Buffer::pixel_rows()` for iterating over rows of the buffer data.
66
- Added `Buffer::pixels_iter()` for iterating over each pixel with its associated `x`/`y` coordinate.
77
- Added `Buffer::byte_stride()` for pixel buffers whose rows are aligned and may contain padding bytes at the end. Prefer to use the above helpers instead of accessing pixel data directly.
8+
- Renamed `Surface::buffer_mut()` to `Surface::next_buffer()`.
89
- **Breaking:** Add `Pixel` struct, and use that for pixels instead of `u32`.
910
- **Breaking:** The pixel format is now target-dependent. Access `PixelFormat::default()` to see which format is used on the current platform.
1011
- **Breaking:** Removed generic type parameters `D` and `W` from `Buffer<'_>` struct.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ name = "winit_multithread_android"
167167
crate-type = ["cdylib"]
168168

169169
[[bench]]
170-
name = "buffer_mut"
170+
name = "buffer"
171171
harness = false
172172

173173
[dev-dependencies]

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ To use Softbuffer, first create a window using `winit`, `sdl3`, or any other cra
1111
[`raw_window_handle::HasWindowHandle`].
1212

1313
Next, you create a [`Context`] and [`Surface`] from that window, and can now call
14-
[`Surface::buffer_mut()`] to get a [`Buffer`] that you can draw into. Once you're done drawing, call
14+
[`Surface::next_buffer()`] to get a [`Buffer`] that you can draw into. Once you're done drawing, call
1515
[`Buffer::present()`] to show the buffer on the window.
1616

1717
Note that Softbuffer only provides the `&mut [...]` buffer, it does not provide any rendering
@@ -117,7 +117,7 @@ fn main() {
117117
)
118118
.unwrap();
119119
120-
let mut buffer = surface.buffer_mut().unwrap();
120+
let mut buffer = surface.next_buffer().unwrap();
121121
for (x, y, pixel) in buffer.pixels_iter() {
122122
let red = (x % 255) as u8;
123123
let green = (y % 255) as u8;
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
all(target_vendor = "apple", not(target_os = "macos")),
66
target_os = "redox"
77
)))]
8-
fn buffer_mut(c: &mut criterion::Criterion) {
8+
fn buffer(c: &mut criterion::Criterion) {
99
use criterion::black_box;
1010
use softbuffer::{Context, Pixel, Surface};
1111
use std::num::NonZeroU32;
@@ -34,30 +34,30 @@ fn buffer_mut(c: &mut criterion::Criterion) {
3434
)
3535
.unwrap();
3636

37-
c.bench_function("buffer_mut()", |b| {
37+
c.bench_function("next_buffer()", |b| {
3838
b.iter(|| {
39-
black_box(surface.buffer_mut().unwrap());
39+
black_box(surface.next_buffer().unwrap());
4040
});
4141
});
4242

4343
c.bench_function("pixels()", |b| {
44-
let mut buffer = surface.buffer_mut().unwrap();
44+
let mut buffer = surface.next_buffer().unwrap();
4545
b.iter(|| {
4646
let pixels: &mut [Pixel] = buffer.pixels();
4747
black_box(pixels);
4848
});
4949
});
5050

5151
c.bench_function("fill pixels", |b| {
52-
let mut buffer = surface.buffer_mut().unwrap();
52+
let mut buffer = surface.next_buffer().unwrap();
5353
b.iter(|| {
5454
let buffer = black_box(&mut buffer);
5555
buffer.pixels().fill(Pixel::default());
5656
});
5757
});
5858

5959
c.bench_function("render pixels_iter", |b| {
60-
let mut buffer = surface.buffer_mut().unwrap();
60+
let mut buffer = surface.next_buffer().unwrap();
6161
b.iter(|| {
6262
let buffer = black_box(&mut buffer);
6363
for (x, y, pixel) in buffer.pixels_iter() {
@@ -78,7 +78,7 @@ fn buffer_mut(c: &mut criterion::Criterion) {
7878
all(target_vendor = "apple", not(target_os = "macos")),
7979
target_os = "redox"
8080
)))]
81-
criterion::criterion_group!(benches, buffer_mut);
81+
criterion::criterion_group!(benches, buffer);
8282

8383
#[cfg(not(any(
8484
target_family = "wasm",

examples/animation.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ fn main() {
5959

6060
let elapsed = start.elapsed().as_secs_f64() % 1.0;
6161

62-
let mut buffer = surface.buffer_mut().unwrap();
62+
let mut buffer = surface.next_buffer().unwrap();
6363

6464
let size = (buffer.width().get(), buffer.height().get());
6565
if size != *old_size {

examples/drm.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ mod imple {
127127
tracing::info!("Drawing tick {tick}");
128128

129129
// Start drawing.
130-
let mut buffer = surface.buffer_mut()?;
130+
let mut buffer = surface.next_buffer()?;
131131
draw_to_buffer(buffer.pixels(), tick);
132132
buffer.present()?;
133133

examples/fruit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fn main() {
5151
return;
5252
};
5353

54-
let mut buffer = surface.buffer_mut().unwrap();
54+
let mut buffer = surface.next_buffer().unwrap();
5555
let stride = buffer.byte_stride().get() / 4;
5656
for (x, y, pixel) in fruit.pixels() {
5757
let pixel = Pixel::new_rgb(pixel.0[0], pixel.0[1], pixel.0[2]);

examples/libxcb.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ mod example {
122122
NonZeroU32::new(height.into()).unwrap(),
123123
)
124124
.unwrap();
125-
let mut buffer = surface.buffer_mut().unwrap();
125+
let mut buffer = surface.next_buffer().unwrap();
126126
buffer.pixels().fill(Pixel::new_rgb(0xff, 0, 0));
127127
buffer.present().unwrap();
128128
}

examples/raytracing/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ fn main() {
6868

6969
game.update();
7070

71-
let mut buffer = surface.buffer_mut().unwrap();
71+
let mut buffer = surface.next_buffer().unwrap();
7272
game.draw(&mut buffer, window.scale_factor() as f32);
7373
buffer.present().unwrap();
7474
window.request_redraw();

examples/rectangle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ fn main() {
6868
return;
6969
};
7070
// Draw something in the window
71-
let mut buffer = surface.buffer_mut().unwrap();
71+
let mut buffer = surface.next_buffer().unwrap();
7272
redraw(&mut buffer, *flag);
7373
buffer.present().unwrap();
7474
}

0 commit comments

Comments
 (0)