Ferry Core library

Basic text editing functionality. More...


Classes

class  fe::ActionGroupTrigger
 Helper to control grouping of text editing actions in editor. More...
class  fe::CachingTextIterator
 Caching iterator over editor's text. More...
struct  fe::castResourceHandle< Type >
 Helper to cast ResourceHandle* to some specific type. More...
struct  fe::CellInfo
 Parameters of a text character. More...
class  fe::CreateEditorArgs
 Arguments for Fe_CreateEditor(). More...
class  fe::DecoratorFilterStub
 Stubbed fe::IDecoratorFilter implementation. More...
class  fe::DecoratorStub
 Stubbed fe::IDecorator implementation. More...
class  fe::DecorMetrics
 Wrapper for attributes of a decorated part of text line. More...
class  fe::EditorFacadeListenerProxy
 Proxy fe::IEditorFacadeListener implementation. More...
class  fe::EditorFacadeListenerStub
 Stubbed fe::IEditorFacadeListener implementation. More...
class  fe::EditorFacadePeerBase< nothrow >
 Main class to access editor from user code. More...
class  fe::EditorFacadePolicy
 Editor configuration. More...
struct  fe::enc_traits_utf16< CodeUnitType >
 UTF16 encoding traits. More...
struct  fe::enc_traits_utf8< CodeUnitType >
 UTF8 encoding traits. More...
class  fe::FeError
 Editor error. More...
struct  fe::HitTest
 Result of a point hit test within an editor's window. More...
class  fe::IDecorator
 Instructs editor how to render text. More...
class  fe::IDecoratorFilter
 Instructs editor how to render text filtering output of another fe::IDecorator. More...
class  fe::IDecoratorListener
 Editor provided listener to gather information on a text line decoration. More...
class  fe::IEditorFacade
 Main editor interface. More...
class  fe::IEditorFacadeListener
 The listener class for receiving editor events. More...
class  fe::IEditorFacadeTask
 Provides common protocol for objects that wish to perform some action in the context of the thread running editor's event loop. More...
class  fe::IFontEnumerator
 Font enumerator. More...
class  fe::IFontMapper
 Font mapper. More...
class  fe::IPluggable
 Interface to control external components from within an editor. More...
class  fe::IResourceLifecycle
 Resource lifecycle. More...
class  fe::IResourcePool
 Resource pool. More...
class  fe::IStringSource
 An abstraction of a series of fe::String-s. More...
class  fe::ISubstringDecorator
 Interface to provide custom decoration of the part of a text line. More...
struct  fe::ISubstringDecorator::SubstrInfo
 Visual attributes of custom decorated part of a text line. More...
class  fe::ISubstringFiller
 Interface to provide custom filling of the part of a text line segment. More...
class  fe::ITextIterator
 Iterator over editor's text. More...
struct  fe::LineInfo
 Parameters of a text line segment. More...
class  fe::PeerBase
 RAII for FeHandle* value. More...
class  fe::PlatformTypes
 A scope for platform specific typedef-s. More...
class  fe::ProxyBase< T >
 Helper base class for proxy classes. More...
class  fe::ReadOnlyTrigger
 Helper to control interactive text modifications in editor. More...
class  fe::Resource
 Resource entity. More...
class  fe::ResourceDesc
 Resource description. More...
class  fe::SingleItemStringSource
 fe::IStringSource-based facade for fe::String instance. More...
struct  fe::String
 Unmanaged byte array. More...
struct  fe::Substring
 Part of editor's text line. More...
class  fe::TextIteratorProxy
 Proxy fe::ITextIterator implementation. More...
class  fe::TextStyle
 Defines a set of styles that editor should apply to a part of a text line. More...
class  fe::UTF32Iterator< EncTraits, Forward >
 Iterates over UTF-encoded code unit sequence and reads UTF32-encoded characters from it. More...

Modules

 Conversions between UTF32, UTF-16, and UTF-8

Files

file  caching_text_iterator.h
 Defines fe::CachingTextIterator.
file  cellinfo.h
 Defines fe::CellInfo.
file  clipboard_id.h
 Defines fe::ClipboardId.
