Subversion Repositories Kolibri OS

Rev

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

  1. /*
  2.  * Copyright 2003 James Bursa <bursa@users.sourceforge.net>
  3.  *
  4.  * This file is part of NetSurf, http://www.netsurf-browser.org/
  5.  *
  6.  * NetSurf is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; version 2 of the License.
  9.  *
  10.  * NetSurf is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17.  */
  18.  
  19. /** \file
  20.  * HTML layout (interface).
  21.  *
  22.  * The main interface to the layout code is layout_document(), which takes a
  23.  * normalized box tree and assigns coordinates and dimensions to the boxes, and
  24.  * also adds boxes to the tree (eg. when formatting lines of text).
  25.  */
  26.  
  27. #ifndef _NETSURF_RENDER_LAYOUT_H_
  28. #define _NETSURF_RENDER_LAYOUT_H_
  29.  
  30. struct box;
  31. struct html_content;
  32.  
  33. bool layout_document(struct html_content *content, int width, int height);
  34. bool layout_inline_container(struct box *box, int width,
  35.                 struct box *cont, int cx, int cy, struct html_content *content);
  36. void layout_calculate_descendant_bboxes(struct box *box);
  37. void layout_minmax_table(struct box *table,
  38.                 const struct font_functions *font_func);
  39. #endif
  40.