namespace CCL

Overview

namespace CCL {

// namespaces

namespace CCL::AccessibilityElementState;
namespace CCL::Alert;
namespace CCL::AnalyticsID;
namespace CCL::ApplicationStrings;
namespace CCL::BitmapFilters;
namespace CCL::Bluetooth;
namespace CCL::Boxed;
namespace CCL::Browsable;
namespace CCL::BrowserStrings;
namespace CCL::CanonicalSkinAttributes;
namespace CCL::ClassID;
namespace CCL::ClipboardFormat;
namespace CCL::CodeResourceType;
namespace CCL::Colors;
namespace CCL::CommandFlags;
namespace CCL::Configuration;
namespace CCL::CountryCode;
namespace CCL::Database;
namespace CCL::Development;
namespace CCL::DiagnosticID;
namespace CCL::DiagnosticPresentation;
namespace CCL::DialogResult;
namespace CCL::DocumentStrings;
namespace CCL::DpiScale;
namespace CCL::FileLocationType;
namespace CCL::FileStrings;
namespace CCL::FileTypes;
namespace CCL::Format;
namespace CCL::GraphicsFactory;
namespace CCL::HistoryListColumns;
namespace CCL::HtmlTags;
namespace CCL::ImageEncoding;
namespace CCL::Install;
namespace CCL::Internal;
namespace CCL::Java;
namespace CCL::LanguageCode;
namespace CCL::Linux;
namespace CCL::LockFile;
namespace CCL::LockFree;
namespace CCL::MacOS;
    namespace CCL::MacOS::ClassID;
namespace CCL::MarkupTags;
namespace CCL::Math;
namespace CCL::MeasureID;
namespace CCL::MenuPopupSelectorBehavior;
namespace CCL::MenuPresentation;
namespace CCL::Meta;
namespace CCL::Model;
namespace CCL::Net;
namespace CCL::NumericLimits;
namespace CCL::PackageOption;
namespace CCL::ParamName3D;
namespace CCL::Persistence;
namespace CCL::PlugIn;
namespace CCL::PlugInListSorter;
namespace CCL::PlugScanOption;
namespace CCL::PopupFramesParams;
namespace CCL::PortableObjectFormat;
namespace CCL::SafetyID;
namespace CCL::SceneConstants;
namespace CCL::Scripting;
namespace CCL::Security;
    namespace CCL::Security::Authorization;
    namespace CCL::Security::Crypto;
        namespace CCL::Security::Crypto::Internal;
        namespace CCL::Security::Crypto::MaterialUtils;
    namespace CCL::Security::JOSE;
    namespace CCL::Security::KeyID;
    namespace CCL::Security::PolicyAccessor;
namespace CCL::ShellCommand;
namespace CCL::Signals;
namespace CCL::SkinAttributeTypes;
namespace CCL::StockShaders;
namespace CCL::StringUtils;
namespace CCL::StyleID;
namespace CCL::Styles;
namespace CCL::System;
namespace CCL::Text;
namespace CCL::TextUtils;
namespace CCL::ThemeElements;
namespace CCL::ThemeNames;
namespace CCL::Threading;
namespace CCL::ToolActions;
namespace CCL::ToolStrings;
namespace CCL::TransformUtils3D;
namespace CCL::TranslationVariables;
namespace CCL::TypeNames;
namespace CCL::Unicode;
namespace CCL::UnixTime;
namespace CCL::UrlParameter;
namespace CCL::UrlUtils;
namespace CCL::Usb;
namespace CCL::VKey;
namespace CCL::ViewNames;
namespace CCL::Web;
    namespace CCL::Web::Feed;
    namespace CCL::Web::HTTP;
    namespace CCL::Web::Meta;
    namespace CCL::Web::Permission;
namespace CCL::Win32;
    namespace CCL::Win32::ClassID;
namespace CCL::XmlArchiveUtils;

// typedefs

typedef Vector <FormatterFactory*> FormatterFactoryList;
typedef CCL::int32 DataType;
typedef const Variant& VariantRef;
typedef const String& StringRef;
typedef const CString& CStringRef;
typedef const IUrl& UrlRef;
typedef const IMessage& MessageRef;
typedef const ArgumentList& ArgsRef;
typedef CStringRef StringID;
typedef uint8 UIDBuffer[16];
typedef VariantVectorTemplate <int> VariantIntVector;
typedef VariantVectorTemplate <double> VariantDoubleVector;
typedef VariantVectorTemplate <String> VariantStringVector;
typedef VariantVectorTemplate <Variant> VariantVector;
typedef const ItemIndex& ItemIndexRef;
typedef SkinAttributeTypes::Type SkinAttributeType;
typedef ObservedPtr <IView> ViewPtr;
typedef EnumInfo StyleDef;
typedef const StyleFlags& StyleRef;
typedef ThemeElements::MetricID ThemeMetricID;
typedef ThemeElements::ColorID ThemeColorID;
typedef ThemeElements::FontID ThemeFontID;
typedef ThemeElements::CursorID ThemeCursorID;
typedef ThemeElements::ElementID ThemeElementID;
typedef ThemeElements::ElementState ThemeElementState;
typedef IGraphicsBuffer3D::Type GraphicsBuffer3DType;
typedef IGraphicsShader3D::Type GraphicsShader3DType;
typedef const BoundingSphere3D& BoundingSphere3DRef;
typedef const PointF3D& PointF3DRef;
typedef const PointF4D& PointF4DRef;
typedef const Ray3D& Ray3DRef;
typedef const Transform3D& Transform3DRef;
typedef const TextFormat& TextFormatRef;
typedef const Transform& TransformRef;
typedef const CommandMsg& CmdArgs;
typedef IClassFactory* (CCL_API* CCLGetClassFactoryProc)();

typedef IStubObject* (CCL_API* StubConstructor)(
    UIDRef iid,
    IObject *object,
    IUnknown *outerUnknown
    );

typedef const Scripting::IScript& ScriptRef;
typedef DateTime FileTime;
typedef Text::Encoding TextEncoding;
typedef Text::LineFormat TextLineFormat;
typedef const MetaClass& MetaClassRef;
typedef ObjectArray AttributeContainer;
typedef int16 ArchiveTypeID;
typedef Attributes JsonObject;
typedef AttributeQueue JsonArray;
typedef Core::UIDBytes UIDBytes;
typedef Core::UIDRef UIDRef;

// enums

enum AnimationTimingType;
enum ArchiveType;
enum BinaryArchiveTypes;
enum BufferUsage3D;
enum ByteOrder;
enum DataFormat3D;
enum FillMode3D;
enum NotificationScope;
enum PageOrientation;
enum ParameterBufferIndex3D;
enum PrimitiveTopology3D;
enum RunLevel;
enum SymbolicPaperFormat;
enum TextureFlags3D;
enum TextureIndex3D;

// structs

struct ActionJournalDisabler;
struct AnimationControlPoints;
struct AnimationDescription;
struct AntiAliasSetter;
struct AttributeClassFactory;

template <typename T>
struct AutoGCObject;

struct BitmapDataLocker;
struct BitmapLockData;
struct BoundingSphere3D;
struct ClassDesc;
struct ClipSetter;
struct ColorSchemeEvent;
struct CommandDescription;

template <class T>
struct CommandDispatchEntry;

struct CommandMsg;
struct CommandWithTitle;
struct ConfigurationPublisher;
struct ContextMenuEvent;
struct ContextSaver;
struct DepthTestParameters3D;
struct DesignCoord;
struct DesignSize;
struct DiagnosticDescription;
struct DiagnosticProfilingScope;
struct DiagnosticScope;
struct DiagnosticSizeProfilingScope;
struct DiagnosticTimeAccumulator;
struct DisplayChangedEvent;
struct DragEvent;
struct DrawEvent;
struct FOURCC;
struct FileInfo;
struct FocusEvent;
struct GUIEvent;
struct GestureEvent;
struct IAccessibilityActionProvider;
struct IAccessibilityExpandCollapseProvider;
struct IAccessibilityManager;
struct IAccessibilityProvider;
struct IAccessibilityScrollProvider;
struct IAccessibilitySelectionContainerProvider;
struct IAccessibilitySelectionProvider;
struct IAccessibilityTableProvider;
struct IAccessibilityToggleProvider;
struct IAccessibilityValueProvider;
struct IActionContext;
struct IActionExecuter;
struct IActionJournal;
struct IActivatable;
struct IAlertBox;
struct IAlertService;
struct IAliasParameter;
struct IAllocator;
struct IAnalyticsDataProvider;
struct IAnalyticsEvent;
struct IAnalyticsEventClassifier;
struct IAnalyticsEventFilter;
struct IAnalyticsEventSink;
struct IAnalyticsManager;
struct IAnalyticsOutput;
struct IAnalyticsTrackingPlan;
struct IAnimation;
struct IAnimationCompletionHandler;
struct IAnimationHandler;
struct IAnimationManager;
struct IApplication;
struct IApplicationProvider;
struct IArrayObject;
struct IAssertionResult;
struct IAsyncCall;
struct IAsyncCompletionHandler;
struct IAsyncInfo;
struct IAsyncOperation;
struct IAsyncStateModifier;
struct IAtom;
struct IAtomTable;
struct IAttribute;
struct IAttributeFilter;
struct IAttributeHandler;
struct IAttributeList;
struct IAttributeQueue;
struct IAutoComplete;
struct IAutoSaveHook;
struct IAutoScroller;
struct IBackgroundView;
struct IBackupItem;
struct IBasicAnimation;
struct IBitmap;
struct IBitmapFilter;
struct IBitmapFilterList;
struct IBitmapPainter;
struct IBitmapProcessor;
struct IBluetoothStatics;
struct IBoxedUID;
struct IBrowserExtension;
struct IBrowserNode;
struct IBrowserNodeBranding;
struct IBrowserNodeVisitor;
struct IBuffer;
struct IBufferAllocator3D;
struct IBufferSegment3D;
struct IButton;
struct ICString;
struct ICStringDictionary;
struct ICamera3D;
struct IClassAllocator;
struct IClassDescription;
struct IClassFactory;
struct IClassFactoryUpdate;
struct IClipboard;
struct ICodeResource;
struct ICodeResourceLoader;
struct ICodeResourceLoaderHook;
struct IColorPalette;
struct IColorPaletteModel;
struct IColorParam;
struct IColorScheme;
struct IColorSchemeImporter;
struct IColorSchemes;
struct IColumnHeaderList;
struct ICommand;
struct ICommandBarItem;
struct ICommandBarModel;
struct ICommandCategory;
struct ICommandContainer;
struct ICommandEditor;
struct ICommandFilter;
struct ICommandHandler;
struct ICommandParameter;
struct ICommandSelector;
struct ICommandTable;
struct IComponent;
struct IComponentAlias;
struct IComponentExtender;
struct IContainer;
struct IContentPackageManager;
struct IContextMenu;
struct IContextMenuHandler;
struct IControl;
struct IController;
struct IControllerProvider;
struct IConvertFilter;
struct ICoreClass;
struct ICoreClassHandler;
struct ICoreCodeLoader;
struct ICrashReport;
struct ICubeTessellator3D;
struct ICustomMaterial3D;
struct IDataCompressor;
struct IDataTarget;
struct IDataTransformer;
struct IDateTime;
struct IDebugMessage;
struct IDebugMessageReceiver;
struct IDebugMessageSender;
struct IDebugService;
struct IDebuggable;
struct IDebuggableManager;
struct IDesktop;
struct IDeviceDescription;
struct IDeviceEnumerator;
struct IDiagnosticDataProvider;
struct IDiagnosticResult;
struct IDiagnosticResultSet;
struct IDiagnosticStore;
struct IDialogBuilder;
struct IDialogButtonInterest;
struct IDialogInformation;
struct IDocument;
struct IDocumentClass;
struct IDocumentEventHandler;
struct IDocumentFilter;
struct IDocumentManager;
struct IDocumentTemplateHandler;
struct IDocumentView;
struct IDocumentViewFactory;
struct IDownloadable;
struct IDragFeedbackProvider;
struct IDragHandler;
struct IDragSession;
struct IDrawable;
struct IDropBox;
struct IEditBox;
struct IEditControlHost;
struct IEditEnvironment;
struct IEditHandler;
struct IEditHandlerHook;
struct IEditTask;
struct IEmbeddedViewHost;
struct IEncryptionKeyProvider;
struct IEnumTypeInfo;
struct IErrorContext;
struct IErrorHandler;
struct IExecutableImage;
struct IExecutableIterator;
struct IExecutableLoader;
struct IExportFilter;
struct IExtendedMenu;
struct IExtensible;
struct IFileDescriptor;
struct IFileHandler;
struct IFileIcons;
struct IFileInfoComponent;
struct IFileInfoFactory;
struct IFileInstallHandler;
struct IFileItemProvider;
struct IFileIterator;
struct IFileManager;
struct IFilePromise;
struct IFileResource;
struct IFileSelector;
struct IFileSelectorCustomize;
struct IFileSelectorHook;
struct IFileSystem;
struct IFileSystemSecurityStore;
struct IFileTypeClassifier;
struct IFileTypeFilter;
struct IFileTypeIterator;
struct IFileTypeRegistry;
struct IFileUtilities;
struct IFolderPackage;
struct IFolderSelector;
struct IFont;
struct IFontTable;
struct IForm;
struct IFormattedString;
struct IFormatter;
struct IFormatterRange;
struct IGadgetSite;
struct IGeographicRegion;
struct IGeometry3D;
struct IGeometrySource3D;
struct IGradient;
struct IGraphics;
struct IGraphics3D;
struct IGraphicsBuffer3D;
struct IGraphicsContent3D;
struct IGraphicsFactory3D;
struct IGraphicsLayer;
struct IGraphicsLayerContent;
struct IGraphicsPath;
struct IGraphicsPipeline3D;
struct IGraphicsResource3D;
struct IGraphicsRootLayer;
struct IGraphicsShader3D;
struct IGraphicsTexture2D;
struct IGridTessellator3D;
struct IHelpCatalog;
struct IHelpInfoBuilder;
struct IHelpInfoCollection;
struct IHelpInfoViewer;
struct IHelpManager;
struct IHelpTutorial;
struct IHelpTutorialHandler;
struct IHtmlWriter;
struct IImage;
struct IImageCache;
struct IImageDrawable;
struct IImagePalette;
struct IImageProvider;
struct IImportFilter;
struct IInnerUnknown;
struct IItemDragTarget;
struct IItemDragVerifier;
struct IItemModel;
struct IItemSelection;
struct IItemSelectionIterator;
struct IItemView;
struct IItemViewDragHandler;
struct IItemsProvider;
struct IKeyBinding;
struct ILanguagePack;
struct ILayoutStateProvider;
struct ILayoutView;
struct ILightSource3D;
struct ILinearGradient;
struct IListParameter;
struct IListView;
struct ILocaleInfo;
struct ILocaleManager;
struct IMarkupPainter;
struct IMarkupWriter;
struct IMaterial3D;
struct IMediaThreadPriorityHandler;
struct IMediaThreadService;
struct IMediaThreadWorkgroupHandler;
struct IMediaTimer;
struct IMediaTimerTask;
struct IMemoryStream;
struct IMenu;
struct IMenuBar;
struct IMenuExtension;
struct IMenuItem;
struct IMessage;
struct IModalProgressDialog;
struct IModel3D;
struct IModelImporter3D;
struct IModelNode3D;
struct IMouseCursor;
struct IMouseHandler;
struct IMultiResolutionBitmap;
struct IMutableArray;
struct IMutableRegion;
struct INameNavigator;
struct INamedItemIterator;
struct INativeFileStream;
struct INativeFileSystem;
struct INativeToolSet;
struct INavigationHistory;
struct INavigationHistoryEntry;
struct INavigationServer;
struct INavigator;
struct INavigator2;
struct INotification;
struct INotificationActionHandler;
struct INotificationCenter;
struct INotifyIcon;
struct IObject;
struct IObjectCast;
struct IObjectConverter;
struct IObjectFilter;
struct IObjectNode;
struct IObjectTable;
struct IObserver;
struct IOuterUnknown;
struct IPackageFile;
struct IPackageHandler;
struct IPackageInfo;
struct IPackageItem;
struct IPackageItemFilter;
struct IPackageItemWriter;
struct IPackageVolume;
struct IPageRenderer;
struct IPageSetupDialog;
struct IPalette;
struct IPaletteItemModel;
struct IPaletteProvider;
struct IParamCurve;
struct IParamObserver;
struct IParamPreviewHandler;
struct IParamSplitter;
struct IParameter;
struct IParameterMenuBuilder;
struct IParameterMenuCustomize;
struct IPerformanceMeter;
struct IPerformanceProvider;
struct IPerformanceValueProvider;
struct IPerformanceViewer;
struct IPersistAttributes;
struct IPerspective;
struct IPerspectiveActivator;
struct IPlainTextWriter;
struct IPlugInClassList;
struct IPlugInManagementExtension;
struct IPlugInManager;
struct IPlugInScanner;
struct IPlugInSnapshots;
struct IPlugInVersionProvider;
struct IPlugInView;
struct IPlugInViewFactory;
struct IPlugInViewFrame;
struct IPlugInViewManagement;
struct IPlugInViewParamFinder;
struct IPlugInViewRenderer;
struct IPlugInViewRendererFrame;
struct IPlugInViewRepair;
struct IPlugInViewStatics;
struct IPluginInstance;
struct IPluginMetaClass;
struct IPluginPresentation;
struct IPointLight3D;
struct IPopupSelector;
struct IPopupSelectorClient;
struct IPresentable;
struct IPreset;
struct IPresetCollection;
struct IPresetCollector;
struct IPresetDescriptor;
struct IPresetFileHandler;
struct IPresetFileRegistry;
struct IPresetManager;
struct IPresetMediator;
struct IPresetMetaDataProvider;
struct IPresetNotificationSink;
struct IPrintJob;
struct IPrintService;
struct IProgressDetails;
struct IProgressDialog;
struct IProgressNotify;
struct IProgressProvider;
struct IPropertyCollector;
struct IProtocolHandler;
struct IProtocolHandlerRegistry;
struct IRadialGradient;
struct IRecognizer;
struct IRegularExpression;
struct IResolver;
struct IRootComponent;
struct ISafetyManager;
struct ISafetyOptionProvider;
struct IScale;
struct IScene3D;
struct ISceneChildren3D;
struct ISceneConstraints3D;
struct ISceneHandler3D;
struct ISceneNode3D;
struct ISceneRenderer3D;
struct ISceneResource3D;
struct ISceneView3D;
struct IScriptCodeLoader;
struct IScriptingEnvironment;
struct IScriptingHost;
struct IScriptingManager;
struct IScrollParameter;
struct IScrollView;
struct IScrollable;
struct ISearchDescription;
struct ISearchProvider;
struct ISearchResultSink;
struct ISearchResultViewer;
struct ISearcher;
struct ISelection;
struct ISelectionViewer;
struct IServiceDescription;
struct IServiceManager;
struct IServiceNotification;
struct ISettingsSaver;
struct ISgmlWriter;
struct IShaderBufferWriter3D;
struct IShaderParameterProvider3D;
struct IShaderParameterSet3D;
struct IShaderValue3D;
struct ISignalHandler;
struct ISkinCreateArgs;
struct ISkinEditSupport;
struct ISkinElement;
struct ISkinElementChildren;
struct ISkinImageElement;
struct ISkinLoader;
struct ISkinModel;
struct ISkinViewElement;
struct ISolidColorMaterial3D;
struct ISourceDragBlocker;
struct ISprite;
struct IStartupProgress;
struct IStatisticsCollection;
struct IStatisticsProvider;
struct IStorable;
struct IStorageHandler;
struct IStorageRegistry;
struct IStream;
struct IString;
struct IStringDictionary;

template <typename StringRefType>
struct IStringDictionaryT;

struct IStringTokenizer;
struct IStroke;
struct IStrokeContainer;
struct IStructuredParameter;
struct IStubObject;
struct ISubject;
struct ISystemInformation;
struct ISystemSharingHandler;
struct ISystemShell;
struct ITessellator3D;
struct ITestCollection;
struct ITestContext;
struct ITestFactory;
struct ITestSuite;
struct ITextBuilder;
struct ITextLayout;
struct ITextModel;
struct ITextModelProvider;
struct ITextPromise;
struct ITextStreamer;
struct ITextTable;
struct ITextWriter;
struct ITextureMaterial3D;
struct ITheme;
struct IThemeManager;
struct IThemePainter;
struct IThemeStatics;
struct ITickScale;
struct ITimer;
struct ITimerTask;
struct ITimingFunction;
struct IToolAction;
struct IToolConfiguration;
struct IToolHelp;
struct IToolMode;
struct IToolSet;
struct ITooltipPopup;
struct ITouchCollection;
struct ITouchHandler;
struct ITouchInputManager;
struct ITransformAnimation;
struct ITransformConstraints3D;
struct ITransformStream;
struct ITranslationTable;
struct ITranslationTableHook;
struct ITree;
struct ITreeItem;
struct ITreeView;
struct ITriggerAction;
struct ITriggerPrototype;
struct ITypeInfo;
struct ITypeInfoDetails;
struct ITypeLibRegistry;
struct ITypeLibrary;

template <typename ResultType>
struct ITypedAsyncOperation;

struct IUIEventHandler;
struct IUIValue;
struct IUVSphereTessellator3D;
struct IUnicodeUtilities;
struct IUnknown;
struct IUnknownIterator;
struct IUnknownList;
struct IUpdateCheckObserver;
struct IUpdateRegion;
struct IUrl;
struct IUrlFilter;
struct IUsbHidStatics;
struct IUserControl;
struct IUserControlHost;
struct IUserInterface;
struct IUserOption;
struct IUserOptionDialog;
struct IUserOptionList;
struct IVariant;
struct IVariantMenuBar;
struct IVersionDescription;
struct IVertexFormat3D;
struct IView;
struct IView3D;
struct IViewAnimator;
struct IViewChildren;
struct IViewFactory;
struct IViewIterator;
struct IViewScreenCapture;
struct IViewState;
struct IViewStateHandler;
struct IVisualStyle;
struct IVisualStyleItem;
struct IVolumeFileSystem;
struct IWindow;
struct IWindowBase;
struct IWindowClass;
struct IWindowClassVerifier;
struct IWindowEventHandler;
struct IWindowManager;
struct IWorkspace;
struct IWorkspaceEventHandler;
struct IWorkspaceManager;
struct IXmlContentHandler;
struct IXmlNode;
struct IXmlParser;
struct IXmlWriter;
struct IZLibTransformer;
struct ImmediateMultiActionScope;
struct JsonUtils;
struct KernelInitializer;
struct KernelTerminator;
struct KeyEvent;
struct KeyState;
struct MenuInserter;
struct MenuPosition;
struct MouseEvent;
struct MouseWheelEvent;
struct MultiActionScope;
struct NativePath;

template <typename Type>
struct NativeString;

struct NavigateArgs;
struct NormalizedValue;
struct NotificationActionProperties;
struct NotificationProperties;
struct POSIXPath;
struct PageSetup;
struct PaperFormat;
struct ParamPreviewEvent;
struct PerformanceGuard;
struct PlainBrush;
struct PlainCString;
struct PlainFileType;
struct PlainFont;
struct PlainPen;
struct PlainString;
struct PlainTextFormat;
struct PlainTransform3D;
struct PlugInSettingsHelper;
struct PlugInSortMethods;
struct PlugViewParentProtector;
struct PointF3D;
struct PointF4D;
struct PointerEvent;
struct PopupSizeInfo;
struct PresetCategoryFilter;
struct PresetUrl;
struct PrinterDocumentInfo;
struct PrinterInfo;
struct ProgressDialogHideScope;
struct ProgressNotifyScope;
struct Ray3D;
struct RegisterSideEffect;
struct SafetyOptionDescription;
struct SceneEdit3D;
struct SizeLimit;
struct SkinValueChange;
struct StartupProgressScope;

template <class T>
struct StreamSizeWriter;

struct StrokePoint;
struct StyleFlags;
struct TooltipEvent;
struct TouchEvent;
struct Transform;
struct Transform3D;
struct TransformData;
struct TransformSetter;
struct UID;
struct UpdateRgn;
struct Variant;
struct VersionDesc;
struct VersionNumber;
struct VertexElementDescription;
struct VertexP;
struct VertexPN;
struct VertexPNT;
struct VertexPT;
struct ViewEvent;
struct ViewParentEvent;
struct ViewSizeEvent;
struct VolumeInfo;
struct WindowEvent;
struct WorkspaceEvent;

// classes

class AbstractAccessibilityProvider;
class AbstractAnalyticsEventFilter;
class AbstractController;
class AbstractDataTransformer;
class AbstractDocumentEventHandler;
class AbstractDragHandler;
class AbstractDrawable;
class AbstractEditCursor;
class AbstractEditHandlerHook;
class AbstractFileHandler;
class AbstractFileInstallHandler;
class AbstractFileSystem;
class AbstractItemModel;
class AbstractItemSelection;
class AbstractMouseHandler;
class AbstractNode;
class AbstractPalette;
class AbstractPreset;
class AbstractPresetFileHandler;
class AbstractPresetMediator;
class AbstractPresetNotificationSink;
class AbstractProgressNotify;
class AbstractSearcher;
class AbstractTextModel;
class AbstractTouchHandler;
class AbstractTouchMouseHandler;
class AbstractTypeInfo;
class AbstractUserControl;
class Action;
class ActionCatcher;
class ActionExecuter;
class ActionJournal;
class ActionJournalComponent;
class ActionJournalPreviewHelper;
class ActionListModel;
class ActionTool;
class ActivationDelegate;

template <typename Lambda>
class AdHocAction;

class AdvancedSnapper;
class AliasParam;
class AlwaysTrueFilter;
class AppSafetyManager;
class Application;
class ApplicationSpecifics;
class Archive;
class ArchiveHandler;
class ArchiveSaveTask;
class ArrayBox;
class ArrayBoxIterator;
class Association;
class AsyncBatchTask;
class AsyncCall;
class AsyncCallHandler;
class AsyncCompletionHandler;
class AsyncCompletionOperation;

template <typename T>
class AsyncLambdaCall;

class AsyncNewDocumentDialog;
class AsyncOperation;
class AsyncSequence;
class AsyncStateChangeOperation;
class AsyncStep;
class AsyncStepMachine;
class AtomicPolicy;
class Attribute;
class AttributeAccessor;
class AttributeFilter;
class AttributeQueue;
class AttributeReadAccessor;
class AttributeReader;
class AttributeWriter;
class Attributes;
class AttributesBuilder;

template <class T>
class AutoPtr;

class AutoSaveOption;
class AutoSaver;
class AutoSignalSink;
class BasicEditCursor;
class BatchOperation;
class BatchOperationComponent;
class BatchTaskFilePromise;
class BinaryArchive;
class BlockListViewModel;
class BorderDrawable;
class BreadcrumbsComponent;
class Browser;
class BrowserExtender;
class BrowserExtensionStub;
class BrowserListModel;
class BrowserModelBase;
class BrowserNode;
class BrowserNodeNavigator;
class BrowserState;
class BrowserTreeModel;
class Brush;
class Buffer;

template <class T>
class BufferChain;

class CString;
class CStringDictionary;
class CStringEnumTypeInfo;

template <int size>
class CStringWriter;

template <class CreateIter>
class CascadedIterator;

template <class T, class Container>
class CastingRangeIterator;

class ClassAttributeProvider;
class ClassFactory;
class ClassFilter;
class ColorManipulator;
class ColorParam;
class ColorPicker;
class ColorPickerDialog;
class ColorSchemeOption;
class ColorSchemePresetOption;
class ColorizedView;

template <class T>
class CommandAliasRegistrar;

class CommandAliasTable;
class CommandAutomator;

template <class T>
class CommandDelegate;

template <class T>
class CommandDispatcher;

template <class T>
class CommandDispatcherRegistrar;

class CommandEditorOption;
class CommandOption;
class CommandParam;
class CommandRegistrar;
class CommandRegistry;
class CommandSaver;
class CommandSchemeOption;

template <class T>
class ComparablePtr;

class Component;
class ComponentAlias;

template <class Interface, class Alias>
class ComponentAliasFactory;

template <class T>
class ComponentConstructor;

class ComponentExtender;
class ComponentFactory;

template <class T>
class ComponentSingleton;

class CompressionHandler;
class ConcaveCurve;
class ConfigEditHandler;
class ConfigTool;
class ConfigurationComponent;
class ConfigurationElement;
class ConfigurationSaver;
class ConsoleComponent;
class ConsoleListModel;
class Container;
class ContentLocationOption;
class ContentLocationSaver;
class ControlBox;
class ControlGridPainter;
class ControlScalePainter;
class ConvertFilter;
class ConvexCurve;
class CoreFormatter;

template <class CoreInterface, class UnknownClass, class UnknownInterface>
class CorePropertyHandler;

template <class CoreInterface>
class CorePropertyHandlerHelper;

class CoreServicePlugin;
class CoreStream;
class CrossHairCursor;
class CustomColorPresets;
class CustomSortFolderNode;
class CustomizationComponent;
class CustomizationPreset;
class CustomizationPresetMemento;
class CustomizationSettings;
class CustomizedMenuParam;
class DataItem;
class DataStore;
class DataStoreInfo;
class DebugMenuComponent;
class Debugger;
class DefaultFileInfo;
class DeferredDestroyer;
class DeferredTrigger;
class DeleteEditHandler;
class DiagnosticDialog;
class DiagnosticStoreAccessor;
class DialogBox;

template <typename Dictionary>
class DictionaryMethods;

class Document;
class DocumentApplication;
class DocumentBlocks;
class DocumentClass;
class DocumentDescription;
class DocumentDiagnosticData;
class DocumentDiagnosticDataProvider;
class DocumentDiagnosticDialog;
class DocumentDiagnosticLoadDialog;
class DocumentDiagnosticSaveDialog;
class DocumentDragHandler;
class DocumentEventHandler;
class DocumentEventHandlerStub;
class DocumentFile;
class DocumentFileInfo;
class DocumentFilter;
class DocumentGenerator;
class DocumentListener;
class DocumentListenerFactory;
class DocumentManager;
class DocumentMetaInfo;
class DocumentNavigationPage;
class DocumentNavigationServer;
class DocumentOpenController;
class DocumentOptionsProvider;
class DocumentPathHelper;
class DocumentPerspective;
class DocumentRenamer;
class DocumentSelectorHook;
class DocumentTemplate;
class DocumentTemplateFileInfo;
class DocumentTemplateHandler;
class DocumentTemplateList;
class DocumentTemplateListModel;
class DocumentTemplateProperties;
class DocumentTemplateProvider;
class DocumentTemplateSaveDialog;
class DocumentVersionSelector;
class DocumentVersions;
class DocumentWindow;
class DocumentWindowFactory;
class DpiAwarenessOption;
class DragControl;
class DragDataExtractor;
class DragFeedback;
class DragHandler;

template <class BaseHandler>
class DragHandlerDelegate;

class DragHandlerVariant;
class DrawSelectionHandler;
class DropBoxModel;
class DummyBatchTask;
class EULAComponent;
class EditAddIn;
class EditAddInCollection;
class EditAddInDescription;
class EditCursor;
class EditCursorShape;
class EditDragHandler;
class EditEnvironment;
class EditExtension;
class EditExtensionRegistry;
class EditHandler;
class EditItemIndicator;
class EditLayer;
class EditModel;
class EditTask;
class EditTaskAction;
class EditTaskArgumentUI;
class EditTaskCandidate;
class EditTaskCollection;
class EditTaskComponent;
class EditTaskContext;
class EditTaskContextMenuFilter;
class EditTaskDescription;
class EditTaskDragHandler;
class EditTaskHandler;
class EditTaskHelper;
class EditTaskInplaceComponent;
class EditTaskParameter;
class EditTaskStub;
class EditTaskWithPreview;
class EditTool;
class EditToolMode;
class EditView;
class EditorComponent;
class EditorRegistry;
class EnumTypeInfo;
class EraserTool;
class ErrorContextGuard;
class EventTrigger;
class ExportAlternative;
class ExportFilter;
class ExpressionParser;
class ExternalDocumentClass;

template <class T>
class ExternalSingleton;

class FastLinkableListIterator;
class File;
class FileBrowser;
class FileCopyTask;
class FileDeleteTask;
class FileDescriptor;
class FileDescriptorToPresetFilter;
class FileExporter;
class FileFilter;
class FileIcons;
class FileIconsPrivate;
class FileInfoComponent;
class FileInfoFactory;
class FileInfoRegistry;
class FileMoveTask;
class FileNodeCreator;
class FileNodeFinder;
class FileNodeInserter;
class FileNodeRemover;
class FileNodeTraverser;
class FilePreviewComponent;
class FilePromise;
class FileRenamer;
class FileResource;
class FileStreamResource;
class FileTransferOperation;
class FileType;
class FileTypeExcludeFilter;
class FileTypeFilter;
class FileTypeItem;
class FileTypeItemList;
class FileTypeSelector;
class FilteringIterator;
class FindFilesIterator;
class FlatFolderNode;
class FloatParam;
class FolderNode;
class Font;
class FontParamHelper;
class FontSelectorComponent;
class FormBox;
class Formatter;
class FormatterFactory;
class FourCCString;
class FrameworkOptionElement;
class FullVerticalSnapper;
class GetPresetsWork;
class GradientBrush;
class GraphicsEngineOption;

template <class T, class TList = LinkedList <T>>
class HashTable;

class HelpCatalogComponent;
class HelpInfoControl;
class HelpInfoViewComponent;
class HelpTutorialComponent;
class HiddenPluginsFilter;
class HoldingIterator;
class HostNameFilter;
class IFileIteratorMixin;
class IconSetFormat;
class IdleClient;
class ImageBuilder;
class ImageDrawable;
class ImageFile;
class ImageMode;
class ImagePaletteAccessor;
class ImageProvider;
class ImageSelector;
class ImportFilter;
class InplaceProgressComponent;
class InspectorComponent;
class InspectorDelegate;
class IntParam;

template <class IFace>
class InterfaceList;

class InterpolatorCurve;
class IosApplicationSpecifics;
class ItemIndex;
class ItemModel;
class ItemModelPainter;
class ItemSelectorPopup;
class ItemViewGeometry;

template <class ItemModelBase>
class ItemViewObserver;

class Iterator;
class IteratorDelegate;
class Json5Archive;
class JsonArchive;
class JsonStorableObject;
class Kernel;
class KernelAttributeProvider;

template <typename Lambda>
class LambdaAnalyticsDataProvider;

template <class Lambda>
class LambdaCommandDelegate;

template <typename T>
class LambdaCompletionHandler;

template <typename T>
class LambdaFilter;

template <typename T>
class LambdaResolver;

template <typename T>
class LambdaResolvingIterator;

template <typename T>
class LambdaStateModifier;

template <typename T>
class LambdaTriggerAction;

class LegalFileName;
class LegalFolderName;
class LinearGradientBrush;
class Linkable;
class LinkableList;
class LinkableListIterator;
class LinuxApplicationSpecifics;
class ListEditComponent;
class ListParam;
class ListViewEditComponent;
class ListViewItem;
class ListViewModel;
class ListViewModelBase;
class ListViewSorter;
class LocalString;
class LocaleOption;
class LocalizedUrl;
class LogBuffer;
class LogEvent;
class LogEventList;
class LogFile;
class Logging;
class MacOSApplicationSpecifics;
class MainColorSchemeOption;

template <typename Type>
class MappedBuffer3D;

class MarkupBuilder;

template <class T>
class MemberFuncCompletionHandler;

template <class T>
class MemberFuncSlot;

template <class T>
class MemberFuncStateModifier;

class MemoryPool;
class MemoryPreset;
class MemoryPresetHandler;
class MemoryPresetIterator;
class MemoryPresetProtocol;
class MemoryStream;
class MemoryUrl;
class MenuBuilder;
class MenuParam;
class Message;
class MessageArgument;
class MetaClass;
class MetaClassIterator;
class MetaClassRegistry;
class MetaClassReplaceScope;
class MethodInvoker;
class MixedSelection;
class ModelFactory3D;
class ModifierAction;
class ModuleComponent;
class MountPoint;
class MountProtocolHandler;
class MoveToFolderMenuBuilder;
class MultiAction;
class MultiDrawable;
class MultiParamProxyHandler;
class MultiProgress;
class MultiSearchProvider;
class MultiSearcher;
class MultiSprite;
class MultiplexStream;
class MutableCString;
class MutableEnumTypeInfo;
class NativeToolSet;
class NavigationHistory;
class NavigationHistoryEntry;
class NavigationService;
class Navigator;
class NavigatorBase;
class NavigatorBase2;
class NewDocumentAssistant;
class NewDocumentDialog;
class NewFolderOperation;
class NewTabTarget;
class NodeRemover;
class NodeSorter;
class NodeSorterComponent;
class NodeSorterFlat;
class NodeSorterProvider;
class NotificationComponent;
class NotificationListComponent;
class NullDragHandler;
class NullEditHandler;
class NullIterator;
class Object;
class ObjectArray;
class ObjectArrayIterator;
class ObjectConverter;
class ObjectFilter;
class ObjectFilterChain;
class ObjectHashTable;
class ObjectItemsProvider;
class ObjectList;
class ObjectListIterator;
class ObjectNode;
class ObjectPackage;
class ObjectPreset;
class ObjectPresetCollection;
class ObjectSaveTask;
class ObjectStack;

template <class T>
class ObservedList;

template <class T>
class ObservedListIterator;

template <class T>
class ObservedPtr;

class OpenEndActionHandler;
class OutputStorage;
class PackageDocument;
class PackageInfo;
class PackageResource;
class PackageUrl;
class PackageVolumeInfo;
class PaletteParam;
class PaletteProvider;
class ParamAccessor;
class ParamContainer;
class ParamCurve;
class ParamCurveFactory;
class ParamList;
class Parameter;

template <typename ParameterType>
class ParameterizedTest;

class PathClassifier;
class PathList;
class PathListComponent;
class PathListModel;
class PathSelector;
class PathSelectorWithHistory;
class Pen;
class PerformanceMeter;
class PersistentAttributes;
class PerspectiveStorageHelper;
class PixelPoint;
class PixelPointF;
class PixelRect;
class PixelRectF;
class PlugInBrowser;
class PlugInCategory;
class PlugInCategoryParam;
class PlugInClass;
class PlugInFileInfo;
class PlugInListItem;
class PlugInListViewModel;
class PlugInManagementComponent;
class PlugInMenuParam;
class PlugInMetaInfo;
class PlugInSelector;
class PlugInSelectorBrowser;
class PlugInSelectorPopup;
class PlugInSnapshots;
class PlugInSorterComponent;
class PlugInViewManagement;

template <class Class, class Interface>
class PluginConstructor;

class PluginInstance;
class PluginMenu;
class PluginMetaClass;
class PluginOptionsProvider;
class PluginPresentation;
class PluginSearchProvider;
class PluginsFilter;

template <class TValue>
class PointerHashMap;

class PopupSelectorClient;

template <class NodeSuperClass>
class PopupSourceControllerAccess;

class PrefetchingIteratorDelegate;
class Preset;
class PresetArchiver;
class PresetBrowser;
class PresetCategory;
class PresetCollection;
class PresetCollectionHandler;
class PresetComponent;
class PresetConvertFilterBase;
class PresetDescriptor;
class PresetDragHandler;
class PresetFile;
class PresetFileExporter;
class PresetFileInfo;
class PresetFilePrimitives;
class PresetFileRegistry;
class PresetFileSystem;
class PresetFileTypeFilter;
class PresetFolder;
class PresetHandler;
class PresetLocationHandler;
class PresetManagementComponent;
class PresetManager;
class PresetMetaAttributes;
class PresetPackageHandler;
class PresetParam;
class PresetPart;
class PresetPartList;
class PresetReference;
class PresetRenamer;
class PresetScriptUtils;
class PresetSearchProvider;
class PresetStore;
class PresetStoreSynchronizer;
class PresetSubFile;
class PresetTrader;
class PriorityListModel;
class ProcessMemoryMeter;
class Profiler;
class ProgressProxy;
class Promise;
class Property;
class PropertySetter;
class PropertyTrigger;
class ProtocolHandler;
class RadialGradientBrush;
class RecentDocuments;
class Recognizer;
class RegExpSearchDescription;
class Renamer;
class Resolver;

template <typename Resolver>
class ResolvingIterator;

class ResourceUrl;
class RestorePointAction;
class ReverseIterator;

template <class T>
class RingBuffer;

class RootComponent;
class RootNode;
class RotationConstraints3D;
class SafetyFilter;
class SafetyGuard;
class SafetyOptionsDialog;
class Scale;
class ScaleScrollHandler;
class ScaleView;
class ScaleZoomer;
class SceneComponent3D;
class ScopedLockFile;
class ScriptErrorReporter;
class ScrollParam;
class SearchComponent;
class SearchDescription;
class SearchProvider;
class SearchResult;
class SearchResultList;
class SelectAction;
class SelectFunctions;
class SelectPresetDialog;
class SelectTool;
class Selection;
class SelectionContainer;
class SelectionList;
class SeparatorNode;
class ServiceFilter;
class ServiceListModel;
class ServiceOption;
class ServicePlugin;
class Settings;
class SettingsSaver;

template <class T>
class SharedPtr;

template <class T>
class SharedSingleton;

class SideEffect;
class SideEffectRegistry;
class SignalSink;
class SignalSlot;
class SignalSlotList;
class SignalSource;
class SimplePopupSelectorClient;
class SimplePreset;
class SimplePresetHandler;
class SimpleSelection;
class SimpleTransaction;
class SimpleXmlPreset;

template <class T>
class Singleton;

class SkinModelAccessor;
class Snapper;
class SolidBrush;
class SolidDrawable;
class SortFolderList;
class SortFolderListCollection;
class SortFolderNode;
class SortFolderRenamerBase;
class SortedNode;
class SpriteBuilder;

template <class T>
class Stack;

class StandardFileInfo;
class StandardSpriteDrawable;
class StartupProgressComponent;

template <class T>
class StaticSingleton;

class StatsCollection;
class StatsCollectionSet;
class StatsGraphView;
class StorableObject;
class StorableSaveTask;
class Storage;
class StorePresetDragHandler;
class StreamCopyTask;
class StreamPacketizer;
class Streamer;
class String;
class StringBuilder;
class StringChars;
class StringDictionary;
class StringList;
class StringListComponent;
class StringParam;
class StringParser;
class StringTemplate;
class StringTemplateEnvironment;
class StringTemplateFilter;

template <int size = 512>
class StringWriter;

class StructuredParameter;
class StubObject;

template <class BaseAction>
class SymmetricAction;

template <class EnumDef>
class TEnumTypeInfo;

template <class InfoComponent>
class TFileInfoFactory;

template <class FormatterClass>
class TFormatterFactory;

template <class PresetClass>
class TSimplePresetHandler;

class TableSnapper;
class TempFile;
class Test;
class TestCollection;

template <class TestType>
class TestFactory;

class TestRegistry;
class TestSuite;
class TextBlock;
class TextCompletionComponent;
class TextFile;
class TextFormat;
class TextModelProvider;
class TextParser;
class TextResource;
class ThemeNavigationServer;
class TokenizedSearchDescription;
class ToolAction;
class ToolActionList;
class ToolBar;
class ToolCollection;
class ToolItem;
class ToolModePalette;
class ToolModePaletteParameter;
class ToolModeParameter;
class ToolPalette;
class ToolTouchHandler;
class Transaction;
class TransactionExecuter;
class TransformConstraints3D;

template <class BaseClass>
class TranslatedNode;

class TranslationConstraints3D;
class TreeViewFolderNode;
class TreeViewModel;
class TreeViewNode;
class Trigger;
class TriggerAction;
class TypeInfo;
class TypeInfoWithMembers;
class TypeLibrary;

template <typename T>
class TypedMessageArgument;

template <class Type>
class TypedSelectionList;

class UBJsonArchive;
class UIDCString;
class UIDString;
class UndoableTransaction;
class Unknown;
class UnknownIterator;
class UnknownList;

template <class T>
class UnknownPtr;

template <class T>
class UnmanagedSingleton;

class UnselectAction;
class Url;
class UrlDisplayString;
class UrlEncoder;
class UrlFilter;
class UrlFullString;
class UrlToPresetFilter;
class UrlWithTitle;
class UserControl;
class UserInterfaceOption;
class UserOption;
class UserOptionElement;
class UserOptionList;
class UserOptionManager;
class UserSceneView3D;
class UserTooltipPopup;
class VariantString;

template <typename T>
class VariantVectorTemplate;

template <class T, class Element>
class VectorIteratorAdapter;

class ViewBox;
class ViewFinder;
class VolumeInfoComponent;
class WaitCursor;
class WebNavigator;
class WideCharString;
class Win32ApplicationSpecifics;
class XmlArchive;
class XmlArchiveParser;
class XmlContentParser;

template <typename StartLambda>
class XmlLambdaParser;

class XmlNode;
class XmlProcessingInstructionHandler;
class XmlSettings;
class XmlTree;
class XmlTreeExtractor;
class XmlTreeParser;
class XmlTreeParserWithPI;
class XmlTreeWriter;

// global variables

