Introduce CSSNodeGetInstanceCount API
Reviewed By: emilsjolander Differential Revision: D3981990 fbshipit-source-id: 98005ae1fc21d4c8802f24030fff9ffb00bd292d
This commit is contained in:
Родитель
f0a3a25cd2
Коммит
dd6d297c55
|
@ -129,9 +129,12 @@ computedEdgeValue(const float edges[CSSEdgeCount], const CSSEdge edge, const flo
|
|||
return defaultValue;
|
||||
}
|
||||
|
||||
static int32_t gNodeInstanceCount = 0;
|
||||
|
||||
CSSNodeRef CSSNodeNew() {
|
||||
const CSSNodeRef node = calloc(1, sizeof(CSSNode));
|
||||
CSS_ASSERT(node, "Could not allocate memory for node");
|
||||
gNodeInstanceCount++;
|
||||
|
||||
CSSNodeInit(node);
|
||||
return node;
|
||||
|
@ -140,6 +143,7 @@ CSSNodeRef CSSNodeNew() {
|
|||
void CSSNodeFree(const CSSNodeRef node) {
|
||||
CSSNodeListFree(node->children);
|
||||
free(node);
|
||||
gNodeInstanceCount--;
|
||||
}
|
||||
|
||||
void CSSNodeFreeRecursive(const CSSNodeRef root) {
|
||||
|
@ -151,6 +155,10 @@ void CSSNodeFreeRecursive(const CSSNodeRef root) {
|
|||
CSSNodeFree(root);
|
||||
}
|
||||
|
||||
int32_t CSSNodeGetInstanceCount() {
|
||||
return gNodeInstanceCount;
|
||||
}
|
||||
|
||||
void CSSNodeInit(const CSSNodeRef node) {
|
||||
node->parent = NULL;
|
||||
node->children = CSSNodeListNew(4);
|
||||
|
|
|
@ -127,6 +127,7 @@ WIN_EXPORT CSSNodeRef CSSNodeNew();
|
|||
WIN_EXPORT void CSSNodeInit(const CSSNodeRef node);
|
||||
WIN_EXPORT void CSSNodeFree(const CSSNodeRef node);
|
||||
WIN_EXPORT void CSSNodeFreeRecursive(const CSSNodeRef node);
|
||||
WIN_EXPORT int32_t CSSNodeGetInstanceCount();
|
||||
|
||||
WIN_EXPORT void CSSNodeInsertChild(const CSSNodeRef node, const CSSNodeRef child, const uint32_t index);
|
||||
WIN_EXPORT void CSSNodeRemoveChild(const CSSNodeRef node, const CSSNodeRef child);
|
||||
|
|
Загрузка…
Ссылка в новой задаче