Skip to content

Commit 7877b45

Browse files
committed
Cleanup
1 parent b0f2bd7 commit 7877b45

File tree

3 files changed

+28
-25
lines changed

3 files changed

+28
-25
lines changed

kos/include/libvideo/gfx/buffer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ struct video_rect;
6868
struct video_buffer_format {
6969
struct video_palette const *vbf_pal; /* [0..1][valid_if(vbf_codec->vc_specs.vcs_flags & VIDEO_CODEC_FLAG_PAL)] Color palette (if needed by `vbf_codec') */
7070
struct video_codec *vbf_codec; /* [1..1] Video codec. */
71-
video_gfx_flag_t vbf_flags; /* Default GFX flags */
71+
video_gfx_flag_t vbf_flags; /* Default GFX flags (set of `VIDEO_GFX_F_*') */
7272
video_pixel_t vbf_colorkey; /* [valid_if(vbf_flags & VIDEO_GFX_F_COLORKEY)] Pixel value to skip during blits */
7373
};
7474

@@ -746,6 +746,7 @@ struct video_buffer {
746746
struct video_domain const *__VIDEO_BUFFER_const vb_domain; /* [1..1][const] Buffer domain (generic wrappers use `video_ramdomain()',
747747
* meaning a different value here implies that the buffer was created by
748748
* that domain's `video_domain_newbuffer()' or `video_domain_formem()') */
749+
/* TODO: Replace the following with "video_dim_t __VIDEO_BUFFER_const vb_dim[2]" (where 0: x, 1: y) */
749750
video_dim_t __VIDEO_BUFFER_const vb_xdim; /* Buffer physical dimension in X (in pixels) */
750751
video_dim_t __VIDEO_BUFFER_const vb_ydim; /* Buffer physical dimension in Y (in pixels) */
751752
__uintptr_t vb_refcnt; /* Reference counter. */

kos/include/libvideo/gfx/surface.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,13 @@ video_surface_getpalcolors(struct video_surface const *__restrict __self);
124124

125125

126126
/* Check if `__self' is the default surface of a `video_buffer' */
127-
extern __ATTR_PURE __ATTR_WUNUSED __ATTR_IN(1) __BOOL video_surface_isbuffer(struct video_surface const *__restrict __self);
127+
extern __ATTR_PURE __ATTR_WUNUSED __ATTR_IN(1) __BOOL
128+
video_surface_isbuffer(struct video_surface const *__restrict __self);
128129

129130
/* Check if properties of `__self' match the default properties of the associated
130131
* buffer. Note that when `video_surface_isbuffer()' is true, this is also true. */
131-
extern __ATTR_PURE __ATTR_WUNUSED __ATTR_IN(1) __BOOL video_surface_isdefault(struct video_surface const *__restrict __self);
132+
extern __ATTR_PURE __ATTR_WUNUSED __ATTR_IN(1) __BOOL
133+
video_surface_isdefault(struct video_surface const *__restrict __self);
132134

133135
/* Update attributes of `__self' to match the associated buffer's default attributes */
134136
extern __ATTR_INOUT(1) void video_surface_setdefault(struct video_surface *__restrict __self);

kos/src/apps/showpic/main.c

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -308,14 +308,15 @@ do_showpic(struct video_buffer *screen,
308308
{
309309
static REF struct video_buffer *mask_buffer = NULL;
310310
if (!mask_buffer) {
311-
mask_buffer = video_buffer_create(VIDEO_BUFFER_AUTO, 64, 64,
312-
video_codec_lookup(VIDEO_CODEC_A1_MSB),
313-
NULL);
311+
struct video_buffer_format format;
312+
format.vbf_codec = video_codec_lookup(VIDEO_CODEC_A1_MSB);
313+
format.vbf_flags = VIDEO_GFX_F_XWRAP | VIDEO_GFX_F_YWRAP;
314+
mask_buffer = video_domain_newbuffer(video_buffer_getdomain(screen),
315+
&format, 64, 64,
316+
VIDEO_DOMAIN_NEWBUFFER_F_NORMAL);
314317
if (mask_buffer) {
315318
struct video_gfx mask_gfx;
316-
video_buffer_getgfx(mask_buffer, &mask_gfx,
317-
GFX_BLENDMODE_OVERRIDE,
318-
VIDEO_GFX_F_XWRAP | VIDEO_GFX_F_YWRAP, 0);
319+
video_buffer_getgfx(mask_buffer, &mask_gfx, GFX_BLENDMODE_OVERRIDE);
319320
video_gfx_fill(&mask_gfx, 0, 0, 64 - 1, 64 - 1, VIDEO_COLOR_RGBA(0, 0, 0, 0xff));
320321
for (unsigned int i = 0; i < (32 / 4); ++i) {
321322
unsigned int x = i * 4;
@@ -331,9 +332,7 @@ do_showpic(struct video_buffer *screen,
331332
}
332333
if (mask_buffer) {
333334
struct video_gfx mask_gfx;
334-
video_buffer_getgfx(mask_buffer, &mask_gfx,
335-
GFX_BLENDMODE_ALPHAMASK,
336-
VIDEO_GFX_F_XWRAP | VIDEO_GFX_F_YWRAP, 0);
335+
video_buffer_getgfx(mask_buffer, &mask_gfx, GFX_BLENDMODE_ALPHAMASK);
337336
/*video_gfx_stretch3(&screen_gfx, blit_x, blit_y,
338337
&mask_gfx, 32, 32,
339338
blit_w, blit_h,
@@ -442,22 +441,23 @@ do_showpic(struct video_buffer *screen,
442441
struct video_gfx sized_gfx;
443442
struct video_buffer *sized_buffer;
444443
#if 0 /* Using this method, pixel conversion only happens once */
445-
struct video_buffer *format_buf = screen_buffer_asvideo(screen);
444+
struct video_surface const *format_surf = video_buffer_assurface(screen_buffer_asvideo(screen));
446445
#else
447-
struct video_buffer *format_buf = image;
446+
struct video_surface const *format_surf = image;
448447
#endif
449-
sized_buffer = video_buffer_create(VIDEO_BUFFER_AUTO,
450-
blit_w / tiles_x,
451-
blit_h / tiles_y,
452-
format_buf->vb_codec,
453-
format_buf->vb_surf.vs_pal);
448+
struct video_buffer_format format;
449+
video_surface_getformat(format_surf, &format);
450+
sized_buffer = video_domain_newbuffer(video_surface_getdomain(format_surf),
451+
&format, blit_w / tiles_x, blit_h / tiles_y,
452+
VIDEO_DOMAIN_NEWBUFFER_F_NORMAL);
454453
video_buffer_getgfx(sized_buffer, &sized_gfx, GFX_BLENDMODE_OVERRIDE);
455454
video_gfx_stretch(&sized_gfx, 0, 0, video_gfx_getxdim(&sized_gfx), video_gfx_getydim(&sized_gfx),
456455
&image_gfx, 0, 0, video_gfx_getxdim(&image_gfx), video_gfx_getydim(&image_gfx));
457-
video_buffer_getgfx(sized_buffer, &sized_gfx,
458-
video_gfx_getblend(&image_gfx),
459-
video_gfx_getflags(&image_gfx),
460-
video_gfx_getcolorkey(&image_gfx));
456+
video_buffer_getgfx_ex(sized_buffer, &sized_gfx,
457+
video_gfx_getblend(&image_gfx),
458+
video_buffer_getpalette(sized_buffer),
459+
video_gfx_getflags(&image_gfx),
460+
video_gfx_getcolorkey(&image_gfx));
461461
video_gfx_bitblit(&screen_gfx, blit_x, blit_y, &sized_gfx,
462462
dst_offset + (video_gfx_getxdim(&sized_gfx) / 2),
463463
dst_offset + (video_gfx_getydim(&sized_gfx) / 2),
@@ -564,7 +564,7 @@ int main(int argc, char *argv[]) {
564564
rect.vr_ymin = 100;
565565
rect.vr_xdim = screen_buffer_asvideo(screen)->vb_xdim - 200;
566566
rect.vr_ydim = screen_buffer_asvideo(screen)->vb_ydim - 200;
567-
bscreen = video_buffer_region(screen_buffer_asvideo(screen), &rect, 0);
567+
bscreen = video_buffer_region(screen_buffer_asvideo(screen), &rect);
568568
if (!bscreen)
569569
err(EXIT_FAILURE, "Failed to load screen buffer");
570570
// video_buffer_revoke(bscreen);
@@ -653,7 +653,7 @@ int main(int argc, char *argv[]) {
653653
* - dst format caching: ~97% spent sleeping (=> x30 pixel output possible) */
654654
#if 0
655655
anim = video_anim_cached(anim, NULL, NULL);
656-
#elif 0
656+
#elif 1
657657
{
658658
struct video_buffer_format format;
659659
video_buffer_getformat(bscreen, &format);

0 commit comments

Comments
 (0)