 IActionJournal;
 IActionExecuter;
 IBrowserNode;
 kTitleProperty;
 title;
 kIconProperty;
 IBrowserExtension;
 IDocumentClass;
 IDocument;
 kPathChanged;
 IDocumentManager;
 kComponentName;
 DocumentManager;
 kActiveDocumentChanged;
 activeDocumentChanged;
 kEventHandler;
 eventHandler;
 kInitialTitle;
 IDocumentEventHandler;
 IDocumentFilter;
 IEditEnvironment;
 EditEnvironment;
 kActiveEditorChanged;
 activeEditorChanged;
 kSelectionChanged;
 selectionChanged;
 kFocusItemChanged;
 IEditTask;
 kFormName;
 formName;
 kThemeID;
 IFileIcons;
 IFileInfoFactory;
 IFileInfoComponent;
 kFileInfo1;
 fileInfo1;
 kFileInfo2;
 INavigationServer;
 IPluginPresentation;
 kAttributeChanged;
 attributeChanged;
 kSnapshotChanged;
 snapshotChanged;
 kUsageChanged;
 IPlugInSnapshots;
 kDefault;
 IPreset;
 IPresetDescriptor;
 IPresetCollection;
 IPresetCollector;
 IPresetFileHandler;
 kPresetLocationsChanged;
 IPresetMetaDataProvider;
 IPresetMediator;
 IPresetManager;
 IPresetFileRegistry;
 IPresetNotificationSink;
 IRootComponent;
 ISafetyOptionProvider;
 ISelection;
static Core::CString256 debugIndent;
static const int kPrintfBufferSize = STRING_STACK_SPACE_MAX;
 IActivatable;
 kActivate;
 activate;
 kDeactivate;
 IArrayObject;
 IMutableArray;
 IBuffer;
 IConvertFilter;
 IImportFilter;
 IExportFilter;
 IObjectConverter;
 IDataTransformer;
 IDataCompressor;
 IZLibTransformer;
 ITransformStream;
 IExtensible;
 IFormatter;
 IFormatterRange;
 kChanged;
 changed;
 kPropertyChanged;
 propertyChanged;
 kDestroyed;
 IMessage;
 ITypeInfo;
 IPropertyCollector;
 IObject;
 IObjectNode;
 ISubject;
 IObserver;
 IProgressNotify;
 IProgressDetails;
 IProgressProvider;
 IRecognizer;
 IResolver;
 kExtensionID;
 IObjectFilter;
 IStream;
 IMemoryStream;
 ITriggerPrototype;
 ITriggerAction;
 ITypeInfoDetails;
 IEnumTypeInfo;
 ITypeLibrary;
 IAssertionResult;
 ITestContext;
 ITestSuite;
 ITestCollection;
 IBluetoothStatics;
 IDeviceDescription;
 kDeviceContainerID;
 IDeviceEnumerator;
 IUsbHidStatics;
 IGadgetSite;
 IBackupItem;
 IFileInstallHandler;
 IUpdateCheckObserver;
 IContentPackageManager;
 kPackageInstalled;
 kImageViewBackground;
 background;
 kVariantViewTransitionType;
 transitionType;
 kButtonIcon;
 icon;
 kRadioButtonValue;
 value;
 kToolButtonModeParam;
 modeParam;
 kLinkViewUrl;
 url;
 kWebBrowserViewNavigator;
 navigator;
 kWebBrowserViewIsAvailable;
 IAccessibilityProvider;
 kChildProviderAdded;
 childProviderAdded;
 kChildProviderRemoved;
 IAccessibilityValueProvider;
 IAccessibilityActionProvider;
 IAccessibilityExpandCollapseProvider;
 IAccessibilityToggleProvider;
 IAccessibilityTableProvider;
 IAccessibilitySelectionProvider;
 IAccessibilitySelectionContainerProvider;
 IAccessibilityScrollProvider;
 IAccessibilityManager;
 IAlertService;
 kBeginDialog;
 beginDialog;
 kEndDialog;
 IAlertBox;
 IDialogInformation;
 IAnimation;
 IAnimationCompletionHandler;
 IBasicAnimation;
 ITransformAnimation;
 ITimingFunction;
 IAnimationHandler;
 IAnimationManager;
 IClipboard;
 IColorScheme;
 kPersistentPrefix;
GUI ColorSchemes;
 kHueLevel;
 hueLevel;
 kSaturationLevel;
 saturationLevel;
 kLuminanceLevel;
 luminanceLevel;
 kContrastLevel;
 contrastLevel;
 kColorInversion;
 colorInversion;
 kMainSchemeDependent;
 IColorSchemes;
 IColorSchemeImporter;
 ICommandSelector;
 kCommandSelected;
 commandSelected;
 kCommandFocused;
 ICommandEditor;
 ICommandBarItem;
 ICommandBarModel;
 ICommand;
 IKeyBinding;
 ICommandCategory;
 ICommandContainer;
 ICommandTable;
 kCommandsLoaded;
 CommandsLoaded;
 kBeginTransaction;
 BeginTransaction;
 kEndTransaction;
 IDialogBuilder;
 IDialogButtonInterest;
static const int kCopySharedModifer = KeyState::kCommand;
static const int kCopyRealModifer = KeyState::kOption;
 kTrashBinTargetID;
 IDragSession;
 IDragHandler;
 IDragFeedbackProvider;
 ISourceDragBlocker;
 IDrawable;
 IImageDrawable;
 IDropBox;
 kItemSuffix;
 IEditBox;
 IEmbeddedViewHost;
 IFileSelector;
 IFileSelectorHook;
 IFileSelectorCustomize;
 IFolderSelector;
 IForm;
 IStroke;
 IStrokeContainer;
 IHelpManager;
 IHelpCatalog;
 kGlobal;
 IHelpTutorial;
 global;
 kDocument;
 IHelpTutorialHandler;
 IHelpInfoViewer;
 IHelpInfoBuilder;
 IHelpInfoCollection;
 IColumnHeaderList;
 kSortColumnChanged;
 sortColumnChanged;
 kColumnRectsChanged;
 IItemSelectionIterator;
 IItemSelection;
 IItemModel;
 kItemAdded;
 itemAdded;
 kItemRemoved;
 itemRemoved;
 kItemModified;
 itemModified;
 kNewRootItem;
 newRootItem;
 kUpdateColumns;
 IItemDragTarget;
 IItemView;
 kViewAttached;
 viewAttached;
 kViewRemoved;
 viewRemoved;
 kViewFocused;
 viewFocused;
 kDragSessionStart;
 itemDragStart;
 kDragSessionDone;
 IItemViewDragHandler;
 IItemDragVerifier;
 IListView;
 IMenuBar;
 IVariantMenuBar;
 IMenuExtension;
 IMenu;
 IExtendedMenu;
 IMenuItem;
 IMouseCursor;
 IMouseHandler;
 IAutoScroller;
 ITouchCollection;
 ITouchHandler;
 ITouchInputManager;
 INamedItemIterator;
 INameNavigator;
 INotification;
 kIcon;
 kSubCategory;
 subcategory;
 kAlternativeURL;
 INotificationActionHandler;
 INotificationCenter;
 kNotificationAdded;
 notificationAdded;
 kNotificationRemoved;
 notificationRemoved;
 kNotificationUpdated;
 notificationUpdated;
 kNotificationSeen;
 notificationSeen;
 kNotificationsChanged;
 notificationsChanged;
 kInAppNotificationCategory;
 INotifyIcon;
 kContextID;
 NotifyIconContextMenu;
 kIconClicked;
 NotifyIconClicked;
 kIconDoubleClicked;
 IPaletteProvider;
 IPalette;
 IPaletteItemModel;
 IColorPaletteModel;
 kFocusColorChanged;
 IColorPalette;
 IImagePalette;
 IParameterMenuBuilder;
 IParameterMenuCustomize;
 IPopupSelector;
 IPopupSelectorClient;
 IPresentable;
 IPageSetupDialog;
 IPageRenderer;
 IPrintJob;
 IPrintService;
 IProgressDialog;
 kCancelButtonHit;
 IModalProgressDialog;
 IScrollView;
 kOnScrollBegin;
 onScrollBegin;
 kOnScrollEnd;
 onScrollEnd;
 kOnScrollUpdate;
 IScrollable;
 ISkinLoader;
 ISkinEditSupport;
 ISkinModel;
 ISkinElement;
 ISkinElementChildren;
 ISkinImageElement;
 ISkinViewElement;
 ISkinCreateArgs;
 ISprite;
 ISystemSharingHandler;
 ISystemShell;
 ITextModelProvider;
 ITextModel;
 kRequestLayoutUpdate;
 ITheme;
 IThemePainter;
 IThemeStatics;
 IThemeManager;
 ITimerTask;
 ITimer;
 ITooltipPopup;
 ITreeItem;
 ITree;
 ITreeView;
 kItemExpanded;
 IUserControl;
 IUserControlHost;
 IBackgroundView;
 IApplicationProvider;
 IUserInterface;
 IUIEventHandler;
 kSizeChanged;
 sizeChanged;
 kOnAttached;
 onAttached;
 kOnRemoved;
 IView;
 kHelpId;
 IViewChildren;
 ILayoutView;
 IControl;
 IButton;
 kOnPush;
 IEditControlHost;
 IViewIterator;
 IView3D;
 ISceneView3D;
 IViewScreenCapture;
 IViewAnimator;
 kDuration;
 duration;
 kTimingType;
 timingType;
 kFromRect;
 IVisualStyle;
 kColors;
 colors;
 kFonts;
 fonts;
 kMetrics;
 metrics;
 kStrings;
 strings;
 kOptions;
 options;
 kImages;
 images;
 kGradients;
 IVisualStyleItem;
 IWindowBase;
 IWindow;
 kRepresentedFile;
 representedFile;
 kDocumentDirty;
 documentDirty;
 kSystemView;
 systemView;
 kStatusBarStyle;
 statusBarStyle;
 kFirstResponderChanged;
 firstResponderChanged;
 kFocusViewChanged;
 focusViewChanged;
 kSystemWindowChanged;
 IWindowEventHandler;
 IDesktop;
 IWindowClassVerifier;
 IWindowClass;
 IWindowManager;
 kApplicationFormName;
 ApplicationWindow;
 kBeforeOpenWindow;
 BeforeOpenWindow;
 kWindowOpened;
 WindowOpened;
 kWindowClosed;
 IPerspective;
 kPerspectiveSelected;
 IWorkspace;
 kReplacingView;
 ReplacingView;
 IWorkspaceManager;
 IPerspectiveActivator;
 IWorkspaceEventHandler;
 IGraphicsBuffer3D;
 IBufferSegment3D;
 IBufferAllocator3D;
 IGraphicsResource3D;
 IGeometrySource3D;
 IVertexFormat3D;
 IGraphicsTexture2D;
 IGraphicsShader3D;
 IShaderValue3D;
 IShaderBufferWriter3D;
 IShaderParameterSet3D;
 IGraphicsPipeline3D;
 IGraphicsFactory3D;
 IGraphics3D;
 IGraphicsContent3D;
 IShaderParameterProvider3D;
 IMaterial3D;
 ISolidColorMaterial3D;
 kMaterialColor;
 materialColor;
 kShininess;
 ITextureMaterial3D;
 kOpacity;
 ICustomMaterial3D;
 IGeometry3D;
 IModel3D;
 IModelImporter3D;
 ISceneNode3D;
 kName;
 name;
 kParent;
 parent;
 kPosition;
 position;
 kPositionX;
 positionX;
 kPositionY;
 positionY;
 kPositionZ;
 positionZ;
 kYawAngle;
 yawAngle;
 kPitchAngle;
 pitchAngle;
 kRollAngle;
 rollAngle;
 kScaleX;
 scaleX;
 kScaleY;
 scaleY;
 kScaleZ;
 ISceneChildren3D;
 ISceneConstraints3D;
 IScene3D;
 ISceneResource3D;
 ICamera3D;
 kFieldOfViewAngle;
 ILightSource3D;
 kLightColor;
 IPointLight3D;
 kAttenuationRadius;
 attenuationRadius;
 kAttenuationMinimum;
 attenuationMinimum;
 kAttenuationLinearFactor;
 attenuationLinearFactor;
 kAttenuationConstantTerm;
 IModelNode3D;
 ISceneRenderer3D;
 ISceneHandler3D;
 ITessellator3D;
 ICubeTessellator3D;
 IGridTessellator3D;
 IUVSphereTessellator3D;
 ITransformConstraints3D;
 IFont;
 IFontTable;
 IBitmap;
 IMultiResolutionBitmap;
 IBitmapFilter;
 kColorID;
 color;
 kValueID;
 IBitmapFilterList;
 IBitmapPainter;
 IBitmapProcessor;
 IGradient;
 ILinearGradient;
 IRadialGradient;
 IGraphics;
 IGraphicsLayer;
 opacity;
 kOffsetX;
 offsetX;
 kOffsetY;
 offsetY;
 kOffset;
 offset;
 kTransform;
 IGraphicsRootLayer;
 IGraphicsLayerContent;
 IGraphicsPath;
 IImage;
 kSmall;
 small;
 kNormal;
 normal;
 kLarge;
 large;
 kIsTemplate;
 isTemplate;
 kIsAdaptive;
 IImageCache;
 IMarkupPainter;
 ITextLayout;
 IUIValue;
 IApplication;
 Application;
 kAppUriScheme;
 appUriScheme;
 kAppActivated;
 appActivated;
 kUIInitialized;
 uiInitialized;
 kAppDeactivated;
 appDeactivated;
 kAppSuspended;
 appSuspended;
 kAppResumed;
 appResumed;
 kAppTerminates;
 ICommandHandler;
 ICommandFilter;
 IContextMenu;
 IContextMenuHandler;
 IController;
 IControllerProvider;
 IDataTarget;
 INavigator;
 INavigator2;
 INavigationHistory;
 INavigationHistoryEntry;
 IParameter;
 kBeginEdit;
 beginEdit;
 kEndEdit;
 endEdit;
 kExtendMenu;
 extendMenu;
 kUpdateMenu;
 updateMenu;
 kRequestFocus;
 requestFocus;
 kReleaseFocus;
 releaseFocus;
 kSetSelection;
 setSelection;
 kRangeChanged;
 IParamCurve;
 ITickScale;
 IAliasParameter;
 kOriginalDestroyed;
 IListParameter;
 IStructuredParameter;
 ICommandParameter;
 IScrollParameter;
 kStopAnimations;
 stopAnimations;
 kAnimationAdded;
 animationAdded;
 kAnimationRemoved;
 IColorParam;
 IImageProvider;
 IParamSplitter;
 IParamObserver;
 IParamPreviewHandler;
 IPlugInViewFactory;
 IPlugInView;
 IPlugInViewFrame;
 IPlugInViewRenderer;
 IPlugInViewRendererFrame;
 IPlugInViewRepair;
 IPlugInViewParamFinder;
 IPlugInViewStatics;
 IPlugInViewManagement;
 IUserOption;
 IUserOptionList;
 IUserOptionDialog;
 IViewFactory;
 IViewState;
 IViewStateHandler;
 ILayoutStateProvider;
 IClassFactory;
 IClassFactoryUpdate;
 IPluginInstance;
 IPluginMetaClass;
 ICodeResource;
 ICodeResourceLoader;
 ICodeResourceLoaderHook;
 IComponent;
 IComponentAlias;
static const Core::InterfaceID kCoreIUnknownIID = FOUR_CHAR_ID ('I', 'U', 'n', 'k');
 ICoreClass;
 ICoreClassHandler;
 ICoreCodeLoader;
 CoreCodeLoader;
 IDebugMessage;
 IDebugMessageReceiver;
 IDebugMessageSender;
 IDebuggable;
 IDebuggableManager;
 IDebugService;
 kProtocolAttribute;
 IObjectTable;
 kHostApp;
 IClassDescription;
 IVersionDescription;
 IPlugInClassList;
 IPlugInManager;
 IPlugInScanner;
 IScriptCodeLoader;
 ScriptCodeLoader;
 IScriptingHost;
 IScriptingEnvironment;
 IScriptingManager;
 IServiceDescription;
 IServiceManager;
 IServiceNotification;
 ITypeLibRegistry;
 IAttributeList;
 IAttributeQueue;
 IAttribute;
 IAttributeFilter;
 IFileResource;
 IPersistAttributes;
 IStorable;
 IStorageHandler;
 IStorageRegistry;
 IUrl;
 IUrlFilter;
 IFileTypeFilter;
 IXmlNode;
 IAllocator;
 IAnalyticsEvent;
 IAnalyticsEventSink;
 IAnalyticsManager;
 IAnalyticsEventFilter;
 IAnalyticsTrackingPlan;
 IAnalyticsOutput;
 IAnalyticsEventClassifier;
 IAtom;
 IAtomTable;
 IDiagnosticDataProvider;
 IDiagnosticStore;
 IErrorContext;
 IErrorHandler;
 IExecutableImage;
 IExecutableIterator;
 IExecutableLoader;
 IFileDescriptor;
 kFileCreatorName;
 kFilePermissions;
 kAlternativeUrl;
 IFilePromise;
 IDownloadable;
 IFileItemProvider;
 IFileManager;
 IFileIterator;
 IFileSystem;
 IFileSystemSecurityStore;
 IFileUtilities;
 IFileTypeIterator;
 IFileTypeRegistry;
 IFileHandler;
 kOpenFile;
 IFileTypeClassifier;
 IEncryptionKeyProvider;
 ILocaleInfo;
 IGeographicRegion;
 ILocaleManager;
 kMainTableID;
 ILanguagePack;
 IMediaThreadPriorityHandler;
 IMediaThreadService;
 IMediaTimerTask;
 IMediaTimer;
 IMediaThreadWorkgroupHandler;
 IVolumeFileSystem;
 INativeFileSystem;
 INativeFileStream;
 IPackageFile;
 IFolderPackage;
 IPackageItem;
 IPackageItemWriter;
 IPackageItemFilter;
 IPackageVolume;
 IPackageHandler;
 IPackageInfo;
 IPerformanceMeter;
 IPerformanceProvider;
 IPerformanceValueProvider;
 IPerformanceViewer;
 IProtocolHandler;
 IProtocolHandlerRegistry;
 ICrashReport;
 ISafetyManager;
 ISearchDescription;
 ISearcher;
 ISearchResultSink;
 ISignalHandler;
 IStatisticsCollection;
 IStatisticsProvider;
 kStatsUpdated;
 ISystemInformation;
 IAttributeHandler;
 IHtmlWriter;
 IRegularExpression;
 IStringDictionary;
 ICStringDictionary;
 ITextBuilder;
 ITextTable;
 ITextStreamer;
 ITextWriter;
 IPlainTextWriter;
 IMarkupWriter;
 ISgmlWriter;
 ITranslationTable;
 ITranslationTableHook;
 IXmlParser;
 IXmlContentHandler;
 IXmlWriter;
static const int32 kArchiveVersion = 1;
static const ByteOrder kArchiveByteOrder = kLittleEndian;
static const String strThisFolder = CCLSTR (".");
static const String strParentFolder = CCLSTR ("..");
static const String strThisFolderPrefix = CCLSTR ("./");
static const String strParentFolderPrefix = CCLSTR ("../");
static const String strProtocolSeparator = CCLSTR ("://");
static const String strExtensionSeparator = CCLSTR (".");
static const String strFileProtocol = CCLSTR ("file");
static const String strLocalHost = CCLSTR ("localhost");
static const String strQuestionMark = CCLSTR ("?");
static const String strDoubleBackslash = CCLSTR ("\\\\");
static const String strUncPrefix1 = CCLSTR ("\\\\?\\");
static const String strUncPrefix2 = CCLSTR ("\\\\.\\");
 folder =false")   DEFINE_METHOD_ARGS ("makeUnique", "forceSuffix=false")    DEFINE_METHOD_ARGR ("toDisplayString", "", "string")   DEFINE_METHOD_ARGS ("fromDisplayString", "string;
static const String kNamespaceID = CCLSTR ("xmlns:x");
static const String kNamespaceURI = CCLSTR (CCL_PRODUCT_WEBSITE "/xml");
static const String kListID = CCLSTR ("List");
static const String kObjectID = CCLSTR ("x:id");
static const String kCharDataID = CCLSTR ("CDATA");
static StringRef kDataID = CCLSTR ("Data");
static StringID kDataValueID = CSTR ("value");
static const String kDataValueIDStr (kDataValueID);
static const uchar kStringEscapeChar = 0xFFF9;
static const uchar kStringEscapeSequence [2] = {kStringEscapeChar, 0};
static const String kStringEscapeLiteral (kStringEscapeSequence);
 IPlugInVersionProvider;
 IPlugInManagementExtension;
String type2 = item2->getDetails ().getString (PlugInListItem::kTypeID);
static bool inMainAppModule = false;
static const FileType MemoryPresetType ("Memory Preset", "mempreset", CCL_MIME_TYPE "-memorypreset");

// global functions

static FormatterFactoryList& getFormatterFactories ();

template  <typename T>
void share_and_observe_unknown (
    IObserver* This,
    T*& member,
    T* value
);

template  <typename T>
bool assign_and_observe_unknown (
    IObserver* This,
    T*& member,
    T* value
);

bool ccl_is_base_of (const ITypeInfo* baseType, const ITypeInfo* derivedType);
bool isEqualUnknown (IUnknown* u1, IUnknown* u2);

template  <class T>
AutoPtr <ICommandHandler> makeCommandDelegate (
    T* handler,
    typename CommandDelegate <T>::CommandDelegateMethod method,
    IUnknown* data
);

template  <class T>
AutoPtr <ICommandHandler> makeCommandDelegate (
    T* handler,
    typename CommandDelegate <T>::CommandDelegateMethod method,
    VariantRef data
);

template  <class Lambda>
AutoPtr <ICommandHandler> makeCommandDelegate (
    const Lambda& interpret,
    IUnknown* data
);

template  <class Lambda>
AutoPtr <ICommandHandler> makeCommandDelegate (
    const Lambda& interpret,
    VariantRef data
);

IUnknown* GetViewInterfaceUpwards (UIDRef iid, IView* view);

template  <class T>
T* GetViewInterfaceUpwards (IView* view);

PointF3D operator * (float n, PointF3DRef p);
PointF3D operator * (PointF3DRef p, Transform3DRef& t);
PointF3D operator * (Transform3DRef& t, PointF3DRef p);
Coord coordFToInt (CoordF c);
Point pointFToInt (PointFRef p);
PointF pointIntToF (PointRef p);

bool getIntersectionPointF (
    PointF& result,
    PointFRef a1,
    PointFRef a2,
    PointFRef b1,
    PointFRef b2
);

bool getIntersectionPoint (
    Point& result,
    PointRef a1,
    PointRef a2,
    PointRef b1,
    PointRef b2
);

Rect rectFToInt (RectFRef r);
RectF rectIntToF (RectRef r);

template  <int digits, typename float>
float ccl_round (float v);

template  <typename T>
T ccl_modulus (T dividend, T base);

template  <typename IntType>
IntType ccl_gcd (IntType a, IntType b);

template  <typename IntType>
IntType ccl_lcm (IntType a, IntType b);

uint32 ccl_upperPowerOf2 (uint32 value);

template  <typename float>
float ccl_normalize (
    float value,
    float min,
    float max
);

template  <typename float>
float ccl_fromNormalized (
    float normalized,
    float min,
    float max
);

template  <typename T>
T ccl_getOverlap (T start1, T end1, T start2, T end2);

IUnknown* GetIUnknownFromCoreInterface (Core::IPropertyHandler* handler);

template  <class Class, class Interface>
bool ImplementCoreGetIUnknownInterface (
    Class* This,
    Core::Property& value
);

template  <class Interface>
Interface* ccl_new (UIDRef cid = kNullUID);

template  <class Interface>
Interface* ccl_new (StringRef className);

void ccl_release (IUnknown* obj);
const IClassDescription* ccl_classof (IUnknown* obj);
void ccl_forceGC ();
bool ccl_markGC (IUnknown* obj);

MutableCString ccl_analytics_classify (
    IAnalyticsEvent& e,
    IAnalyticsEventClassifier* eventClassifier
);

void setFloatEnv ();
std::string toStdString (StringRef string, TextEncoding encoding = Text::kUTF8);

String fromStdString (
    const std::string& string,
    TextEncoding encoding = Text::kUTF8
);

template  <class T>
MetaClassRef ccl_typeid ();

template  <class T>
const T* ccl_cast (const Object* obj);

template  <class T>
T* ccl_cast (Object* obj);

template  <class T>
const T* ccl_strict_cast (const Object* obj);

template  <class T>
T* ccl_strict_cast (Object* obj);

template  <class Class>
Class* unknown_cast (const IUnknown* unk);

Object* unknown_cast< Object > (const IUnknown* unk);
IUnknown* ccl_as_unknown (Object* object);
IUnknown* ccl_as_unknown (const Object* object);
IUnknown* ccl_as_unknown (Object& object);
IUnknown* ccl_as_unknown (const Object& object);

template  <class IFace>
IFace* ccl_as_unknown (Object* object);

static const DEFINE_FOURCC (kArchiveID, '.', 'c', 'c', 'l');
static const DEFINE_FOURCC (kAttributesID, 'a', 't', 't', 'r');
DEFINE_CLASS (UrlWithTitle, Url);
DEFINE_CLASS (Url, Object);
BEGIN_PROPERTY_NAMES (Url);
BEGIN_METHOD_NAMES (Url);
static IImage* createTextIcon (StringRef text, FontRef font);
DEFINE_ARRAY_COMPARE (sortByType, ListViewItem, item1, item2);

return type1 compareWithOptions (
    type2,
    Text::kIgnoreCase|Text::kIgnoreDiacritic
);

static static DEFINE_ARRAY_COMPARE (SortByTitle, ListViewItem, lhs, rhs);

CCL::DocumentDiagnosticDialog::DiagnosticList ListViewModel DEFINE_ARRAY_COMPARE (
    sortByName,
    DiagnosticListViewItem,
    item1,
    item2
);

} // namespace CCL

