summaryrefslogtreecommitdiff
path: root/src/gmdocument.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gmdocument.h')
-rw-r--r--src/gmdocument.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/gmdocument.h b/src/gmdocument.h
index 57c19e9a..14c5c85d 100644
--- a/src/gmdocument.h
+++ b/src/gmdocument.h
@@ -32,6 +32,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
32#include <the_Foundation/time.h> 32#include <the_Foundation/time.h>
33 33
34iDeclareType(GmHeading) 34iDeclareType(GmHeading)
35iDeclareType(GmPreMeta)
35iDeclareType(GmRun) 36iDeclareType(GmRun)
36 37
37enum iGmLineType { 38enum iGmLineType {
@@ -89,6 +90,20 @@ struct Impl_GmHeading {
89 int level; /* 0, 1, 2 */ 90 int level; /* 0, 1, 2 */
90}; 91};
91 92
93enum iGmPreMetaFlag {
94 folded_GmPreMetaFlag = 0x1,
95 topLeft_GmPreMetaFlag = 0x2,
96};
97
98struct Impl_GmPreMeta {
99 iRangecc bounds; /* including ``` markers */
100 iRangecc altText; /* range in source */
101 iRangecc contents; /* just the content lines */
102 int flags;
103 /* TODO: refactor old code to incorporate wide scroll handling here */
104 iRect pixelRect;
105};
106
92enum iGmRunFlags { 107enum iGmRunFlags {
93 decoration_GmRunFlag = iBit(1), /* not part of the source */ 108 decoration_GmRunFlag = iBit(1), /* not part of the source */
94 startOfLine_GmRunFlag = iBit(2), 109 startOfLine_GmRunFlag = iBit(2),
@@ -97,6 +112,7 @@ enum iGmRunFlags {
97 quoteBorder_GmRunFlag = iBit(5), 112 quoteBorder_GmRunFlag = iBit(5),
98 wide_GmRunFlag = iBit(6), /* horizontally scrollable */ 113 wide_GmRunFlag = iBit(6), /* horizontally scrollable */
99 footer_GmRunFlag = iBit(7), 114 footer_GmRunFlag = iBit(7),
115 altText_GmRunFlag = iBit(8),
100}; 116};
101 117
102enum iGmRunMediaType { 118enum iGmRunMediaType {
@@ -150,6 +166,7 @@ void setWidth_GmDocument (iGmDocument *, int width);
150void redoLayout_GmDocument (iGmDocument *); 166void redoLayout_GmDocument (iGmDocument *);
151void setUrl_GmDocument (iGmDocument *, const iString *url); 167void setUrl_GmDocument (iGmDocument *, const iString *url);
152void setSource_GmDocument (iGmDocument *, const iString *source, int width); 168void setSource_GmDocument (iGmDocument *, const iString *source, int width);
169void foldPre_GmDocument (iGmDocument *, uint16_t preId);
153 170
154void reset_GmDocument (iGmDocument *); /* free images */ 171void reset_GmDocument (iGmDocument *); /* free images */
155 172
@@ -194,4 +211,5 @@ const iTime * linkTime_GmDocument (const iGmDocument *, iGmLinkId linkId);
194iBool isMediaLink_GmDocument (const iGmDocument *, iGmLinkId linkId); 211iBool isMediaLink_GmDocument (const iGmDocument *, iGmLinkId linkId);
195const iString * title_GmDocument (const iGmDocument *); 212const iString * title_GmDocument (const iGmDocument *);
196iChar siteIcon_GmDocument (const iGmDocument *); 213iChar siteIcon_GmDocument (const iGmDocument *);
197 214const iGmPreMeta *preMeta_GmDocument (const iGmDocument *, uint16_t preId);
215iInt2 preRunMargin_GmDocument (const iGmDocument *, uint16_t preId);