Imported Upstream version 2.3.1
[platform/upstream/harfbuzz.git] / util / view-cairo.hh
index cb52373..1f51f0e 100644 (file)
  * Google Author(s): Behdad Esfahbod
  */
 
-#include "options.hh"
-#include "helper-cairo.hh"
-
 #ifndef VIEW_CAIRO_HH
 #define VIEW_CAIRO_HH
 
+#include "hb.hh"
+#include "options.hh"
+#include "helper-cairo.hh"
+
 
 struct view_cairo_t
 {
@@ -38,32 +39,22 @@ struct view_cairo_t
                 view_options (parser),
                 direction (HB_DIRECTION_INVALID),
                 lines (0), scale_bits (0) {}
-  ~view_cairo_t (void) {
-    if (debug)
-      cairo_debug_reset_static_data ();
+  ~view_cairo_t () {
+    cairo_debug_reset_static_data ();
   }
 
-  void init (const font_options_t *font_opts)
+  void init (hb_buffer_t *buffer, const font_options_t *font_opts)
   {
     lines = g_array_new (false, false, sizeof (helper_cairo_line_t));
-    scale_bits = -font_opts->subpixel_bits;
-  }
-  void new_line (void)
-  {
+    scale_bits = - (int) font_opts->subpixel_bits;
   }
+  void new_line () {}
   void consume_text (hb_buffer_t  *buffer,
                     const char   *text,
                     unsigned int  text_len,
-                    hb_bool_t     utf8_clusters)
-  {
-  }
-  void shape_failed (hb_buffer_t  *buffer,
-                    const char   *text,
-                    unsigned int  text_len,
-                    hb_bool_t     utf8_clusters)
-  {
-    fail (false, "all shapers failed");
-  }
+                    hb_bool_t     utf8_clusters) {}
+  void error (const char *message)
+  { g_printerr ("%s: %s\n", g_get_prgname (), message); }
   void consume_glyphs (hb_buffer_t  *buffer,
                       const char   *text,
                       unsigned int  text_len,
@@ -74,7 +65,7 @@ struct view_cairo_t
     helper_cairo_line_from_buffer (&l, buffer, text, text_len, scale_bits, utf8_clusters);
     g_array_append_val (lines, l);
   }
-  void finish (const font_options_t *font_opts)
+  void finish (hb_buffer_t *buffer, const font_options_t *font_opts)
   {
     render (font_opts);
 
@@ -95,8 +86,6 @@ struct view_cairo_t
   view_options_t view_options;
 
   void render (const font_options_t *font_opts);
-  void get_surface_size (cairo_scaled_font_t *scaled_font, double *w, double *h);
-  void draw (cairo_t *cr);
 
   hb_direction_t direction; // Remove this, make segment_properties accessible
   GArray *lines;