Detailed Documentation

Typedefs

typedef CStringRef StringID

String identifier.

typedef uint8 UIDBuffer[16]

16 byte buffer for handling UIDs in an endian-safe way.

typedef const ItemIndex& ItemIndexRef

Item index reference.

typedef ObservedPtr <IView> ViewPtr

Observed view pointer class.

typedef ThemeElements::MetricID ThemeMetricID

Theme metric type.

typedef ThemeElements::ColorID ThemeColorID

Theme color type.

typedef ThemeElements::FontID ThemeFontID

Theme font type.

typedef ThemeElements::CursorID ThemeCursorID

Theme cursor type.

typedef ThemeElements::ElementID ThemeElementID

Theme element type.

typedef ThemeElements::ElementState ThemeElementState

Theme element state.

typedef const BoundingSphere3D& BoundingSphere3DRef

Bounding sphere reference type.

typedef const PointF3D& PointF3DRef

3D Point reference.

typedef const PointF4D& PointF4DRef

4D Point reference.

typedef const Ray3D& Ray3DRef

3D Ray reference.

typedef const Transform3D& Transform3DRef

3D Transformation Matrix reference.

typedef const TextFormat& TextFormatRef

Text format reference type.

typedef const Transform& TransformRef

2D Transformation Matrix reference.

