You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fw-daemon/vendor/github.com/gotk3/gotk3.old/pango/pango-context.go

136 lines
5.5 KiB

/*
* Copyright (c) 2015- terrak <terrak1975@gmail.com>
*
* This file originated from: http://www.terrak.net/
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
package pango
// #cgo pkg-config: pango
// #include <pango/pango.h>
// #include "pango.go.h"
import "C"
import (
"unsafe"
"github.com/gotk3/gotk3/glib"
)
func init() {
tm := []glib.TypeMarshaler{
// Enums
// {glib.Type(C.pango_alignment_get_type()), marshalAlignment},
// {glib.Type(C.pango_ellipsize_mode_get_type()), marshalEllipsizeMode},
// {glib.Type(C.pango_wrap_mode_get_type()), marshalWrapMode},
// Objects/Interfaces
// {glib.Type(C.pango_context_get_type()), marshalContext},
}
glib.RegisterGValueMarshalers(tm)
}
// Context is a representation of PangoContext.
type Context struct {
pangoContext *C.PangoContext
}
// Native returns a pointer to the underlying PangoLayout.
func (v *Context) Native() uintptr {
return uintptr(unsafe.Pointer(v.native()))
}
func (v *Context) native() *C.PangoContext {
return (*C.PangoContext)(unsafe.Pointer(v.pangoContext))
}
/*
func marshalContext(p uintptr) (interface{}, error) {
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
obj := wrapObject(unsafe.Pointer(c))
return wrapContext(obj), nil
}
func wrapContext(obj *glib.Object) *Context {
return &Context{obj}
}
*/
//PangoContext *pango_context_new (void);
func ContextNew() *Context {
c := C.pango_context_new()
context := new(Context)
context.pangoContext = (*C.PangoContext)(c)
return context
}
//void pango_context_changed (PangoContext *context);
//void pango_context_set_font_map (PangoContext *context,
// PangoFontMap *font_map);
//PangoFontMap *pango_context_get_font_map (PangoContext *context);
//guint pango_context_get_serial (PangoContext *context);
//void pango_context_list_families (PangoContext *context,
// PangoFontFamily ***families,
// int *n_families);
//PangoFont * pango_context_load_font (PangoContext *context,
// const PangoFontDescription *desc);
//PangoFontset *pango_context_load_fontset (PangoContext *context,
// const PangoFontDescription *desc,
// PangoLanguage *language);
//
//PangoFontMetrics *pango_context_get_metrics (PangoContext *context,
// const PangoFontDescription *desc,
// PangoLanguage *language);
//
//void pango_context_set_font_description (PangoContext *context,
// const PangoFontDescription *desc);
//PangoFontDescription * pango_context_get_font_description (PangoContext *context);
//PangoLanguage *pango_context_get_language (PangoContext *context);
//void pango_context_set_language (PangoContext *context,
// PangoLanguage *language);
//void pango_context_set_base_dir (PangoContext *context,
// PangoDirection direction);
//PangoDirection pango_context_get_base_dir (PangoContext *context);
//void pango_context_set_base_gravity (PangoContext *context,
// PangoGravity gravity);
//PangoGravity pango_context_get_base_gravity (PangoContext *context);
//PangoGravity pango_context_get_gravity (PangoContext *context);
//void pango_context_set_gravity_hint (PangoContext *context,
// PangoGravityHint hint);
//PangoGravityHint pango_context_get_gravity_hint (PangoContext *context);
//
//void pango_context_set_matrix (PangoContext *context,
// const PangoMatrix *matrix);
//const PangoMatrix * pango_context_get_matrix (PangoContext *context);
/* Break a string of Unicode characters into segments with
* consistent shaping/language engine and bidrectional level.
* Returns a #GList of #PangoItem's
*/
//GList *pango_itemize (PangoContext *context,
// const char *text,
// int start_index,
// int length,
// PangoAttrList *attrs,
// PangoAttrIterator *cached_iter);
//GList *pango_itemize_with_base_dir (PangoContext *context,
// PangoDirection base_dir,
// const char *text,
// int start_index,
// int length,
// PangoAttrList *attrs,
// PangoAttrIterator *cached_iter);