UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

184 lines (167 loc) 4.69 kB
// Class: openfl.text._internal.TextLayout var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../../hxClasses_stub").default; var $hxEnums = require("./../../../hxEnums_stub").default; var $import = require("./../../../import_stub").default; function lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$() {return require("./../../../lime/text/harfbuzz/_HBBuffer/HBBuffer_Impl_");} function lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$() {return require("./../../../lime/text/harfbuzz/_HBLanguage/HBLanguage_Impl_");} // Constructor var TextLayout = function(text,font,size,direction,script,language) { if(language == null) { language = "en"; } if(script == null) { script = "Zyyy"; } if(direction == null) { direction = 4; } if(size == null) { size = 12; } if(text == null) { text = ""; } this.__hbFontSize = -1; this.letterSpacing = 0; this.set_text(text); this.set_font(font); this.set_size(size); this.__direction = direction; this.__script = script; this.__language = language; this.positions = []; this.__dirty = true; this.__create(this.__direction,this.__script,this.__language); } // Meta TextLayout.__name__ = "openfl.text._internal.TextLayout"; TextLayout.__isInterface__ = false; TextLayout.prototype = { __create: function(direction,script,language) { if(language.length != 4) { return; } this.__hbBuffer = (lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$().default)._new(); switch(direction) { case 4: break; case 5: break; case 6: break; case 7: break; default: } var this1 = this.__hbBuffer; var value = (lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$().default)._new(language); }, __position: function() { this.positions = []; }, get_positions: function() { if(this.__dirty) { this.__dirty = false; this.__position(); } return this.positions; }, get_direction: function() { return this.__direction; }, set_direction: function(value) { if(value == this.__direction) { return value; } this.__direction = value; this.__dirty = true; return value; }, set_font: function(value) { if(value == this.font) { return value; } this.font = value; this.__dirty = true; return value; }, get_glyphs: function() { var glyphs = []; var _g = 0; var _g1 = this.get_positions(); while(_g < _g1.length) { var position = _g1[_g]; ++_g; glyphs.push(position.glyph); } return glyphs; }, get_language: function() { return this.__language; }, set_language: function(value) { if(value == this.__language) { return value; } this.__language = value; this.__dirty = true; return value; }, get_script: function() { return this.__script; }, set_script: function(value) { if(value == this.__script) { return value; } this.__script = value; this.__dirty = true; return value; }, set_size: function(value) { if(value == this.size) { return value; } this.size = value; this.__dirty = true; return value; }, set_text: function(value) { if(value == this.text) { return value; } this.text = value; this.__dirty = true; return value; } }; TextLayout.prototype.__class__ = TextLayout.prototype.constructor = $hxClasses["openfl.text._internal.TextLayout"] = TextLayout; // Init // Statics TextLayout.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { glyphs : { SuppressWarnings : ["checkstyle:Dynamic"]}, __handle : { SuppressWarnings : ["checkstyle:Dynamic"]}, __hbBuffer : { SuppressWarnings : ["checkstyle:Dynamic"]}, __hbFont : { SuppressWarnings : ["checkstyle:Dynamic"]}, get_glyphs : { SuppressWarnings : ["checkstyle:Dynamic"]}}} TextLayout.FT_LOAD_DEFAULT = 0 TextLayout.FT_LOAD_NO_SCALE = 1 TextLayout.FT_LOAD_NO_HINTING = 2 TextLayout.FT_LOAD_RENDER = 4 TextLayout.FT_LOAD_NO_BITMAP = 8 TextLayout.FT_LOAD_VERTICAL_LAYOUT = 16 TextLayout.FT_LOAD_FORCE_AUTOHINT = 32 TextLayout.FT_LOAD_CROP_BITMAP = 64 TextLayout.FT_LOAD_PEDANTIC = 128 TextLayout.FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = 256 TextLayout.FT_LOAD_NO_RECURSE = 512 TextLayout.FT_LOAD_IGNORE_TRANSFORM = 1024 TextLayout.FT_LOAD_MONOCHROME = 2048 TextLayout.FT_LOAD_LINEAR_DESIGN = 4096 TextLayout.FT_LOAD_NO_AUTOHINT = 8192 TextLayout.FT_LOAD_COLOR = 16384 TextLayout.FT_LOAD_COMPUTE_METRICS = 32768 TextLayout.FT_LOAD_BITMAP_METRICS_ONLY = 65536 TextLayout.FT_LOAD_TARGET_NORMAL = 0 TextLayout.FT_LOAD_TARGET_LIGHT = 0 // Export exports.default = TextLayout;