typedef const CommandMsg& CmdArgs

Command arguments.

typedef IClassFactory* (CCL_API* CCLGetClassFactoryProc)()

Main “C” entry point for Plug-Ins named “CCLGetClassFactory”.

typedef IStubObject* (CCL_API* StubConstructor)(
    UIDRef iid,
    IObject *object,
    IUnknown *outerUnknown
    )

Stub constructor.

typedef const Scripting::IScript& ScriptRef

Script reference.

typedef DateTime FileTime

File time type.

typedef Text::Encoding TextEncoding

Text Encoding Type.

typedef Text::LineFormat TextLineFormat

Text Line Format Type.

typedef const MetaClass& MetaClassRef

Meta class reference.

Global Variables

 kChanged

Object state changed, no further information.

 changed

A property of the object has changed (IObject::getProperty).

 propertyChanged

Object is about to be destroyed.

 background

< ImageView background [IImage]

 transitionType

< VariantView transition type [TransitionType]

 icon

< Button icon [IImage]

 value

< RadioButton value [int/float]

 modeParam

< ToolButton mode parameter [IParameter]

 url

< LinkView URL [IUrl]

 navigator

<INavigator instance of WebBrowserView

 kSizeChanged

Update messages sent by some views on certain events.

Global Functions

template  <typename T>
void share_and_observe_unknown (
    IObserver* This,
    T*& member,
    T* value
)

