X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/249c4c5ea9376c24572daf9c2effa7484a282f14..3d1f044b704633e2e541231cd17ae9ecf9ad5c7a:/icuSources/layout/LEInsertionList.h diff --git a/icuSources/layout/LEInsertionList.h b/icuSources/layout/LEInsertionList.h deleted file mode 100644 index e4568a7a..00000000 --- a/icuSources/layout/LEInsertionList.h +++ /dev/null @@ -1,177 +0,0 @@ -/* - ********************************************************************** - * Copyright (C) 1998-2014, International Business Machines - * Corporation and others. All Rights Reserved. - ********************************************************************** - */ - -#ifndef __LEINSERTIONLIST_H -#define __LEINSERTIONLIST_H - -#include "LETypes.h" - -U_NAMESPACE_BEGIN - -struct InsertionRecord; - -#ifndef U_HIDE_INTERNAL_API -/** - * This class encapsulates the callback used by LEInsertionList - * to apply an insertion from the insertion list. - * - * @internal - */ -class U_LAYOUT_API LEInsertionCallback -{ -public: - /** - * This method will be called by LEInsertionList::applyInsertions for each - * entry on the insertion list. - * - * @param atPosition the position of the insertion - * @param count the number of glyphs to insert - * @param newGlyphs the address of the glyphs to insert - * - * @return TRUE if LEInsertions::applyInsertions should - * stop after applying this insertion. - * - * @internal - */ - virtual le_bool applyInsertion(le_int32 atPosition, le_int32 count, LEGlyphID newGlyphs[]) = 0; - - /** - * The destructor - */ - virtual ~LEInsertionCallback(); -}; - -/** - * This class is used to keep track of insertions to an array of - * LEGlyphIDs. The insertions are kept on a linked - * list of InsertionRecords so that the glyph array - * doesn't have to be grown for each insertion. The insertions are - * stored on the list from leftmost to rightmost to make it easier - * to do the insertions. - * - * The insertions are applied to the array by calling the - * applyInsertions method, which calls a client - * supplied LEInsertionCallback object to actually - * apply the individual insertions. - * - * @internal - */ -class LEInsertionList : public UObject -{ -public: - /** - * Construct an empty insertion list. - * - * @param rightToLeft TRUE if the glyphs are stored - * in the array in right to left order. - * - * @internal - */ - LEInsertionList(le_bool rightToLeft); - - /** - * The destructor. - */ - ~LEInsertionList(); - - /** - * Add an entry to the insertion list. - * - * @param position the glyph at this position in the array will be - * replaced by the new glyphs. - * @param count the number of new glyphs - * @param success set to an error code if the auxillary data cannot be retrieved. - * - * @return the address of an array in which to store the new glyphs. This will - * not be in the glyph array. - * - * @internal - */ - LEGlyphID *insert(le_int32 position, le_int32 count, LEErrorCode &success); - - /** - * Return the number of new glyphs that have been inserted. - * - * @return the number of new glyphs which have been inserted - * - * @internal - */ - le_int32 getGrowAmount(); - - /** - * Call the LEInsertionCallback once for each - * entry on the insertion list. - * - * @param callback the LEInsertionCallback to call for each insertion. - * - * @return TRUE if callback returned TRUE to - * terminate the insertion list processing. - * - * @internal - */ - le_bool applyInsertions(LEInsertionCallback *callback); - - /** - * Empty the insertion list and free all associated - * storage. - * - * @internal - */ - void reset(); - - /** - * ICU "poor man's RTTI", returns a UClassID for the actual class. - * - * @deprecated ICU 54. See {@link icu::LayoutEngine} - */ - virtual UClassID getDynamicClassID() const; - - /** - * ICU "poor man's RTTI", returns a UClassID for this class. - * - * @deprecated ICU 54. See {@link icu::LayoutEngine} - */ - static UClassID getStaticClassID(); - -private: - - /** - * The head of the insertion list. - * - * @internal - */ - InsertionRecord *head; - - /** - * The tail of the insertion list. - * - * @internal - */ - InsertionRecord *tail; - - /** - * The total number of new glyphs on the insertion list. - * - * @internal - */ - le_int32 growAmount; - - /** - * Set to TRUE if the glyphs are in right - * to left order. Since we want the rightmost insertion - * to be first on the list, we need to append the - * insertions in this case. Otherwise they're prepended. - * - * @internal - */ - le_bool append; -}; -#endif /* U_HIDE_INTERNAL_API */ - -U_NAMESPACE_END -#endif -