Flake

Flakeはリリース予定のKOffice 2に使われているプログラミングライブラリである。Flakeでは「形」（Shape）に関する基本的な概念が規定される予定である。あるShapeはエンドユーザーには画像もしくはテキストといったコンテンツとして現れる。Shapeは四角や円などの形式をとることができ、Shapeは描画それ自体に関するものであるため、そこにはどのような種類のメディアでも含むことができる。現在、KOfficeの全てのコンポーネントに対してFlakeを最大限使用するための作業が進められている
。

機能 
Flakeの機能は、コンテンツを表示するShapeと、コンテンツもしくはユーザーインターフェイスを取り扱うToolsに分けられる。Shapeはコンテンツの種類に応じて作られる。例えば、テキストShapeはKWordにおいて.txtと.odtフォーマットを扱うのに対し、KChartのShapeは.odcのような表に関連したドキュメントのみをサポートする。ShapeはToolsのセットとパッケージ化するためコンテンツとユーザーインターフェイスのエレメントを取り扱うことが出来る。こうすることでアプリケーションに必要な機能を加え、また他のアプリケーションのShapeを簡単に埋め込むことが可能となる。Shapeは必要なときに他のShapeを読み込むことが出来る。例えばある画像が文書ドキュメントに含まれていて、その画像を扱う際にはイメージShapeが読み込まれるようになる。

FlakeはKOffice 1シリーズにおける、ウィジェットを基にした埋め込みの後継的な機能である。埋め込み型ウィジェットには以下のような欠点があった。すなわちウィジェットは常に四角形でなくてはならないこと、回転することが出来ないこと、そしてピクセルで測られていたことである。これら3つの欠点は全てFlakeによって解決される予定である。埋め込まれたドキュメントデータを拡大縮小したり、回転したり歪めたりというようにあらゆる形式をとれる。単位にはミリメートルなどが使われる。またFlakeは拡張性などいくつかの分野で元のデザインを改良しているところがある。例えば、GoogleのSummer of Code 2007において、Marijn Kruisselbrinkは記譜法のShapeとToolsをベースにしたMusicXMLを発表した。あるShapeに対し他のShapeの位置を認識させることが可能であり、例えば、画像をテキストの上に移動させることによってそのテキストを画像の周りに動的に配置することが出来る。またShapeはグループ化することも可能であり、そうすることで複数のShapeが1つのShapeとして振舞うことが出来るようになる。

KOffice 
KOfficeの各コンポーネントにおいて、Flakeは以下に挙げるような機能を有すると見られている。

 KWord - テキストをShapeとして扱う。
 KSpread - 複数のセルを1つのShapeにまとめる。
 KPresenter - Flakeの一部となる。
 Kivio - Flakeの一部となる。
 Karbon14 - ベクタ画像を発展的に扱う。
 Krita - レイヤーを含めて画像をShapeとして扱う。
 KChart - 1つのグラフを1つのShapeとして扱う。
 KFormula - 1つの公式を1つのShapeとして扱う。
 Kexi  - データをKWordやKSpreadに組み入れる。
 KPlato - 各工程をShapeとして扱う。

脚注

関連項目 

 KDE
 KOffice

KDE
ライブラリ (プログラミング)