Assign IUnknown variable with reference counting and observer registration.

template  <typename T>
bool assign_and_observe_unknown (
    IObserver* This,
    T*& member,
    T* value
)

Assign IUnknown variable with observer registration but without reference counting.

bool isEqualUnknown (IUnknown* u1, IUnknown* u2)

Compare canonical IUnknown.

ATTENTION: Reference count is modified, must not be called in dtor!

Coord coordFToInt (CoordF c)

Convert float to integer coordinate.

Point pointFToInt (PointFRef p)

Convert float to integer point.

PointF pointIntToF (PointRef p)

Convert integer to float point.

bool getIntersectionPointF (
    PointF& result,
    PointFRef a1,
    PointFRef a2,
    PointFRef b1,
    PointFRef b2
)

Get intersection of line segments a and b.

(float)

bool getIntersectionPoint (
    Point& result,
    PointRef a1,
    PointRef a2,
    PointRef b1,
    PointRef b2
)

Get intersection of line segments a and b.

(integer)

Rect rectFToInt (RectFRef r)

Convert float to integer rectangle.

RectF rectIntToF (RectRef r)

Convert integer to float rectangle.

template  <int digits, typename float>
float ccl_round (float v)

Round to the given number of digits.

template  <typename T>
T ccl_modulus (T dividend, T base)

