Последнее обновление:
July 15, 2017

Есть мысль... Жми, напиши!
Что имеем: Постов : 166 Авторов: 1 Категорий: 37

баг с getCharBoundaries

Вот мой обход бага:
Была задача — некоторую фразу в прямоугольную рамку, обрамляю эту фразу в «|»
Собственно код:

 //--создаем текстовое поле, вносим текст
 var tf:TextField = new TextField();
 tf.htmlText = ' К счастью, |баги емае| можно обойти';
 tf.autoSize=TextFieldAutoSize.CENTER;
 tf.x=0;
 tf.y=0;
 addChild(tf);
 //--пошло самое интересное
 var s:String;
 s=tf.text;
 var p1:int=s.indexOf("|"); //--нашли индекс символа начала рамки
 var p2:int=s.indexOf("|", p1+1); //--нашли индекс закрывающее рамку
 var fr:Rectangle=tf.getCharBoundaries(p1); //--определили кооринаты символа открывающего
 var sr:Rectangle=tf.getCharBoundaries(p2); //--координаты закрывающего
 var dx:int=-tf.getCharBoundaries(0).x+2.5; //- определяем на сколько смещен первый имвол строки
 //--рисуем рамку
 var mr:Sprite=new Sprite();
 with (mr.graphics) {
	lineStyle(1,0x000000);
	drawRect(fr.x+dx, //--положение по горизонтали
                          fr.y,       //--по вертикале
                          (sr.x+dx)-(fr.x+dx),  //--ширина с учетом бага
                          18                           //--высота
            );
 }
 addChild(mr);


[ratings]

Views :

708

Совместная работа IEView и History++ (miranda plugins)

Если IEView отказывается натягивать скрин, то следует убрать галочку в настройках в ветке история галочку «имитировать API IEView». скины появятся.

Views :

902