file  color.h
 RGB color API.
file  create_editor_args.h
 #include "fe/fe/create_editor_args_impl.h".
file  create_editor_args_impl.h
 Defines platform specific fe::CreateEditorArgs.
file  decorator.h
 Text decoration API.
file  decorator_filter_stub.h
 Defines fe::DecoratorFilterStub.
file  decorator_stub.h
 Defines fe::DecoratorStub.
file  editor_facade.h
 Declares fe::IEditorFacade.
file  editor_facade_hittest.h
 Defines fe::HitTest.
file  editor_facade_listener.h
 Declares fe::IEditorFacadeListener.
file  editor_facade_listener_proxy.h
 Defines fe::EditorFacadeListenerProxy.
file  editor_facade_listener_stub.h
 Defines fe::EditorFacadeListenerStub.
file  editor_facade_peer.h
 Defines fe::EditorFacadePeerBase and some affiliated helpers.
file  editor_facade_policy.h
 Defines editor declarative configuration.
file  editor_facade_task.h
 Declares fe::IEditorFacadeTask.
file  enc_traits_utf16.h
 Defines fe::enc_traits_utf16.
file  enc_traits_utf8.h
 Defines fe::enc_traits_utf8.
file  error.h
 Defines fe::FeError.
file  exports.h
 Some exported functions declaration.
file  ferry.h
 Top level Ferry Core library header.
file  ferry_create_editor.h
 Declares Fe_CreateEditor().
file  fontmapper.h
 Declares fe::IFontMapper.
file  lineinfo.h
 Defines fe::LineInfo.
file  peer_base.h
 Defines fe::PeerBase.
file  platform_types.h
 #include "fe/ui/platform_types_impl.h".
file  platform_types_impl.h
 Platform specific typedef-s.
file  pluggable.h
 Declares fe::IPluggable.
file  proxy_base.h
 Defines fe::ProxyBase.
file  resource_pool.h
 Placeholder for fe::IResourcePool interface and related stuff.
file  single_item_string_source.h
 Defines fe::SingleItemStringSource.
file  string.h
 Defines fe::String.
file  string_source.h
 Declares fe::IStringSource.
file  substring.h
 Defines fe::Substring.
file  substring_decorator.h
 Declares fe::ISubstringDecorator.
file  substring_filler.h
 Declares fe::ISubstringFiller.
file  text_iterator.h
 Declares fe::ITextIterator.
file  text_iterator_proxy.h
 Defines fe::TextIteratorProxy.
file  textstyle.h
 Defines fe::TextStyle.
file  utf32_iterator.h
 UTF-encoded data readers.

Typedefs

typedef unsigned fe::ColorRGB
 24bit RGB color type.
typedef UTF32Iterator
< enc_traits_utf16< imp::UTF16 >
, false > 
fe::ReverseUTF16Decoder
typedef UTF32Iterator
< enc_traits_utf8< byte_type >
, false > 
fe::ReverseUTF8Decoder
typedef UTF32Iterator
< enc_traits_utf16< imp::UTF16 >
, true > 
fe::UTF16Decoder
typedef UTF32Iterator
< enc_traits_utf8< byte_type >
, true > 
fe::UTF8Decoder

Enumerations

enum  { fe::InvalidColor = (unsigned)-1 }
 'Not a 24bit RGB color value' constant. More...
enum  fe::ClipboardId { fe::ciMain }
 Clipboard IDs. More...
enum  fe::EndOfLine {
  fe::eolKeep, fe::eolVoid, fe::eolLF, fe::eolCR,
  fe::eolCRLF, fe::eolNEL, fe::eolFF, fe::eolLS,
  fe::eolPS
}
 Line terminators. More...
enum  fe::TextLayoutQuality { fe::tlqHigh, fe::tlqDefault, fe::tlqAuto }
 Quality of text layout and rendering. More...

Functions

void Fe_AddRef (fe::FeHandle *handle)
 Increments the reference count of the passed in editor handle.
fe::IDecoratorFe_CreateDefaultDecorator ()
 Creates default decorator.
fe::PlatformTypes::wnd_handle_type Fe_CreateEditor (const fe::CreateEditorArgs &args)
 Creates an editor.
