Fixed build errors, some of which were overisghts and others were habits from the OS X code.

This commit is contained in:
Pietro Gagliardi 2018-03-11 19:59:11 -04:00
parent 697c926c92
commit 602060a673
6 changed files with 13 additions and 29 deletions

View File

@ -11,19 +11,6 @@ struct foreachParams {
GPtrArray *backgroundParams;
};
static void backgroundClosure(uiDrawContext *c, uiDrawTextLayout *layout, double x, double y, gpointer data)
{
struct closureParams *p = (struct closureParams *) data;
uiDrawBrush brush;
brush.Type = uiDrawBrushTypeSolid;
brush.R = p->r;
brush.G = p->g;
brush.B = p->b;
brush.A = p->a;
//TODO drawTextBackground(c, x, y, layout, p->start, p->end, &brush, 0);
}
static void addBackgroundAttribute(struct foreachParams *p, size_t start, size_t end, double r, double g, double b, double a)
{
uiprivDrawTextBackgroundParams *dtb;

View File

@ -1,5 +1,5 @@
// 11 march 2018
#import "../common/attrstr.h"
#include "../common/attrstr.h"
// See https://developer.gnome.org/pango/1.30/pango-Cairo-Rendering.html#pango-Cairo-Rendering.description
// For the conversion, see https://developer.gnome.org/pango/1.30/pango-Glyph-Storage.html#pango-units-to-double and https://developer.gnome.org/pango/1.30/pango-Glyph-Storage.html#pango-units-from-double
@ -14,7 +14,7 @@ extern PangoWeight uiprivWeightToPangoWeight(uiTextWeight w);
extern PangoStyle uiprivItalicToPangoStyle(uiTextItalic i);
extern PangoStretch uiprivStretchToPangoStretch(uiTextStretch s);
extern PangoFontDescription *uiprivFontDescriptorToPangoFontDescription(const uiFontDescriptor *uidesc);
extern void uiprivFontDescriptorFromPangoFontDescription(PangoFontDescription *pdesc, uiDrawFontDescriptor *uidesc);
extern void uiprivFontDescriptorFromPangoFontDescription(PangoFontDescription *pdesc, uiFontDescriptor *uidesc);
// attrstr.c
extern PangoAttrList *uiprivAttributedStringToPangoAttrList(uiDrawTextLayoutParams *p, GPtrArray **backgroundParams);

View File

@ -1,7 +1,7 @@
// 11 march 2018
#import "uipriv_unix.h"
#import "draw.h"
#import "attrstr.h"
#include "uipriv_unix.h"
#include "draw.h"
#include "attrstr.h"
struct uiDrawTextLayout {
PangoLayout *layout;
@ -51,7 +51,7 @@ uiDrawTextLayout *uiDrawNewTextLayout(uiDrawTextLayoutParams *p)
pango_layout_set_alignment(tl->layout, pangoAligns[p->Align]);
attrs = uiprivAttributedStringToPangoAttrList(p, &(tl->backgroundFeatures));
attrs = uiprivAttributedStringToPangoAttrList(p, &(tl->backgroundParams));
pango_layout_set_attributes(tl->layout, attrs);
pango_attr_list_unref(attrs);
@ -60,7 +60,7 @@ uiDrawTextLayout *uiDrawNewTextLayout(uiDrawTextLayoutParams *p)
void uiDrawFreeTextLayout(uiDrawTextLayout *tl)
{
g_ptr_array_unref(tl->backgroundFeatures);
g_ptr_array_unref(tl->backgroundParams);
g_object_unref(tl->layout);
uiprivFree(tl);
}
@ -69,7 +69,7 @@ void uiDrawText(uiDrawContext *c, uiDrawTextLayout *tl, double x, double y)
{
guint i;
for (i = 0; i < tl->backgroundFeatures->len; i++) {
for (i = 0; i < tl->backgroundParams->len; i++) {
// TODO
}
// TODO have an implicit save/restore on each drawing functions instead? and is this correct?

View File

@ -27,7 +27,7 @@ static void defaultOnChanged(uiFontButton *b, void *data)
// do nothing
}
void uiFontButtonFont(uiFontButton *b, uiDrawFontDescriptor *desc)
void uiFontButtonFont(uiFontButton *b, uiFontDescriptor *desc)
{
PangoFontDescription *pdesc;

View File

@ -42,7 +42,7 @@ PangoStretch uiprivStretchToPangoStretch(uiTextStretch s)
PangoFontDescription *uiprivFontDescriptorToPangoFontDescription(const uiFontDescriptor *uidesc)
{
PangoFontDescriptor *desc;
PangoFontDescription *desc;
desc = pango_font_description_new();
pango_font_description_set_family(desc, uidesc->Family);
@ -54,7 +54,7 @@ PangoFontDescription *uiprivFontDescriptorToPangoFontDescription(const uiFontDes
return desc;
}
void uiprivFontDescriptorFromPangoFontDescription(PangoFontDescription *pdesc, uiDrawFontDescriptor *uidesc)
void uiprivFontDescriptorFromPangoFontDescription(PangoFontDescription *pdesc, uiFontDescriptor *uidesc)
{
PangoStyle pitalic;
PangoStretch pstretch;
@ -67,10 +67,10 @@ void uiprivFontDescriptorFromPangoFontDescription(PangoFontDescription *pdesc, u
// absolute size does not matter because, as above, 1 device unit == 1 cairo point
uidesc->Size = pango_units_to_double(pango_font_description_get_size(pdesc));
for (uidesc->Italic = uiDrawTextItalicNormal; uidesc->Italic < uiDrawTextItalicItalic; uidesc->Italic++)
for (uidesc->Italic = uiTextItalicNormal; uidesc->Italic < uiTextItalicItalic; uidesc->Italic++)
if (pangoItalics[uidesc->Italic] == pitalic)
break;
for (uidesc->Stretch = uiDrawTextStretchUltraCondensed; uidesc->Stretch < uiDrawTextStretchUltraExpanded; uidesc->Stretch++)
for (uidesc->Stretch = uiTextStretchUltraCondensed; uidesc->Stretch < uiTextStretchUltraExpanded; uidesc->Stretch++)
if (pangoStretches[uidesc->Stretch] == pstretch)
break;
}

View File

@ -58,6 +58,3 @@ extern void loadFutures(void);
extern PangoAttribute *FUTURE_pango_attr_font_features_new(const gchar *features);
extern PangoAttribute *FUTURE_pango_attr_foreground_alpha_new(guint16 alpha);
extern gboolean FUTURE_gtk_widget_path_iter_set_object_name(GtkWidgetPath *path, gint pos, const char *name);
// drawtext.c
extern void fontdescFromPangoFontDescription(PangoFontDescription *pdesc, uiDrawFontDescriptor *uidesc);