uterm: video: remove uterm_screen API
authorDavid Herrmann <dh.herrmann@googlemail.com>
Mon, 26 Nov 2012 16:11:07 +0000 (17:11 +0100)
committerDavid Herrmann <dh.herrmann@googlemail.com>
Mon, 26 Nov 2012 16:11:07 +0000 (17:11 +0100)
The uterm_screen API is no longer used internally and we do not plan to
extend it. So we can use uterm_display as a replacement to make the API
thinner and easier to use.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
src/uterm.h
src/uterm_video.c
src/uterm_video.h

index fa25e06..d83af36 100644 (file)
@@ -89,7 +89,6 @@
  * kernel can correctly reset video devices on its own.
  */
 
-struct uterm_screen;
 struct uterm_mode;
 struct uterm_display;
 struct uterm_video;
@@ -172,33 +171,6 @@ typedef void (*uterm_display_cb) (struct uterm_display *disp,
 const char *uterm_dpms_to_name(int dpms);
 bool uterm_video_available(unsigned int type);
 
-/* screen interface */
-
-int uterm_screen_new_single(struct uterm_screen **out,
-                               struct uterm_display *disp);
-void uterm_screen_ref(struct uterm_screen *screen);
-void uterm_screen_unref(struct uterm_screen *screen);
-
-unsigned int uterm_screen_width(struct uterm_screen *screen);
-unsigned int uterm_screen_height(struct uterm_screen *screen);
-
-int uterm_screen_use(struct uterm_screen *screen);
-int uterm_screen_swap(struct uterm_screen *screen);
-int uterm_screen_blit(struct uterm_screen *screen,
-                     const struct uterm_video_buffer *buf,
-                     unsigned int x, unsigned int y);
-int uterm_screen_blend(struct uterm_screen *screen,
-                      const struct uterm_video_buffer *buf,
-                      unsigned int x, unsigned int y,
-                      uint8_t fr, uint8_t fg, uint8_t fb,
-                      uint8_t br, uint8_t bg, uint8_t bb);
-int uterm_screen_blendv(struct uterm_screen *screen,
-                       const struct uterm_video_blend_req *req, size_t num);
-int uterm_screen_fill(struct uterm_screen *screen,
-                     uint8_t r, uint8_t g, uint8_t b,
-                     unsigned int x, unsigned int y,
-                     unsigned int width, unsigned int height);
-
 /* display modes interface */
 
 void uterm_mode_ref(struct uterm_mode *mode);
index b518da5..4a4eb76 100644 (file)
@@ -25,8 +25,7 @@
 
 /*
  * Video Control
- * Core Implementation of the uterm_video, uterm_display and uterm_screen
- * objects.
+ * Core Implementation of the uterm_video and uterm_display objects.
  */
 
 #include <errno.h>
@@ -82,126 +81,6 @@ bool uterm_video_available(unsigned int type)
        }
 }
 
-/* Until we allow multiple displays in one screen, we use this constructor which
- * is basically just a wrapper around "struct uterm_dispaly".
- * The idea behind screens is having one single drawing-target which is spread
- * across several displays which can be placed anywhere in the virtual screen.
- */
-int uterm_screen_new_single(struct uterm_screen **out,
-                               struct uterm_display *disp)
-{
-       struct uterm_screen *screen;
-
-       if (!out || !disp)
-               return -EINVAL;
-
-       screen = malloc(sizeof(*screen));
-       if (!screen)
-               return -ENOMEM;
-       memset(screen, 0, sizeof(*screen));
-       screen->ref = 1;
-       screen->disp = disp;
-
-       uterm_display_ref(screen->disp);
-       *out = screen;
-       return 0;
-}
-
-void uterm_screen_ref(struct uterm_screen *screen)
-{
-       if (!screen || !screen->ref)
-               return;
-
-       ++screen->ref;
-}
-
-void uterm_screen_unref(struct uterm_screen *screen)
-{
-       if (!screen || !screen->ref || --screen->ref)
-               return;
-
-       uterm_display_unref(screen->disp);
-       free(screen);
-}
-
-unsigned int uterm_screen_width(struct uterm_screen *screen)
-{
-       if (!screen)
-               return 0;
-
-       return uterm_mode_get_width(uterm_display_get_current(screen->disp));
-}
-
-unsigned int uterm_screen_height(struct uterm_screen *screen)
-{
-       if (!screen)
-               return 0;
-
-       return uterm_mode_get_height(uterm_display_get_current(screen->disp));
-}
-
-int uterm_screen_use(struct uterm_screen *screen)
-{
-       if (!screen || !display_is_online(screen->disp))
-               return -EINVAL;
-
-       return VIDEO_CALL(screen->disp->ops->use, -EOPNOTSUPP, screen->disp);
-}
-
-int uterm_screen_swap(struct uterm_screen *screen)
-{
-       if (!screen || !display_is_online(screen->disp))
-               return -EINVAL;
-
-       return VIDEO_CALL(screen->disp->ops->swap, 0, screen->disp);
-}
-
-int uterm_screen_blit(struct uterm_screen *screen,
-                     const struct uterm_video_buffer *buf,
-                     unsigned int x, unsigned int y)
-{
-       if (!screen)
-               return -EINVAL;
-
-       return VIDEO_CALL(screen->disp->ops->blit, -EOPNOTSUPP, screen->disp,
-                         buf, x, y);
-}
-
-int uterm_screen_blend(struct uterm_screen *screen,
-                      const struct uterm_video_buffer *buf,
-                      unsigned int x, unsigned int y,
-                      uint8_t fr, uint8_t fg, uint8_t fb,
-                      uint8_t br, uint8_t bg, uint8_t bb)
-{
-       if (!screen)
-               return -EINVAL;
-
-       return VIDEO_CALL(screen->disp->ops->blend, -EOPNOTSUPP, screen->disp,
-                         buf, x, y, fr, fg, fb, br, bg, bb);
-}
-
-int uterm_screen_blendv(struct uterm_screen *screen,
-                       const struct uterm_video_blend_req *req, size_t num)
-{
-       if (!screen)
-               return -EINVAL;
-
-       return VIDEO_CALL(screen->disp->ops->blendv, -EOPNOTSUPP,
-                         screen->disp, req, num);
-}
-
-int uterm_screen_fill(struct uterm_screen *screen,
-                     uint8_t r, uint8_t g, uint8_t b,
-                     unsigned int x, unsigned int y,
-                     unsigned int width, unsigned int height)
-{
-       if (!screen)
-               return -EINVAL;
-
-       return VIDEO_CALL(screen->disp->ops->fill, -EOPNOTSUPP, screen->disp,
-                         r, g, b, x, y, width, height);
-}
-
 int mode_new(struct uterm_mode **out, const struct mode_ops *ops)
 {
        struct uterm_mode *mode;
index 6583b13..004b6c8 100644 (file)
@@ -299,13 +299,6 @@ static const struct video_ops fbdev_video_ops;
 
 #endif /* BUILD_ENABLE_VIDEO_FBDEV */
 
-/* uterm_screen */
-
-struct uterm_screen {
-       unsigned long ref;
-       struct uterm_display *disp;
-};
-
 /* uterm_mode */
 
 struct uterm_mode {