bool Fe_ExecTask (fe::FeHandle *editor, fe::IEditorFacadeTask &task)
 Executes a fe::IEditorFacadeTask.
fe::EditorFacadePolicy Fe_GetDefaultPolicy ()
 Returns initial policy assigned to all just created editors.
fe::FeHandle * Fe_GetEditorHandle (fe::PlatformTypes::wnd_handle_type fewnd)
 Returns platform independent editor handle.
const char * Fe_GetErrorSourceName (const fe::FeError &err)
 Converts error value into readable string.
fe::PlatformTypes::wnd_handle_type Fe_GetPeer (fe::FeHandle *handle)
 Returns platform specific editor handle.
bool Fe_IsFromTheSameThread (fe::FeHandle *a, fe::FeHandle *b)
 Tests if two editors run their event loops in the same thread.
void Fe_Release (fe::FeHandle *handle)
 Decrements the reference count of the passed in editor handle.
fe::IStringSourceFe_TokenizeUtf8String (const fe::byte_type *str, unsigned len, bool trimEOLs)
 Creates string source from UTF8 string.
ColorRGB fe::invertColor (ColorRGB v)
 Inverts 24bit RGB color value.


Detailed Description

Basic text editing functionality.

Typedef Documentation

typedef unsigned fe::ColorRGB

24bit RGB color type.

Red component - 16-23 bits, green component - 8-15 bits, blue component 0-7 bits.

typedef UTF32Iterator< enc_traits_utf8<byte_type>, true> fe::UTF8Decoder

typedef UTF32Iterator< enc_traits_utf8<byte_type>, false> fe::ReverseUTF8Decoder

typedef UTF32Iterator< enc_traits_utf16<imp::UTF16>, true> fe::UTF16Decoder

typedef UTF32Iterator< enc_traits_utf16<imp::UTF16>, false> fe::ReverseUTF16Decoder


Enumeration Type Documentation

Clipboard IDs.

Enumerator:
ciMain  Main clipboard id

anonymous enum

'Not a 24bit RGB color value' constant.

Enumerator:
InvalidColor 

Quality of text layout and rendering.

See also:
fe::EditorFacadePolicy::textLayoutQuality
Enumerator:
tlqHigh  All text lines are laid out and rendered in high quality.
tlqDefault  All text lines are laid out and rendered in default quality.
tlqAuto  Each text line is laid out and rendered either in high or default quality depending on its data.

Line terminators.

Constants addressing line terminators editor should recognize.

See also:
fe::IEditorFacade::insertText()

fe::EditorFacadePolicy::eolClipboardPaste

fe::EditorFacadePolicy::eolClipboardCopy

fe::EditorFacadePolicy::eolSplitLine

http://en.wikipedia.org/wiki/Newline#Unicode

Enumerator:
eolKeep  Pseudo line terminator indicating that editor should not change line terminators in input data.
eolVoid  Empty line terminator.
eolLF  Line Feed, U+000A.
eolCR  Carriage Return, U+000D.
eolCRLF  CR followed by LF, U+000D followed by U+000A.
eolNEL  Next Line, U+0085.
eolFF  Form Feed, U+000C.
eolLS  Line Separator, U+2028.
eolPS  Paragraph Separator, U+2029.


Function Documentation

fe::EditorFacadePolicy Fe_GetDefaultPolicy (  )  [inline]

Returns initial policy assigned to all just created editors.

See also:
fe::IEditorFacade::setPolicy()

fe::IEditorFacade::getPolicy()

fe::IDecorator* Fe_CreateDefaultDecorator (  ) 

Creates default decorator.

Returns pointer to heap allocated decorator of the type assigned to all just created editors or 0 on error.

See also:
fe::IEditorFacade::setDecorator()

fe::IEditorFacade::getDecorator()

fe::IStringSource* Fe_TokenizeUtf8String ( const fe::byte_type *  str,
unsigned  len,
bool  trimEOLs 
)

Creates string source from UTF8 string.

Returns pointer to heap allocated string source object constructed from the given UTF8 string or 0 on error. Returns 0 if str or len is 0.

