layout.h 2.29 KB
Newer Older
XueShuming's avatar
XueShuming committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/////////////////////////////////////////////////////////////////////////////// //
//                          IMPORTANT NOTICE
//
// The following open source license statement does not apply to any
// entity in the Exception List published by FMSoft.
//
// For more information, please visit:
//
// https://www.fmsoft.cn/exception-list
//
//////////////////////////////////////////////////////////////////////////////
/**
 \verbatim

XueShuming's avatar
XueShuming committed
15
16
17
    This file is part of HiDOMLayout. hiDOMLayout is a library to
    maintain a DOM tree, lay out and stylize the DOM nodes by
    using CSS (Cascaded Style Sheets).
XueShuming's avatar
XueShuming committed
18

XueShuming's avatar
XueShuming committed
19
    Copyright (C) 2021 Beijing FMSoft Technologies Co., Ltd.
XueShuming's avatar
XueShuming committed
20
21

    This program is free software: you can redistribute it and/or modify
XueShuming's avatar
XueShuming committed
22
    it under the terms of the GNU Lesser General License as published by
XueShuming's avatar
XueShuming committed
23
24
25
26
27
28
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
XueShuming's avatar
XueShuming committed
29
    GNU Lesser General License for more details.
XueShuming's avatar
XueShuming committed
30

XueShuming's avatar
XueShuming committed
31
    You should have received a copy of the GNU Lesser General License
XueShuming's avatar
XueShuming committed
32
33
34
35
36
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    Or,

    As this program is a library, any link to this program must follow
XueShuming's avatar
XueShuming committed
37
38
    GNU Lesser General License version 3 (LGPLv3). If you cannot accept
    LGPLv3, you need to be licensed from FMSoft.
XueShuming's avatar
XueShuming committed
39
40
41
42
43
44
45
46
47
48

    If you have got a commercial license of this program, please use it
    under the terms and conditions of the commercial license.

    For more information about the commercial license, please refer to
    <http://www.minigui.com/blog/minigui-licensing-policy/>.

 \endverbatim
 */

XueShuming's avatar
XueShuming committed
49
50
#ifndef _HL_LAYOUT_H_
#define _HL_LAYOUT_H_
XueShuming's avatar
XueShuming committed
51

XueShuming's avatar
XueShuming committed
52
#include "node.h"
XueShuming's avatar
XueShuming committed
53
#include "utils.h"
XueShuming's avatar
XueShuming committed
54

XueShuming's avatar
XueShuming committed
55
56
57
58
#ifdef __cplusplus
extern "C" {
#endif

XueShuming's avatar
XueShuming committed
59
60
int layout_child_node_block(HLDomElementNode *node, int x, int y, int widthLimit, int heightLimit, int *width, int *height, int level);
int layout_child_node_inline_block(HLDomElementNode *node, int x, int y, int widthLimit, int heightLimit, int *width, int *height, int level);
XueShuming's avatar
XueShuming committed
61
int _hl_layout_child_node_grid(HLContext* ctx, HLDomElementNode *node, int level);
62

XueShuming's avatar
XueShuming committed
63
64
65
66
#ifdef __cplusplus
}
#endif

XueShuming's avatar
XueShuming committed
67
#endif // _HL_LAYOUT_H_