]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextdisplay.h
GtkBubbleWindow: rework how drawing is done
[~andy/gtk] / gtk / gtktextdisplay.h
index 84504c692a083e560057243f6c2f49054d2d6849..3f130b4ba9a8a88fd6ca26fa127518d3610ff280 100644 (file)
@@ -1,5 +1,14 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+/* gtktextdisplay.c - display layed-out text
+ *
+ * Copyright (c) 1992-1994 The Regents of the University of California.
+ * Copyright (c) 1994-1997 Sun Microsystems, Inc.
+ * Copyright (c) 2000 Red Hat, Inc.
+ * Tk->Gtk port by Havoc Pennington
+ *
+ * This file can be used under your choice of two licenses, the LGPL
+ * and the original Tk license.
+ *
+ * LGPL:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Original Tk license:
+ *
+ * This software is copyrighted by the Regents of the University of
+ * California, Sun Microsystems, Inc., and other parties.  The
+ * following terms apply to all files associated with the software
+ * unless explicitly disclaimed in individual files.
+ *
+ * The authors hereby grant permission to use, copy, modify,
+ * distribute, and license this software and its documentation for any
+ * purpose, provided that existing copyright notices are retained in
+ * all copies and that this notice is included verbatim in any
+ * distributions. No written agreement, license, or royalty fee is
+ * required for any of the authorized uses.  Modifications to this
+ * software may be copyrighted by their authors and need not follow
+ * the licensing terms described here, provided that the new terms are
+ * clearly indicated on the first page of each file where they apply.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
+ * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION,
+ * OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
+ * NON-INFRINGEMENT.  THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+ * AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
+ * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * GOVERNMENT USE: If you are acquiring this software on behalf of the
+ * U.S. government, the Government shall have only "Restricted Rights"
+ * in the software and related documentation as defined in the Federal
+ * Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
+ * are acquiring the software on behalf of the Department of Defense,
+ * the software shall be classified as "Commercial Computer Software"
+ * and the Government shall have only "Restricted Rights" as defined
+ * in Clause 252.227-7013 (c) (1) of DFARs.  Notwithstanding the
+ * foregoing, the authors grant the U.S. Government and others acting
+ * in its behalf permission to use and distribute the software in
+ * accordance with the terms specified in this license.
+ *
  */
-
 /*
  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  * file for a list of people on the GTK+ Team.  See the ChangeLog
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
-#ifndef GTK_TEXT_DISPLAY_H
-#define GTK_TEXT_DISPLAY_H
+#ifndef __GTK_TEXT_DISPLAY_H__
+#define __GTK_TEXT_DISPLAY_H__
 
 #include <gtk/gtktextlayout.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* A semi-public header intended for use by code that also
  * uses GtkTextLayout
@@ -38,25 +86,16 @@ extern "C" {
 
 /* The drawable should be pre-initialized to your preferred background.
  * widget            - Widget to grab some style info from
- * drawable          - Drawable to render to
- * x_offset/y_offset - Position of the drawable in layout coordinates
- * x/y/width/height  - Region of the layout to render. x,y must be inside
- *                     the drawable.
+ * cr                - Context to render to, matrix set so that (0, 0)
+ *                     is the top left of the layout
+ * widgets           - list of widgets that need exposing
  */
-void gtk_text_layout_draw (GtkTextLayout       *layout,
-                          GtkWidget            *widget, 
-                          GdkDrawable          *drawable,
-                          gint                  x_offset,
-                          gint                  y_offset,
-                          gint                  x,
-                          gint                  y,
-                          gint                  width,
-                          gint                  height);
-
+void gtk_text_layout_draw (GtkTextLayout        *layout,
+                           GtkWidget            *widget,
+                           cairo_t              *cr,
+                           GList               **widgets);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
-#endif /* GTK_TEXT_DISPLAY_H */
+#endif  /* __GTK_TEXT_DISPLAY_H__ */