]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/layout/unicode/loengine.h
ICU-6.2.15.tar.gz
[apple/icu.git] / icuSources / layout / unicode / loengine.h
diff --git a/icuSources/layout/unicode/loengine.h b/icuSources/layout/unicode/loengine.h
deleted file mode 100644 (file)
index 76612cd..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- *
- * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
- *
- */
-
-#ifndef __LOENGINE_H
-#define __LOENGINE_H
-
-#include "unicode/utypes.h"
-#include "unicode/uobject.h"
-#include "unicode/uscript.h"
-#include "unicode/unistr.h"
-
-#include "layout/LETypes.h"
-#include "layout/LayoutEngine.h"
-
-U_NAMESPACE_BEGIN
-
-/**
- * This is a wrapper class designed to allow ICU clients to
- * use LayoutEngine in a way that is consistent with the rest
- * of ICU.
- *
- * (LayoutEngine was developed seperately from ICU and
- * the same source is used in non-ICU environments, so it cannot
- * be changed to match ICU coding conventions).
- *
- * This class is designed for clients who wish to use LayoutEngine
- * to layout complex text. If you need to subclass LayoutEngine,
- * you'll need to use the LayoutEngine interfaces directly.
- *
- * Basically, it creates an instance of LayoutEngine, stashes
- * it in fLayoutEngine, and uses it to implement the layout
- * functionality.
- *
- * Use the createInstance method to create an ICULayoutEngine. Use
- * delete to destroy it. The layoutChars method computes the glyphs
- * and positions, and saves them in the ICULayoutEngine object.
- * Use getGlyphs, getPositions and getCharIndices to retreive this
- * data.
- *
- * You'll also need an implementation of LEFontInstance for your platform.
- *
- * @see LayoutEngine.h
- * @see LEFontInstance.h
- *
- * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
- */
-#ifndef U_HIDE_OBSOLETE_API
-class U_LAYOUT_API ICULayoutEngine : public UObject {
-private:
-    /**
-     * This holds the instance of LayoutEngine that does all
-     * the work.
-     */
-    LayoutEngine *fLayoutEngine;
-
-    /**
-     * This no argument constructor is private so that clients
-     * can't envoke it. Clients should use createInstance.
-     *
-     * @see createInstance
-     */
-    ICULayoutEngine();
-
-    /**
-     * The main constructor. It is defined as private to
-     * stop clients from invoking it. Clients should use
-     * createInstance.
-     *
-     * @param layoutEngine - the LayoutEngine that this instance wraps.
-     *
-     * @see createInstance
-     */
-    ICULayoutEngine(LayoutEngine *layoutEngine);
-
-public:
-
-    /**
-     * The destructor. At least on Windows it needs to be
-     * virtual to ensure that it deletes the object from the
-     * same heap that createInstance will allocate it from. We
-     * don't know why this is...
-     *
-     * @see createInstance
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    virtual ~ICULayoutEngine();
-
-    /**
-     * This method computes the glyph, character index and position arrays
-     * for the input characters.
-     *
-     * @param chars - the input character context
-     * @param startOffset - the starting offset of the characters to process
-     * @param endOffset - the ending offset of the characters to process
-     * @param maxOffset - the number of characters in the input context
-     * @param rightToLeft - TRUE if the characers are in a right to left directional run
-     * @param x - the initial X position
-     * @param y - the initial Y position
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @return the number of glyphs in the glyph array
-     *
-     * Note; the glyph, character index and position array can be accessed
-     * using the getter method below.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    int32_t layoutChars(const UChar chars[],
-                        int32_t startOffset,
-                        int32_t endOffset,
-                        int32_t maxOffset,
-                        UBool rightToLeft,
-                        float x, float y,
-                        UErrorCode &success);
-
-
-    /**
-     * This method computes the glyph, character index and position arrays
-     * for the input characters.
-     *
-     * @param str - the input character context
-     * @param startOffset - the starting offset of the characters to process
-     * @param endOffset - the ending offset of the characters to process
-     * @param rightToLeft - TRUE if the characers are in a right to left directional run
-     * @param x - the initial X position
-     * @param y - the initial Y position
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @return the number of glyphs in the glyph array
-     *
-     * Note; the glyph, character index and position array can be accessed
-     * using the getter method below.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    int32_t layoutString(const UnicodeString &str,
-                         int32_t startOffset,
-                         int32_t endOffset,
-                         UBool rightToLeft,
-                         float x, float y,
-                         UErrorCode &success);
-
-    /**
-     * This method returns the number of glyphs in the glyph array. Note
-     * that the number of glyphs will be greater than or equal to the number
-     * of characters used to create the LayoutEngine.
-     *
-     * @return the number of glyphs in the glyph array
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    int32_t countGlyphs() const;
-
-    /**
-     * This method copies the glyph array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold all
-     * the glyphs.
-     *
-     * @param glyphs - the destiniation glyph array
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getGlyphs(uint32_t glyphs[], UErrorCode &success);
-
-    /**
-     * This method copies the character index array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold a character
-     * index for each glyph.
-     *
-     * @param charIndices - the destiniation character index array
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getCharIndices(int32_t charIndices[], UErrorCode &success);
-
-    /**
-     * This method copies the character index array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold a character
-     * index for each glyph.
-     *
-     * @param charIndices - the destiniation character index array
-     * @param indexBase - an offset which will be added to each index
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getCharIndices(int32_t charIndices[], int32_t indexBase, UErrorCode &success);
-
-    /**
-     * This method copies the position array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold an
-     * X and Y position for each glyph, plus an extra X and Y for the
-     * advance of the last glyph.
-     *
-     * @param positions - the destiniation position array
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getGlyphPositions(float positions[], UErrorCode &success);
-
-    /**
-     * This method returns the X and Y position of the glyph at the
-     * given index.
-     *
-     * Input parameters:
-     * @param glyphIndex - the index of the glyph
-     *
-     * Output parameters:
-     * @param x - the glyph's X position
-     * @param y - the glyph's Y position
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getGlyphPosition(int32_t glyphIndex, float &x, float &y, UErrorCode &success);
-
-    /**
-     * This method returns an ICULayoutEngine capable of laying out text
-     * in the given font, script and langauge.
-     *
-     * @param fontInstance - the font of the text
-     * @param scriptCode - the script of the text
-     * @param locale - used to determine the language of the text
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @return an ICULayoutEngine which can layout text in the given font.
-     *
-     * NOTE: currently, locale is ignored...
-     *
-     * @see LEFontInstance
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    static ICULayoutEngine *createInstance(const LEFontInstance *fontInstance,
-                                           UScriptCode scriptCode, Locale &locale,
-                                           UErrorCode &success);
-
-    /**
-     * ICU "poor man's RTTI", returns a UClassID for the actual class.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    virtual UClassID getDynamicClassID() const;
-
-    /**
-     * ICU "poor man's RTTI", returns a UClassID for this class.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    static UClassID getStaticClassID();
-};
-
-inline ICULayoutEngine::ICULayoutEngine()
-{
-    // nothing at all...
-}
-
-inline ICULayoutEngine::ICULayoutEngine(LayoutEngine *layoutEngine)
-    : fLayoutEngine(layoutEngine)
-{
-    // nothing else to do
-}
-
-inline ICULayoutEngine::~ICULayoutEngine()
-{
-    delete fLayoutEngine;
-    fLayoutEngine = 0;
-}
-
-inline int32_t ICULayoutEngine::layoutChars(const UChar chars[],
-                                            int32_t startOffset,
-                                            int32_t endOffset,
-                                            int32_t maxOffset,
-                                            UBool rightToLeft,
-                                            float x, float y,
-                                            UErrorCode &success)
-{
-    // NOTE: call reset() so that clients can safely reuse
-    fLayoutEngine->reset();
-    return fLayoutEngine->layoutChars(chars,
-                                      startOffset,
-                                      endOffset - startOffset,
-                                      maxOffset,
-                                      rightToLeft,
-                                      x, y,
-                                      (LEErrorCode &) success);
-}
-
-inline int32_t ICULayoutEngine::layoutString(const UnicodeString &str,
-                                            int32_t startOffset,
-                                            int32_t endOffset,
-                                            UBool rightToLeft,
-                                            float x, float y,
-                                            UErrorCode &success)
-{
-    // NOTE: call reset() so that clients can safely reuse
-    fLayoutEngine->reset();
-    return fLayoutEngine->layoutChars(str.getBuffer(),
-                                      startOffset,
-                                      endOffset - startOffset,
-                                      str.length(),
-                                      rightToLeft,
-                                      x, y,
-                                      (LEErrorCode &) success);
-}
-
-inline int32_t ICULayoutEngine::countGlyphs() const
-{
-    return fLayoutEngine->getGlyphCount();
-}
-
-inline void ICULayoutEngine::getGlyphs(uint32_t glyphs[], UErrorCode &success)
-{
-    fLayoutEngine->getGlyphs(glyphs, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getCharIndices(int32_t charIndices[], UErrorCode &success)
-{
-    fLayoutEngine->getCharIndices(charIndices, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getCharIndices(int32_t charIndices[], int32_t indexBase, UErrorCode &success)
-{
-    fLayoutEngine->getCharIndices(charIndices, indexBase, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getGlyphPositions(float positions[], UErrorCode &success)
-{
-    fLayoutEngine->getGlyphPositions(positions, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getGlyphPosition(int32_t glyphIndex, float &x, float &y, UErrorCode &success)
-{
-    fLayoutEngine->getGlyphPosition(glyphIndex, x, y, (LEErrorCode &) success);
-}
-
-inline ICULayoutEngine *ICULayoutEngine::createInstance(const LEFontInstance *fontInstance,
-                                                        UScriptCode scriptCode,
-                                                        Locale &locale, UErrorCode &success)
-{
-    LayoutEngine *engine = LayoutEngine::layoutEngineFactory(fontInstance,
-                                                             (le_int32) scriptCode,
-                                                             0,
-                                                             (LEErrorCode &) success);
-
-    return new ICULayoutEngine(engine);
-}
-#endif // U_HIDE_OBSOLETE_API
-
-U_NAMESPACE_END
-#endif