Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright 2009 Vincent Sanders <vince@simtec.co.uk>
  3.  *
  4.  * This file is part of libnsfb, http://www.netsurf-browser.org/
  5.  * Licenced under the MIT License,
  6.  *                http://www.opensource.org/licenses/mit-license.php
  7.  *
  8.  * This is the internal interface for the libnsfb graphics library.
  9.  */
  10.  
  11. #ifndef _NSFB_H
  12. #define _NSFB_H 1
  13.  
  14. #include <stdint.h>
  15.  
  16.  
  17. /** NS Framebuffer context
  18.  */
  19. struct nsfb_s {
  20.     int width; /**< Visible width. */
  21.     int height; /**< Visible height. */
  22.  
  23.     char *parameters;
  24.  
  25.     enum nsfb_format_e format; /**< Framebuffer format  */
  26.     int bpp; /**< Bits per pixel - distinct from format */
  27.  
  28.     uint8_t *ptr; /**< Base of video memory. */
  29.     int linelen; /**< length of a video line. */
  30.  
  31.     struct nsfb_palette_s *palette; /**< palette for index modes */
  32.     nsfb_cursor_t *cursor; /**< cursor */
  33.  
  34.     struct nsfb_surface_rtns_s *surface_rtns; /**< surface routines. */
  35.     void *surface_priv; /**< surface opaque data. */
  36.  
  37.     nsfb_bbox_t clip; /**< current clipping rectangle for plotters */
  38.     struct nsfb_plotter_fns_s *plotter_fns; /**< Plotter methods */
  39. };
  40.  
  41.  
  42. #endif
  43.  
  44. /*
  45.  * Local variables:
  46.  *  c-basic-offset: 4
  47.  *  tab-width: 8
  48.  * End:
  49.  */
  50.