Calculate the remainder of the euclidean division.

Unlike the % operator, the result is always positive and between 0 and base - 1 (also for a negative dividend).

template  <typename IntType>
IntType ccl_gcd (IntType a, IntType b)

Calculate the greatest common divisor of two integers.

template  <typename IntType>
IntType ccl_lcm (IntType a, IntType b)

Calculate the least common multiple of two integers.

uint32 ccl_upperPowerOf2 (uint32 value)

Round up to the nearest power of 2.

template  <typename float>
float ccl_normalize (
    float value,
    float min,
    float max
)

Normalize a value to the given range.

template  <typename float>
float ccl_fromNormalized (
    float normalized,
    float min,
    float max
)

DeNormalize a value to the given range.

template  <typename T>
T ccl_getOverlap (T start1, T end1, T start2, T end2)

Calculate overlap amout of 2 ranges.

result is <= 0 when ranges do not overlap

template  <class Interface>
Interface* ccl_new (UIDRef cid = kNullUID)

Shortcut to create instance via Plug-in Manager.

template  <class Interface>
Interface* ccl_new (StringRef className)

Shorcut to create instance via Plug-in Manager by class name.

void ccl_release (IUnknown* obj)

Shortcut to release instance via Plug-in Manager.

const IClassDescription* ccl_classof (IUnknown* obj)