The constructed string source object will break input string into strings at EOL markers. fe::EndOfLine enumerates IDs of all recognized EOL markers.

See also:
fe::IEditorFacade::insertText()
Parameters:
str pointer to the input UTF8-encoded string;
len number of bytes in the input string;
trimEOLs flag indicating if the constructed string source should discard EOL markers from the input string; the table below shows how the value of this parameter affects output of the constructed string source for the sample
A\nBB\rCCC\r\nDDDD
input string:
trimEOLs = true A
BB
CCC
DDDD
trimEOLs = false A\n
BB\r
CCC\r\n
DDDD

bool Fe_ExecTask ( fe::FeHandle *  editor,
fe::IEditorFacadeTask task 
)

Executes a fe::IEditorFacadeTask.

Calls task.exec(editor) in the context of the thread running event loop of the passed in editor. Doesn't return until the task.exec(editor) completes.

Parameters:
editor handle to an editor in the context of whose thread running event loop the task.exec(editor) should be called; can be 0
task task whose fe::IEditorFacadeTask::exec() method should be called in the context of the thread running editor's event loop
Returns:
true if fe::IEditorFacadeTask::exec() of the passed in task was called or false otherwise

fe::FeHandle* Fe_GetEditorHandle ( fe::PlatformTypes::wnd_handle_type  fewnd  ) 

Returns platform independent editor handle.

Returns platform independent editor handle corresponding to the platform specific editor handle or 0 if passed in fewnd handle is 0 or if it is detached from the platform independent editor handle.

After returned handle is not needed any more caller should release it with Fe_Release.

See also:
Fe_GetPeer()
Parameters:
fewnd platform specific editor handle or 0

fe::PlatformTypes::wnd_handle_type Fe_GetPeer ( fe::FeHandle *  handle  ) 

Returns platform specific editor handle.

Returns platform specific editor handle corresponding to the platform independent editor handle or 0 if passed in handle is 0.

See also:
Fe_GetEditorHandle()
Parameters:
handle platform independent editor handle or 0

void Fe_AddRef ( fe::FeHandle *  handle  ) 

Increments the reference count of the passed in editor handle.

Every Fe_AddRef should be followed with the corresponding Fe_Release call to avoid memory leaks.

Parameters:
handle handle or 0

void Fe_Release ( fe::FeHandle *  handle  ) 

Decrements the reference count of the passed in editor handle.

When the reference count of some handle falls to 0 the data associated with the handle is deleted as well as handle object itself.

Parameters:
handle handle or 0

bool Fe_IsFromTheSameThread ( fe::FeHandle *  a,
fe::FeHandle *  b 
)

Tests if two editors run their event loops in the same thread.

Returns true if editors addressed with the given handles run their event loops in the same thread.

Returns true if one of the handles is 0 and editor addressed with the non-0 handle runs its event loop in the context of the caller thread.

Returns true if both handles are 0.

Parameters:
a editor to test;
b another editor to test.

const char* Fe_GetErrorSourceName ( const fe::FeError err  ) 

Converts error value into readable string.

Returns string representation of error source, i.e. value returned by err.getSource(). If error source is not from the fe::FeError::MethodId enumeration, returns "unknown" string. The return string is null-terminated.

fe::PlatformTypes::wnd_handle_type Fe_CreateEditor ( const fe::CreateEditorArgs args  ) 

Creates an editor.

Returns platform specific handle addressing just created editor or 0 if error occurred.

Parameters:
args platform specific initialization data.
See also:
Fe_GetEditorHandle()

ColorRGB fe::invertColor ( ColorRGB  v  )  [inline]

Inverts 24bit RGB color value.

If the given value is fe::InvalidColor it is returned unchanged, otherwise return value has all high order bits starting from 24th bit cleared and the remaining low 24 bits inverted.

Examples:
v invertColor(v)
0x0000FF000x00FF00FF
fe::InvalidColorfe::InvalidColor
0x0F00FF000x00FF00FF

Parameters:
v color to invert


Generated on Tue Nov 18 21:08:22 2008 for Ferry by doxygen 1.5.7.1
http://sourceforge.net