MCPcopy Create free account
hub / github.com/buggins/coolreader / lvtextAddSourceLine

Function lvtextAddSourceLine

crengine/src/lvtextfm.cpp:152–195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

150
151
152void lvtextAddSourceLine( formatted_text_fragment_t * pbuffer,
153 lvfont_handle font, /* handle of font to draw string */
154 const lChar16 * text, /* pointer to unicode text string */
155 lUInt32 len, /* number of chars in text, 0 for auto(strlen) */
156 lUInt32 color, /* color */
157 lUInt32 bgcolor, /* bgcolor */
158 lUInt32 flags, /* flags */
159 lUInt8 interval, /* interline space, *16 (16=single, 32=double) */
160 lUInt16 margin, /* first line margin */
161 void * object, /* pointer to custom object */
162 lUInt16 offset,
163 lInt8 letter_spacing
164 )
165{
166 lUInt32 srctextsize = (pbuffer->srctextlen + FRM_ALLOC_SIZE-1) / FRM_ALLOC_SIZE * FRM_ALLOC_SIZE;
167 if ( pbuffer->srctextlen >= srctextsize)
168 {
169 srctextsize += FRM_ALLOC_SIZE;
170 pbuffer->srctext = (src_text_fragment_t*)realloc( pbuffer->srctext, sizeof(src_text_fragment_t)*(srctextsize) );
171 }
172 src_text_fragment_t * pline = &pbuffer->srctext[ pbuffer->srctextlen++ ];
173 pline->t.font = font;
174 if (!len) for (len=0; text[len]; len++) ;
175 if (flags & LTEXT_FLAG_OWNTEXT)
176 {
177 /* make own copy of text */
178 pline->t.text = (lChar16*)malloc( len * sizeof(lChar16) );
179 memcpy((void*)pline->t.text, text, len * sizeof(lChar16));
180 }
181 else
182 {
183 pline->t.text = text;
184 }
185 pline->index = (lUInt16)(pbuffer->srctextlen-1);
186 pline->object = object;
187 pline->t.len = (lUInt16)len;
188 pline->margin = margin;
189 pline->flags = flags;
190 pline->interval = interval;
191 pline->t.offset = offset;
192 pline->color = color;
193 pline->bgcolor = bgcolor;
194 pline->letter_spacing = letter_spacing;
195}
196
197void lvtextAddSourceObject(
198 formatted_text_fragment_t * pbuffer,

Callers 1

AddSourceLineMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected