Blame ui/gtk3/pango.c

Packit Service 1d8f1c
/* pango.c generated by valac 0.40.8, the Vala compiler
Packit Service 1d8f1c
 * generated from pango.vala, do not modify */
Packit Service 1d8f1c
Packit Service 1d8f1c
/* vim:set et sts=4 sw=4:
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * ibus - The Input Bus
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * Copyright(c) 2011 Peng Huang <shawn.p.huang@gmail.com>
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * This library is free software; you can redistribute it and/or
Packit Service 1d8f1c
 * modify it under the terms of the GNU Lesser General Public
Packit Service 1d8f1c
 * License as published by the Free Software Foundation; either
Packit Service 1d8f1c
 * version 2.1 of the License, or (at your option) any later version.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * This library is distributed in the hope that it will be useful,
Packit Service 1d8f1c
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 1d8f1c
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 1d8f1c
 * Lesser General Public License for more details.
Packit Service 1d8f1c
 *
Packit Service 1d8f1c
 * You should have received a copy of the GNU Lesser General Public
Packit Service 1d8f1c
 * License along with this library; if not, write to the Free Software
Packit Service 1d8f1c
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
Packit Service 1d8f1c
 * USA
Packit Service 1d8f1c
 */
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
#include <glib.h>
Packit Service 1d8f1c
#include <glib-object.h>
Packit Service 1d8f1c
#include <ibus.h>
Packit Service 1d8f1c
#include <pango/pango.h>
Packit Service 1d8f1c
#include <stdlib.h>
Packit Service 1d8f1c
#include <string.h>
Packit Service 1d8f1c
Packit Service 1d8f1c
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
Packit Service 1d8f1c
#define _pango_attribute_destroy0(var) ((var == NULL) ? NULL : (var = (pango_attribute_destroy (var), NULL)))
Packit Service 1d8f1c
#define _pango_attr_list_unref0(var) ((var == NULL) ? NULL : (var = (pango_attr_list_unref (var), NULL)))
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
PangoAttrList* get_pango_attr_list_from_ibus_text (IBusText* text);
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
static gint
Packit Service 1d8f1c
string_index_of_nth_char (const gchar* self,
Packit Service 1d8f1c
                          glong c)
Packit Service 1d8f1c
{
Packit Service 1d8f1c
	gint result = 0;
Packit Service 1d8f1c
	gchar* _tmp0_;
Packit Service 1d8f1c
	g_return_val_if_fail (self != NULL, 0);
Packit Service 1d8f1c
	_tmp0_ = g_utf8_offset_to_pointer (self, c);
Packit Service 1d8f1c
	result = (gint) (_tmp0_ - ((gchar*) self));
Packit Service 1d8f1c
	return result;
Packit Service 1d8f1c
}
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
static gpointer
Packit Service 1d8f1c
_g_object_ref0 (gpointer self)
Packit Service 1d8f1c
{
Packit Service 1d8f1c
	return self ? g_object_ref (self) : NULL;
Packit Service 1d8f1c
}
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
PangoAttrList*
Packit Service 1d8f1c
get_pango_attr_list_from_ibus_text (IBusText* text)
Packit Service 1d8f1c
{
Packit Service 1d8f1c
	PangoAttrList* result = NULL;
Packit Service 1d8f1c
	PangoAttrList* pango_attrs = NULL;
Packit Service 1d8f1c
	PangoAttrList* _tmp0_;
Packit Service 1d8f1c
	IBusAttrList* attrs = NULL;
Packit Service 1d8f1c
	IBusAttrList* _tmp1_;
Packit Service 1d8f1c
	IBusAttrList* _tmp2_;
Packit Service 1d8f1c
	const gchar* str = NULL;
Packit Service 1d8f1c
	const gchar* _tmp3_;
Packit Service 1d8f1c
	glong nchars = 0L;
Packit Service 1d8f1c
	const gchar* _tmp4_;
Packit Service 1d8f1c
	glong* offsets = NULL;
Packit Service 1d8f1c
	glong _tmp5_;
Packit Service 1d8f1c
	glong* _tmp6_;
Packit Service 1d8f1c
	gint offsets_length1;
Packit Service 1d8f1c
	gint _offsets_size_;
Packit Service 1d8f1c
	IBusAttribute* attr = NULL;
Packit Service 1d8f1c
	gint i = 0;
Packit Service 1d8f1c
	g_return_val_if_fail (text != NULL, NULL);
Packit Service 1d8f1c
	_tmp0_ = pango_attr_list_new ();
Packit Service 1d8f1c
	pango_attrs = _tmp0_;
Packit Service 1d8f1c
	_tmp1_ = ibus_text_get_attributes (text);
Packit Service 1d8f1c
	attrs = _tmp1_;
Packit Service 1d8f1c
	_tmp2_ = attrs;
Packit Service 1d8f1c
	if (_tmp2_ == NULL) {
Packit Service 1d8f1c
		result = pango_attrs;
Packit Service 1d8f1c
		return result;
Packit Service 1d8f1c
	}
Packit Service 1d8f1c
	_tmp3_ = ibus_text_get_text (text);
Packit Service 1d8f1c
	str = _tmp3_;
Packit Service 1d8f1c
	_tmp4_ = str;
Packit Service 1d8f1c
	nchars = (glong) g_utf8_strlen (_tmp4_, (gssize) -1);
Packit Service 1d8f1c
	_tmp5_ = nchars;
Packit Service 1d8f1c
	_tmp6_ = g_new0 (glong, _tmp5_ + 1);
Packit Service 1d8f1c
	offsets = _tmp6_;
Packit Service 1d8f1c
	offsets_length1 = _tmp5_ + 1;
Packit Service 1d8f1c
	_offsets_size_ = offsets_length1;
Packit Service 1d8f1c
	{
Packit Service 1d8f1c
		gint i = 0;
Packit Service 1d8f1c
		i = 0;
Packit Service 1d8f1c
		{
Packit Service 1d8f1c
			gboolean _tmp7_ = FALSE;
Packit Service 1d8f1c
			_tmp7_ = TRUE;
Packit Service 1d8f1c
			while (TRUE) {
Packit Service 1d8f1c
				gint _tmp9_;
Packit Service 1d8f1c
				glong _tmp10_;
Packit Service 1d8f1c
				glong* _tmp11_;
Packit Service 1d8f1c
				gint _tmp11__length1;
Packit Service 1d8f1c
				gint _tmp12_;
Packit Service 1d8f1c
				const gchar* _tmp13_;
Packit Service 1d8f1c
				gint _tmp14_;
Packit Service 1d8f1c
				glong _tmp15_;
Packit Service 1d8f1c
				if (!_tmp7_) {
Packit Service 1d8f1c
					gint _tmp8_;
Packit Service 1d8f1c
					_tmp8_ = i;
Packit Service 1d8f1c
					i = _tmp8_ + 1;
Packit Service 1d8f1c
				}
Packit Service 1d8f1c
				_tmp7_ = FALSE;
Packit Service 1d8f1c
				_tmp9_ = i;
Packit Service 1d8f1c
				_tmp10_ = nchars;
Packit Service 1d8f1c
				if (!(((glong) _tmp9_) <= _tmp10_)) {
Packit Service 1d8f1c
					break;
Packit Service 1d8f1c
				}
Packit Service 1d8f1c
				_tmp11_ = offsets;
Packit Service 1d8f1c
				_tmp11__length1 = offsets_length1;
Packit Service 1d8f1c
				_tmp12_ = i;
Packit Service 1d8f1c
				_tmp13_ = str;
Packit Service 1d8f1c
				_tmp14_ = i;
Packit Service 1d8f1c
				_tmp11_[_tmp12_] = (glong) string_index_of_nth_char (_tmp13_, (glong) _tmp14_);
Packit Service 1d8f1c
				_tmp15_ = _tmp11_[_tmp12_];
Packit Service 1d8f1c
			}
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
	}
Packit Service 1d8f1c
	i = 0;
Packit Service 1d8f1c
	while (TRUE) {
Packit Service 1d8f1c
		IBusAttrList* _tmp16_;
Packit Service 1d8f1c
		gint _tmp17_;
Packit Service 1d8f1c
		IBusAttribute* _tmp18_;
Packit Service 1d8f1c
		IBusAttribute* _tmp19_;
Packit Service 1d8f1c
		IBusAttribute* _tmp20_;
Packit Service 1d8f1c
		glong start_index = 0L;
Packit Service 1d8f1c
		IBusAttribute* _tmp21_;
Packit Service 1d8f1c
		guint _tmp22_;
Packit Service 1d8f1c
		glong _tmp23_;
Packit Service 1d8f1c
		glong _tmp24_ = 0L;
Packit Service 1d8f1c
		glong _tmp25_;
Packit Service 1d8f1c
		glong _tmp26_;
Packit Service 1d8f1c
		glong end_index = 0L;
Packit Service 1d8f1c
		IBusAttribute* _tmp32_;
Packit Service 1d8f1c
		guint _tmp33_;
Packit Service 1d8f1c
		glong _tmp34_;
Packit Service 1d8f1c
		glong _tmp35_ = 0L;
Packit Service 1d8f1c
		glong _tmp36_;
Packit Service 1d8f1c
		glong _tmp37_;
Packit Service 1d8f1c
		PangoAttribute* pango_attr = NULL;
Packit Service 1d8f1c
		IBusAttribute* _tmp43_;
Packit Service 1d8f1c
		guint _tmp44_;
Packit Service 1d8f1c
		PangoAttribute* _tmp68_;
Packit Service 1d8f1c
		glong _tmp69_;
Packit Service 1d8f1c
		PangoAttribute* _tmp70_;
Packit Service 1d8f1c
		glong _tmp71_;
Packit Service 1d8f1c
		PangoAttrList* _tmp72_;
Packit Service 1d8f1c
		PangoAttribute* _tmp73_;
Packit Service 1d8f1c
		_tmp16_ = attrs;
Packit Service 1d8f1c
		_tmp17_ = i;
Packit Service 1d8f1c
		i = _tmp17_ + 1;
Packit Service 1d8f1c
		_tmp18_ = ibus_attr_list_get (_tmp16_, (guint) _tmp17_);
Packit Service 1d8f1c
		_tmp19_ = _g_object_ref0 (_tmp18_);
Packit Service 1d8f1c
		_g_object_unref0 (attr);
Packit Service 1d8f1c
		attr = _tmp19_;
Packit Service 1d8f1c
		_tmp20_ = attr;
Packit Service 1d8f1c
		if (_tmp20_ == NULL) {
Packit Service 1d8f1c
			break;
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
		_tmp21_ = attr;
Packit Service 1d8f1c
		_tmp22_ = _tmp21_->start_index;
Packit Service 1d8f1c
		start_index = (glong) _tmp22_;
Packit Service 1d8f1c
		_tmp23_ = start_index;
Packit Service 1d8f1c
		if (_tmp23_ <= ((glong) 0)) {
Packit Service 1d8f1c
			start_index = (glong) 0;
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
		_tmp25_ = start_index;
Packit Service 1d8f1c
		_tmp26_ = nchars;
Packit Service 1d8f1c
		if (_tmp25_ <= _tmp26_) {
Packit Service 1d8f1c
			glong* _tmp27_;
Packit Service 1d8f1c
			gint _tmp27__length1;
Packit Service 1d8f1c
			glong _tmp28_;
Packit Service 1d8f1c
			glong _tmp29_;
Packit Service 1d8f1c
			_tmp27_ = offsets;
Packit Service 1d8f1c
			_tmp27__length1 = offsets_length1;
Packit Service 1d8f1c
			_tmp28_ = start_index;
Packit Service 1d8f1c
			_tmp29_ = _tmp27_[_tmp28_];
Packit Service 1d8f1c
			_tmp24_ = _tmp29_;
Packit Service 1d8f1c
		} else {
Packit Service 1d8f1c
			glong* _tmp30_;
Packit Service 1d8f1c
			gint _tmp30__length1;
Packit Service 1d8f1c
			glong _tmp31_;
Packit Service 1d8f1c
			_tmp30_ = offsets;
Packit Service 1d8f1c
			_tmp30__length1 = offsets_length1;
Packit Service 1d8f1c
			_tmp31_ = _tmp30_[-1];
Packit Service 1d8f1c
			_tmp24_ = _tmp31_;
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
		start_index = _tmp24_;
Packit Service 1d8f1c
		_tmp32_ = attr;
Packit Service 1d8f1c
		_tmp33_ = _tmp32_->end_index;
Packit Service 1d8f1c
		end_index = (glong) _tmp33_;
Packit Service 1d8f1c
		_tmp34_ = end_index;
Packit Service 1d8f1c
		if (_tmp34_ <= ((glong) 0)) {
Packit Service 1d8f1c
			end_index = (glong) 0;
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
		_tmp36_ = end_index;
Packit Service 1d8f1c
		_tmp37_ = nchars;
Packit Service 1d8f1c
		if (_tmp36_ <= _tmp37_) {
Packit Service 1d8f1c
			glong* _tmp38_;
Packit Service 1d8f1c
			gint _tmp38__length1;
Packit Service 1d8f1c
			glong _tmp39_;
Packit Service 1d8f1c
			glong _tmp40_;
Packit Service 1d8f1c
			_tmp38_ = offsets;
Packit Service 1d8f1c
			_tmp38__length1 = offsets_length1;
Packit Service 1d8f1c
			_tmp39_ = end_index;
Packit Service 1d8f1c
			_tmp40_ = _tmp38_[_tmp39_];
Packit Service 1d8f1c
			_tmp35_ = _tmp40_;
Packit Service 1d8f1c
		} else {
Packit Service 1d8f1c
			glong* _tmp41_;
Packit Service 1d8f1c
			gint _tmp41__length1;
Packit Service 1d8f1c
			glong _tmp42_;
Packit Service 1d8f1c
			_tmp41_ = offsets;
Packit Service 1d8f1c
			_tmp41__length1 = offsets_length1;
Packit Service 1d8f1c
			_tmp42_ = _tmp41_[-1];
Packit Service 1d8f1c
			_tmp35_ = _tmp42_;
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
		end_index = _tmp35_;
Packit Service 1d8f1c
		pango_attr = NULL;
Packit Service 1d8f1c
		_tmp43_ = attr;
Packit Service 1d8f1c
		_tmp44_ = _tmp43_->type;
Packit Service 1d8f1c
		switch (_tmp44_) {
Packit Service 1d8f1c
			case IBUS_ATTR_TYPE_FOREGROUND:
Packit Service 1d8f1c
			{
Packit Service 1d8f1c
				{
Packit Service 1d8f1c
					guint16 r = 0U;
Packit Service 1d8f1c
					IBusAttribute* _tmp45_;
Packit Service 1d8f1c
					guint _tmp46_;
Packit Service 1d8f1c
					guint16 g = 0U;
Packit Service 1d8f1c
					IBusAttribute* _tmp47_;
Packit Service 1d8f1c
					guint _tmp48_;
Packit Service 1d8f1c
					guint16 b = 0U;
Packit Service 1d8f1c
					IBusAttribute* _tmp49_;
Packit Service 1d8f1c
					guint _tmp50_;
Packit Service 1d8f1c
					guint16 _tmp51_;
Packit Service 1d8f1c
					guint16 _tmp52_;
Packit Service 1d8f1c
					guint16 _tmp53_;
Packit Service 1d8f1c
					PangoAttribute* _tmp54_;
Packit Service 1d8f1c
					_tmp45_ = attr;
Packit Service 1d8f1c
					_tmp46_ = _tmp45_->value;
Packit Service 1d8f1c
					r = (guint16) ((_tmp46_ & 0x00ff0000) >> 8);
Packit Service 1d8f1c
					_tmp47_ = attr;
Packit Service 1d8f1c
					_tmp48_ = _tmp47_->value;
Packit Service 1d8f1c
					g = (guint16) (_tmp48_ & 0x0000ff00);
Packit Service 1d8f1c
					_tmp49_ = attr;
Packit Service 1d8f1c
					_tmp50_ = _tmp49_->value;
Packit Service 1d8f1c
					b = (guint16) ((_tmp50_ & 0x000000ff) << 8);
Packit Service 1d8f1c
					_tmp51_ = r;
Packit Service 1d8f1c
					_tmp52_ = g;
Packit Service 1d8f1c
					_tmp53_ = b;
Packit Service 1d8f1c
					_tmp54_ = pango_attr_foreground_new (_tmp51_, _tmp52_, _tmp53_);
Packit Service 1d8f1c
					_pango_attribute_destroy0 (pango_attr);
Packit Service 1d8f1c
					pango_attr = _tmp54_;
Packit Service 1d8f1c
					break;
Packit Service 1d8f1c
				}
Packit Service 1d8f1c
			}
Packit Service 1d8f1c
			case IBUS_ATTR_TYPE_BACKGROUND:
Packit Service 1d8f1c
			{
Packit Service 1d8f1c
				{
Packit Service 1d8f1c
					guint16 r = 0U;
Packit Service 1d8f1c
					IBusAttribute* _tmp55_;
Packit Service 1d8f1c
					guint _tmp56_;
Packit Service 1d8f1c
					guint16 g = 0U;
Packit Service 1d8f1c
					IBusAttribute* _tmp57_;
Packit Service 1d8f1c
					guint _tmp58_;
Packit Service 1d8f1c
					guint16 b = 0U;
Packit Service 1d8f1c
					IBusAttribute* _tmp59_;
Packit Service 1d8f1c
					guint _tmp60_;
Packit Service 1d8f1c
					guint16 _tmp61_;
Packit Service 1d8f1c
					guint16 _tmp62_;
Packit Service 1d8f1c
					guint16 _tmp63_;
Packit Service 1d8f1c
					PangoAttribute* _tmp64_;
Packit Service 1d8f1c
					_tmp55_ = attr;
Packit Service 1d8f1c
					_tmp56_ = _tmp55_->value;
Packit Service 1d8f1c
					r = (guint16) ((_tmp56_ & 0x00ff0000) >> 8);
Packit Service 1d8f1c
					_tmp57_ = attr;
Packit Service 1d8f1c
					_tmp58_ = _tmp57_->value;
Packit Service 1d8f1c
					g = (guint16) (_tmp58_ & 0x0000ff00);
Packit Service 1d8f1c
					_tmp59_ = attr;
Packit Service 1d8f1c
					_tmp60_ = _tmp59_->value;
Packit Service 1d8f1c
					b = (guint16) ((_tmp60_ & 0x000000ff) << 8);
Packit Service 1d8f1c
					_tmp61_ = r;
Packit Service 1d8f1c
					_tmp62_ = g;
Packit Service 1d8f1c
					_tmp63_ = b;
Packit Service 1d8f1c
					_tmp64_ = pango_attr_background_new (_tmp61_, _tmp62_, _tmp63_);
Packit Service 1d8f1c
					_pango_attribute_destroy0 (pango_attr);
Packit Service 1d8f1c
					pango_attr = _tmp64_;
Packit Service 1d8f1c
					break;
Packit Service 1d8f1c
				}
Packit Service 1d8f1c
			}
Packit Service 1d8f1c
			case IBUS_ATTR_TYPE_UNDERLINE:
Packit Service 1d8f1c
			{
Packit Service 1d8f1c
				{
Packit Service 1d8f1c
					IBusAttribute* _tmp65_;
Packit Service 1d8f1c
					guint _tmp66_;
Packit Service 1d8f1c
					PangoAttribute* _tmp67_;
Packit Service 1d8f1c
					_tmp65_ = attr;
Packit Service 1d8f1c
					_tmp66_ = _tmp65_->value;
Packit Service 1d8f1c
					_tmp67_ = pango_attr_underline_new ((PangoUnderline) _tmp66_);
Packit Service 1d8f1c
					_pango_attribute_destroy0 (pango_attr);
Packit Service 1d8f1c
					pango_attr = _tmp67_;
Packit Service 1d8f1c
					break;
Packit Service 1d8f1c
				}
Packit Service 1d8f1c
			}
Packit Service 1d8f1c
			default:
Packit Service 1d8f1c
			{
Packit Service 1d8f1c
				continue;
Packit Service 1d8f1c
			}
Packit Service 1d8f1c
		}
Packit Service 1d8f1c
		_tmp68_ = pango_attr;
Packit Service 1d8f1c
		_tmp69_ = start_index;
Packit Service 1d8f1c
		_tmp68_->start_index = (guint) _tmp69_;
Packit Service 1d8f1c
		_tmp70_ = pango_attr;
Packit Service 1d8f1c
		_tmp71_ = end_index;
Packit Service 1d8f1c
		_tmp70_->end_index = (guint) _tmp71_;
Packit Service 1d8f1c
		_tmp72_ = pango_attrs;
Packit Service 1d8f1c
		_tmp73_ = pango_attr;
Packit Service 1d8f1c
		pango_attr = NULL;
Packit Service 1d8f1c
		pango_attr_list_insert (_tmp72_, _tmp73_);
Packit Service 1d8f1c
		_pango_attribute_destroy0 (pango_attr);
Packit Service 1d8f1c
	}
Packit Service 1d8f1c
	result = pango_attrs;
Packit Service 1d8f1c
	_g_object_unref0 (attr);
Packit Service 1d8f1c
	offsets = (g_free (offsets), NULL);
Packit Service 1d8f1c
	return result;
Packit Service 1d8f1c
}
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c