AntonSurkont |
21.06.2011 17:21 |
Да не, с font-family это понятно. Я похоже плохо объяснил.
Шрифты находятся в СВФ-файле и они подгружаются.
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
xmlns:local="*" preinitialize="application1_preinitializeHandler(event)">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import ru.etcs.utils.FontLoader;
private const _loader:FontLoader = new FontLoader();//Загружает СВФ-ку со шрифтами и достает шрифты
protected function application1_preinitializeHandler(event:FlexEvent):void
{
_loader.addEventListener(Event.COMPLETE, handler_complete);
_loader.load(new URLRequest('SomeFont.swf'));
}
private function handler_complete(event:Event):void
{
var fonts:Array = _loader.fonts;//Достаем шрифты из загруженной СВФ-ки
var styleManager:IStyleManager2 = styleManager;
for each (var font:Font in fonts)
{
//Применяем шрифты к компонентам
styleManager.getStyleDeclaration("spark.components.TextArea").setStyle("fontFamily", font.fontName);
styleManager.getStyleDeclaration("MyText").setStyle("fontFamily", font.fontName);
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Style source="MyTheme.css"/>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:TextArea id="ta" text="sd sd fsad fsad fsadf"/>
<local:MyText id="myT" text="wef weqf wef"/>
</s:Application>
В том моменте где я применяю шрифты к компонентам я хотел бы присвоить шрифт какой нибудь переменной типа textAreaFont и чтобы это отразилось на всех компонентах для которых в ЦСС прописано
font-familty: textAreaFont
|