]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/layout/LEInsertionList.cpp
ICU-64232.0.1.tar.gz
[apple/icu.git] / icuSources / layout / LEInsertionList.cpp
diff --git a/icuSources/layout/LEInsertionList.cpp b/icuSources/layout/LEInsertionList.cpp
deleted file mode 100644 (file)
index c64b8a1..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- **********************************************************************
- *   Copyright (C) 1998-2008, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- **********************************************************************
- */
-
-#include "LETypes.h"
-#include "LEInsertionList.h"
-
-U_NAMESPACE_BEGIN
-
-#define ANY_NUMBER 1
-
-struct InsertionRecord
-{
-    InsertionRecord *next;
-    le_int32 position;
-    le_int32 count;
-    LEGlyphID glyphs[ANY_NUMBER];
-};
-
-UOBJECT_DEFINE_RTTI_IMPLEMENTATION(LEInsertionList)
-
-LEInsertionList::LEInsertionList(le_bool rightToLeft)
-: head(NULL), tail(NULL), growAmount(0), append(rightToLeft)
-{
-    tail = (InsertionRecord *) &head;
-}
-
-LEInsertionList::~LEInsertionList()
-{
-    reset();
-}
-
-void LEInsertionList::reset()
-{
-    while (head != NULL) {
-        InsertionRecord *record = head;
-
-        head = head->next;
-        LE_DELETE_ARRAY(record);
-    }
-
-    tail = (InsertionRecord *) &head;
-    growAmount = 0;
-}
-
-le_int32 LEInsertionList::getGrowAmount()
-{
-    return growAmount;
-}
-
-LEGlyphID *LEInsertionList::insert(le_int32 position, le_int32 count, LEErrorCode &success)
-{
-    if (LE_FAILURE(success)) {
-        return 0;
-    }
-
-    InsertionRecord *insertion = (InsertionRecord *) LE_NEW_ARRAY(char, sizeof(InsertionRecord) + (count - ANY_NUMBER) * sizeof (LEGlyphID));
-    if (insertion == NULL) { 
-        success = LE_MEMORY_ALLOCATION_ERROR;
-        return 0;
-    }
-
-    insertion->position = position;
-    insertion->count = count;
-
-    growAmount += count - 1;
-
-    if (append) {
-        // insert on end of list...
-        insertion->next = NULL;
-        tail->next = insertion;
-        tail = insertion;
-    } else {
-        // insert on front of list...
-        insertion->next = head;
-        head = insertion;
-    }
-
-    return insertion->glyphs;
-}
-
-le_bool LEInsertionList::applyInsertions(LEInsertionCallback *callback)
-{
-    for (InsertionRecord *rec = head; rec != NULL; rec = rec->next) {
-        if (callback->applyInsertion(rec->position, rec->count, rec->glyphs)) {
-            return TRUE;
-        }
-    }
-
-    return FALSE;
-}
-
-U_NAMESPACE_END