URI:
       tFix Makefile; add pango test - ltkx - GUI toolkit for X11 (WIP)
  HTML git clone git://lumidify.org/ltkx.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 93dfd2ced8dc537d2a667857f39b07bcc8307892
   DIR parent 6ffac25b7bc13b37867c6e52c6519389b46d951a
  HTML Author: lumidify <nobody@lumidify.org>
       Date:   Tue, 28 Apr 2020 16:30:49 +0200
       
       Fix Makefile; add pango test
       
       Diffstat:
         M Makefile                            |       6 +++---
         M text/Makefile                       |       4 ++--
         A text/tmp.c                          |      72 +++++++++++++++++++++++++++++++
       
       3 files changed, 77 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/Makefile b/Makefile
       t@@ -1,12 +1,12 @@
        LIBS = -lm `pkg-config --libs x11 harfbuzz fontconfig fribidi`
        STD = -std=c99
       -CFLAGS = -g -w -fcommon -Wall -Werror -Wextra `pkg-config --cflags x11 harfbuzz fontconfig fribidi`#-pedantic
       +CFLAGS = -g -w -fcommon -Wall -Werror -Wextra `pkg-config --cflags x11 harfbuzz fontconfig fribidi` -pedantic
        OBJ = stb_truetype.o text-hb.o ltk.o ini.o grid.o button.o test1.o
        
        test1: $(OBJ)
       -        gcc $(STD) -o $@ $> $(CFLAGS) $(LIBS)
       +        gcc $(STD) -o $@ $(OBJ) $(LIBS)
        
       -%.o: %.c $(DEPS)
       +%.o: %.c
                $(CC) -c -o $@ $< $(CFLAGS)
        
        .PHONY: clean
   DIR diff --git a/text/Makefile b/text/Makefile
       t@@ -1,2 +1,2 @@
       -all: text-hb.ubernew.c
       -        gcc text-hb.uberubernew.c -g -std=c99 -o test `pkg-config --cflags --libs x11 harfbuzz` -lm
       +all:
       +        gcc tmp.c -g -std=c99 -o tmp `pkg-config --cflags --libs pangoxft` -lm
   DIR diff --git a/text/tmp.c b/text/tmp.c
       t@@ -0,0 +1,72 @@
       +#include <math.h>
       +#include <stdio.h>
       +#include <stdlib.h>
       +#include <stdint.h>
       +#include <X11/Xlib.h>
       +#include <X11/Xutil.h>
       +#include <X11/Xos.h>
       +#include <pango/pangoxft.h>
       +
       +int main(int argc, const char * argv[])
       +{
       +
       +    Display *display;
       +    int screen;
       +    Window window;
       +    GC gc;
       +
       +    unsigned long black, white;
       +    Colormap colormap;
       +    display = XOpenDisplay((char *)0);
       +    screen = DefaultScreen(display);
       +    colormap = DefaultColormap(display, screen);
       +    black = BlackPixel(display, screen);
       +    white = WhitePixel(display, screen);
       +    window = XCreateSimpleWindow(display, DefaultRootWindow(display), 0, 0, 1366, 512, 0, black, white);
       +    XSetStandardProperties(display, window, "Random Window", NULL, None, NULL, 0, NULL);
       +    XSelectInput(display, window, ExposureMask|ButtonPressMask|KeyPressMask);
       +    gc = XCreateGC(display, window, 0, 0);
       +    XSetBackground(display, gc, black);
       +    XSetForeground(display, gc, black);
       +    XClearWindow(display, window);
       +    XMapRaised(display, window);
       +
       +  PangoFontMap *fontmap = pango_xft_get_font_map(display, screen);
       +  PangoContext *context = pango_font_map_create_context(fontmap);
       +  PangoLayout *layout = pango_layout_new(context);
       +  pango_layout_set_text (layout, "jhkashdfkashfaksjfla", -1);
       +  /*PangoFontDescription *desc = pango_font_description_from_string ("Sans Bold 27");
       +  pango_layout_set_font_description (layout, desc);
       +  pango_font_description_free (desc);*/
       +
       +  XftDraw *draw = XftDrawCreate(display, window, DefaultVisual(display, screen), DefaultColormap(display, screen));
       +  XftColor xftcolor;
       +  XftColorAllocName(display, DefaultVisual(display, screen), colormap, "red", &xftcolor);
       +  pango_xft_render_layout(draw, &xftcolor, layout, 0, 0);
       +
       +    XEvent event;
       +    KeySym key;
       +    char text[255];
       +
       +    while(1)
       +    {
       +        XNextEvent(display, &event);
       +        if (event.type == KeyPress && XLookupString(&event.xkey, text, 255, &key, 0) == 1)
       +        {
       +          pango_xft_render_layout(draw, &xftcolor, layout, 0, 0);
       +            if (text[0] == 'q')
       +            {
       +                XFreeGC(display, gc);
       +                XFreeColormap(display, colormap);
       +                XDestroyWindow(display, window);
       +                XCloseDisplay(display);
       +                exit(0);
       +            }
       +        }
       +    }
       +
       +  /* free the layout object */
       +  g_object_unref (layout);
       +
       +    return 0;
       +}