Shortcut to get class of existing instance via Plug-in Manager.

void ccl_forceGC ()

Shortcut to force garbage collection via Scripting Manager.

bool ccl_markGC (IUnknown* obj)

Shortcut to remove object reference via Scripting Manager.

MutableCString ccl_analytics_classify (
    IAnalyticsEvent& e,
    IAnalyticsEventClassifier* eventClassifier
)

Build a string combining kApplicationContext from event data and context provided by classifier.

std::string toStdString (StringRef string, TextEncoding encoding = Text::kUTF8)

Convert CCL::String (UTF-16) to std::string with given text encoding.

String fromStdString (
    const std::string& string,
    TextEncoding encoding = Text::kUTF8
)

Convert std::string with given text encoding to CCL::String (UTF-16).

template  <class T>
MetaClassRef ccl_typeid ()

Returns meta class of specified class.

template  <class T>
const T* ccl_cast (const Object* obj)

Cast object pointer to specified class.

template  <class T>
const T* ccl_strict_cast (const Object* obj)

Cast object pointer to specified class if object is exactly of that class (not derived from).

template  <class Class>
Class* unknown_cast (const IUnknown* unk)

Cast interface to object pointer.

Object* unknown_cast< Object > (const IUnknown* unk)

Cast interface to object pointer.

Specialization for CCL::Object (for performance)

IUnknown* ccl_as_unknown (Object* object)

Cast object to IUnknown pointer.

IUnknown* ccl_as_unknown (Object& object)

Cast object reference to IUnknown pointer.

template  <class IFace>
IFace* ccl_as_unknown (Object* object)

Cast object to interface pointer.