mirror of
https://github.com/status-im/react-native.git
synced 2025-01-14 03:26:07 +00:00
Remove duplicate copy of CSSLayout
Reviewed By: astreet Differential Revision: D4231769 fbshipit-source-id: e5b6fec5788659c8f4fc6302bef8a8a8464faea5
This commit is contained in:
parent
fc502704b7
commit
2f01cbd026
@ -1,108 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the BSD-style license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree. An additional grant
|
|
||||||
* of patent rights can be found in the PATENTS file in the same directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef enum CSSOverflow {
|
|
||||||
CSSOverflowVisible,
|
|
||||||
CSSOverflowHidden,
|
|
||||||
CSSOverflowScroll,
|
|
||||||
CSSOverflowCount,
|
|
||||||
} CSSOverflow;
|
|
||||||
|
|
||||||
typedef enum CSSJustify {
|
|
||||||
CSSJustifyFlexStart,
|
|
||||||
CSSJustifyCenter,
|
|
||||||
CSSJustifyFlexEnd,
|
|
||||||
CSSJustifySpaceBetween,
|
|
||||||
CSSJustifySpaceAround,
|
|
||||||
CSSJustifyCount,
|
|
||||||
} CSSJustify;
|
|
||||||
|
|
||||||
typedef enum CSSFlexDirection {
|
|
||||||
CSSFlexDirectionColumn,
|
|
||||||
CSSFlexDirectionColumnReverse,
|
|
||||||
CSSFlexDirectionRow,
|
|
||||||
CSSFlexDirectionRowReverse,
|
|
||||||
CSSFlexDirectionCount,
|
|
||||||
} CSSFlexDirection;
|
|
||||||
|
|
||||||
typedef enum CSSAlign {
|
|
||||||
CSSAlignAuto,
|
|
||||||
CSSAlignFlexStart,
|
|
||||||
CSSAlignCenter,
|
|
||||||
CSSAlignFlexEnd,
|
|
||||||
CSSAlignStretch,
|
|
||||||
CSSAlignCount,
|
|
||||||
} CSSAlign;
|
|
||||||
|
|
||||||
typedef enum CSSEdge {
|
|
||||||
CSSEdgeLeft,
|
|
||||||
CSSEdgeTop,
|
|
||||||
CSSEdgeRight,
|
|
||||||
CSSEdgeBottom,
|
|
||||||
CSSEdgeStart,
|
|
||||||
CSSEdgeEnd,
|
|
||||||
CSSEdgeHorizontal,
|
|
||||||
CSSEdgeVertical,
|
|
||||||
CSSEdgeAll,
|
|
||||||
CSSEdgeCount,
|
|
||||||
} CSSEdge;
|
|
||||||
|
|
||||||
typedef enum CSSWrap {
|
|
||||||
CSSWrapNoWrap,
|
|
||||||
CSSWrapWrap,
|
|
||||||
CSSWrapCount,
|
|
||||||
} CSSWrap;
|
|
||||||
|
|
||||||
typedef enum CSSDirection {
|
|
||||||
CSSDirectionInherit,
|
|
||||||
CSSDirectionLTR,
|
|
||||||
CSSDirectionRTL,
|
|
||||||
CSSDirectionCount,
|
|
||||||
} CSSDirection;
|
|
||||||
|
|
||||||
typedef enum CSSExperimentalFeature {
|
|
||||||
CSSExperimentalFeatureRounding,
|
|
||||||
CSSExperimentalFeatureWebFlexBasis,
|
|
||||||
CSSExperimentalFeatureCount,
|
|
||||||
} CSSExperimentalFeature;
|
|
||||||
|
|
||||||
typedef enum CSSLogLevel {
|
|
||||||
CSSLogLevelError,
|
|
||||||
CSSLogLevelWarn,
|
|
||||||
CSSLogLevelInfo,
|
|
||||||
CSSLogLevelDebug,
|
|
||||||
CSSLogLevelVerbose,
|
|
||||||
CSSLogLevelCount,
|
|
||||||
} CSSLogLevel;
|
|
||||||
|
|
||||||
typedef enum CSSDimension {
|
|
||||||
CSSDimensionWidth,
|
|
||||||
CSSDimensionHeight,
|
|
||||||
CSSDimensionCount,
|
|
||||||
} CSSDimension;
|
|
||||||
|
|
||||||
typedef enum CSSMeasureMode {
|
|
||||||
CSSMeasureModeUndefined,
|
|
||||||
CSSMeasureModeExactly,
|
|
||||||
CSSMeasureModeAtMost,
|
|
||||||
CSSMeasureModeCount,
|
|
||||||
} CSSMeasureMode;
|
|
||||||
|
|
||||||
typedef enum CSSPositionType {
|
|
||||||
CSSPositionTypeRelative,
|
|
||||||
CSSPositionTypeAbsolute,
|
|
||||||
CSSPositionTypeCount,
|
|
||||||
} CSSPositionType;
|
|
||||||
|
|
||||||
typedef enum CSSPrintOptions {
|
|
||||||
CSSPrintOptionsLayout = 1,
|
|
||||||
CSSPrintOptionsStyle = 2,
|
|
||||||
CSSPrintOptionsChildren = 4,
|
|
||||||
CSSPrintOptionsCount,
|
|
||||||
} CSSPrintOptions;
|
|
File diff suppressed because it is too large
Load Diff
@ -1,184 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the BSD-style license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree. An additional grant
|
|
||||||
* of patent rights can be found in the PATENTS file in the same directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
#include <stdbool.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Not defined in MSVC++
|
|
||||||
#ifndef NAN
|
|
||||||
static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
|
|
||||||
#define NAN (*(const float *) __nan)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CSSUndefined NAN
|
|
||||||
|
|
||||||
#include "CSSEnums.h"
|
|
||||||
#include "CSSMacros.h"
|
|
||||||
|
|
||||||
CSS_EXTERN_C_BEGIN
|
|
||||||
|
|
||||||
typedef struct CSSSize {
|
|
||||||
float width;
|
|
||||||
float height;
|
|
||||||
} CSSSize;
|
|
||||||
|
|
||||||
typedef struct CSSNode *CSSNodeRef;
|
|
||||||
typedef CSSSize (*CSSMeasureFunc)(CSSNodeRef node,
|
|
||||||
float width,
|
|
||||||
CSSMeasureMode widthMode,
|
|
||||||
float height,
|
|
||||||
CSSMeasureMode heightMode);
|
|
||||||
typedef void (*CSSPrintFunc)(CSSNodeRef node);
|
|
||||||
typedef int (*CSSLogger)(CSSLogLevel level, const char *format, va_list args);
|
|
||||||
|
|
||||||
typedef void *(*CSSMalloc)(size_t size);
|
|
||||||
typedef void *(*CSSCalloc)(size_t count, size_t size);
|
|
||||||
typedef void *(*CSSRealloc)(void *ptr, size_t size);
|
|
||||||
typedef void (*CSSFree)(void *ptr);
|
|
||||||
|
|
||||||
// CSSNode
|
|
||||||
WIN_EXPORT CSSNodeRef CSSNodeNew(void);
|
|
||||||
WIN_EXPORT void CSSNodeInit(const CSSNodeRef node);
|
|
||||||
WIN_EXPORT void CSSNodeFree(const CSSNodeRef node);
|
|
||||||
WIN_EXPORT void CSSNodeFreeRecursive(const CSSNodeRef node);
|
|
||||||
WIN_EXPORT void CSSNodeReset(const CSSNodeRef node);
|
|
||||||
WIN_EXPORT int32_t CSSNodeGetInstanceCount(void);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSNodeInsertChild(const CSSNodeRef node,
|
|
||||||
const CSSNodeRef child,
|
|
||||||
const uint32_t index);
|
|
||||||
WIN_EXPORT void CSSNodeRemoveChild(const CSSNodeRef node, const CSSNodeRef child);
|
|
||||||
WIN_EXPORT CSSNodeRef CSSNodeGetChild(const CSSNodeRef node, const uint32_t index);
|
|
||||||
WIN_EXPORT uint32_t CSSNodeChildCount(const CSSNodeRef node);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSNodeCalculateLayout(const CSSNodeRef node,
|
|
||||||
const float availableWidth,
|
|
||||||
const float availableHeight,
|
|
||||||
const CSSDirection parentDirection);
|
|
||||||
|
|
||||||
// Mark a node as dirty. Only valid for nodes with a custom measure function
|
|
||||||
// set.
|
|
||||||
// CSSLayout knows when to mark all other nodes as dirty but because nodes with
|
|
||||||
// measure functions
|
|
||||||
// depends on information not known to CSSLayout they must perform this dirty
|
|
||||||
// marking manually.
|
|
||||||
WIN_EXPORT void CSSNodeMarkDirty(const CSSNodeRef node);
|
|
||||||
WIN_EXPORT bool CSSNodeIsDirty(const CSSNodeRef node);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSNodePrint(const CSSNodeRef node, const CSSPrintOptions options);
|
|
||||||
|
|
||||||
WIN_EXPORT bool CSSValueIsUndefined(const float value);
|
|
||||||
|
|
||||||
WIN_EXPORT bool CSSNodeCanUseCachedMeasurement(const CSSMeasureMode widthMode,
|
|
||||||
const float width,
|
|
||||||
const CSSMeasureMode heightMode,
|
|
||||||
const float height,
|
|
||||||
const CSSMeasureMode lastWidthMode,
|
|
||||||
const float lastWidth,
|
|
||||||
const CSSMeasureMode lastHeightMode,
|
|
||||||
const float lastHeight,
|
|
||||||
const float lastComputedWidth,
|
|
||||||
const float lastComputedHeight,
|
|
||||||
const float marginRow,
|
|
||||||
const float marginColumn);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSNodeCopyStyle(const CSSNodeRef dstNode, const CSSNodeRef srcNode);
|
|
||||||
|
|
||||||
#define CSS_NODE_PROPERTY(type, name, paramName) \
|
|
||||||
WIN_EXPORT void CSSNodeSet##name(const CSSNodeRef node, type paramName); \
|
|
||||||
WIN_EXPORT type CSSNodeGet##name(const CSSNodeRef node);
|
|
||||||
|
|
||||||
#define CSS_NODE_STYLE_PROPERTY(type, name, paramName) \
|
|
||||||
WIN_EXPORT void CSSNodeStyleSet##name(const CSSNodeRef node, const type paramName); \
|
|
||||||
WIN_EXPORT type CSSNodeStyleGet##name(const CSSNodeRef node);
|
|
||||||
|
|
||||||
#define CSS_NODE_STYLE_EDGE_PROPERTY(type, name, paramName) \
|
|
||||||
WIN_EXPORT void CSSNodeStyleSet##name(const CSSNodeRef node, \
|
|
||||||
const CSSEdge edge, \
|
|
||||||
const type paramName); \
|
|
||||||
WIN_EXPORT type CSSNodeStyleGet##name(const CSSNodeRef node, const CSSEdge edge);
|
|
||||||
|
|
||||||
#define CSS_NODE_LAYOUT_PROPERTY(type, name) \
|
|
||||||
WIN_EXPORT type CSSNodeLayoutGet##name(const CSSNodeRef node);
|
|
||||||
|
|
||||||
CSS_NODE_PROPERTY(void *, Context, context);
|
|
||||||
CSS_NODE_PROPERTY(CSSMeasureFunc, MeasureFunc, measureFunc);
|
|
||||||
CSS_NODE_PROPERTY(CSSPrintFunc, PrintFunc, printFunc);
|
|
||||||
CSS_NODE_PROPERTY(bool, HasNewLayout, hasNewLayout);
|
|
||||||
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSDirection, Direction, direction);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSFlexDirection, FlexDirection, flexDirection);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSJustify, JustifyContent, justifyContent);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSAlign, AlignContent, alignContent);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSAlign, AlignItems, alignItems);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSAlign, AlignSelf, alignSelf);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSPositionType, PositionType, positionType);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSWrap, FlexWrap, flexWrap);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(CSSOverflow, Overflow, overflow);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSNodeStyleSetFlex(const CSSNodeRef node, const float flex);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, FlexGrow, flexGrow);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, FlexShrink, flexShrink);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, FlexBasis, flexBasis);
|
|
||||||
|
|
||||||
CSS_NODE_STYLE_EDGE_PROPERTY(float, Position, position);
|
|
||||||
CSS_NODE_STYLE_EDGE_PROPERTY(float, Margin, margin);
|
|
||||||
CSS_NODE_STYLE_EDGE_PROPERTY(float, Padding, padding);
|
|
||||||
CSS_NODE_STYLE_EDGE_PROPERTY(float, Border, border);
|
|
||||||
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, Width, width);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, Height, height);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, MinWidth, minWidth);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, MinHeight, minHeight);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, MaxWidth, maxWidth);
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, MaxHeight, maxHeight);
|
|
||||||
|
|
||||||
// Yoga specific properties, not compatible with flexbox specification
|
|
||||||
// Aspect ratio control the size of the undefined dimension of a node.
|
|
||||||
// - On a node with a set width/height aspect ratio control the size of the unset dimension
|
|
||||||
// - On a node with a set flex basis aspect ratio controls the size of the node in the cross axis if
|
|
||||||
// unset
|
|
||||||
// - On a node with a measure function aspect ratio works as though the measure function measures
|
|
||||||
// the flex basis
|
|
||||||
// - On a node with flex grow/shrink aspect ratio controls the size of the node in the cross axis if
|
|
||||||
// unset
|
|
||||||
// - Aspect ratio takes min/max dimensions into account
|
|
||||||
CSS_NODE_STYLE_PROPERTY(float, AspectRatio, aspectRatio);
|
|
||||||
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(float, Left);
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(float, Top);
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(float, Right);
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(float, Bottom);
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(float, Width);
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(float, Height);
|
|
||||||
CSS_NODE_LAYOUT_PROPERTY(CSSDirection, Direction);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSLayoutSetLogger(CSSLogger logger);
|
|
||||||
WIN_EXPORT void CSSLog(CSSLogLevel level, const char *message, ...);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSLayoutSetExperimentalFeatureEnabled(CSSExperimentalFeature feature,
|
|
||||||
bool enabled);
|
|
||||||
WIN_EXPORT bool CSSLayoutIsExperimentalFeatureEnabled(CSSExperimentalFeature feature);
|
|
||||||
|
|
||||||
WIN_EXPORT void CSSLayoutSetMemoryFuncs(CSSMalloc cssMalloc,
|
|
||||||
CSSCalloc cssCalloc,
|
|
||||||
CSSRealloc cssRealloc,
|
|
||||||
CSSFree cssFree);
|
|
||||||
|
|
||||||
CSS_EXTERN_C_END
|
|
@ -1,42 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the BSD-style license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree. An additional grant
|
|
||||||
* of patent rights can be found in the PATENTS file in the same directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define CSS_EXTERN_C_BEGIN extern "C" {
|
|
||||||
#define CSS_EXTERN_C_END }
|
|
||||||
#else
|
|
||||||
#define CSS_EXTERN_C_BEGIN
|
|
||||||
#define CSS_EXTERN_C_END
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _WINDLL
|
|
||||||
#define WIN_EXPORT __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
#define WIN_EXPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FB_ASSERTIONS_ENABLED
|
|
||||||
#define FB_ASSERTIONS_ENABLED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if FB_ASSERTIONS_ENABLED
|
|
||||||
#define CSS_ABORT() abort()
|
|
||||||
#else
|
|
||||||
#define CSS_ABORT()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef CSS_ASSERT
|
|
||||||
#define CSS_ASSERT(X, message) \
|
|
||||||
if (!(X)) { \
|
|
||||||
CSSLog(CSSLogLevelError, "%s", message); \
|
|
||||||
CSS_ABORT(); \
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -1,104 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the BSD-style license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree. An additional grant
|
|
||||||
* of patent rights can be found in the PATENTS file in the same directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "CSSNodeList.h"
|
|
||||||
|
|
||||||
extern CSSMalloc gCSSMalloc;
|
|
||||||
extern CSSRealloc gCSSRealloc;
|
|
||||||
extern CSSFree gCSSFree;
|
|
||||||
|
|
||||||
struct CSSNodeList {
|
|
||||||
uint32_t capacity;
|
|
||||||
uint32_t count;
|
|
||||||
CSSNodeRef *items;
|
|
||||||
};
|
|
||||||
|
|
||||||
CSSNodeListRef CSSNodeListNew(const uint32_t initialCapacity) {
|
|
||||||
const CSSNodeListRef list = gCSSMalloc(sizeof(struct CSSNodeList));
|
|
||||||
CSS_ASSERT(list != NULL, "Could not allocate memory for list");
|
|
||||||
|
|
||||||
list->capacity = initialCapacity;
|
|
||||||
list->count = 0;
|
|
||||||
list->items = gCSSMalloc(sizeof(CSSNodeRef) * list->capacity);
|
|
||||||
CSS_ASSERT(list->items != NULL, "Could not allocate memory for items");
|
|
||||||
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CSSNodeListFree(const CSSNodeListRef list) {
|
|
||||||
if (list) {
|
|
||||||
gCSSFree(list->items);
|
|
||||||
gCSSFree(list);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t CSSNodeListCount(const CSSNodeListRef list) {
|
|
||||||
if (list) {
|
|
||||||
return list->count;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CSSNodeListAdd(CSSNodeListRef *listp, const CSSNodeRef node) {
|
|
||||||
if (!*listp) {
|
|
||||||
*listp = CSSNodeListNew(4);
|
|
||||||
}
|
|
||||||
CSSNodeListInsert(listp, node, (*listp)->count);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CSSNodeListInsert(CSSNodeListRef *listp, const CSSNodeRef node, const uint32_t index) {
|
|
||||||
if (!*listp) {
|
|
||||||
*listp = CSSNodeListNew(4);
|
|
||||||
}
|
|
||||||
CSSNodeListRef list = *listp;
|
|
||||||
|
|
||||||
if (list->count == list->capacity) {
|
|
||||||
list->capacity *= 2;
|
|
||||||
list->items = gCSSRealloc(list->items, sizeof(CSSNodeRef) * list->capacity);
|
|
||||||
CSS_ASSERT(list->items != NULL, "Could not extend allocation for items");
|
|
||||||
}
|
|
||||||
|
|
||||||
for (uint32_t i = list->count; i > index; i--) {
|
|
||||||
list->items[i] = list->items[i - 1];
|
|
||||||
}
|
|
||||||
|
|
||||||
list->count++;
|
|
||||||
list->items[index] = node;
|
|
||||||
}
|
|
||||||
|
|
||||||
CSSNodeRef CSSNodeListRemove(const CSSNodeListRef list, const uint32_t index) {
|
|
||||||
const CSSNodeRef removed = list->items[index];
|
|
||||||
list->items[index] = NULL;
|
|
||||||
|
|
||||||
for (uint32_t i = index; i < list->count - 1; i++) {
|
|
||||||
list->items[i] = list->items[i + 1];
|
|
||||||
list->items[i + 1] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
list->count--;
|
|
||||||
return removed;
|
|
||||||
}
|
|
||||||
|
|
||||||
CSSNodeRef CSSNodeListDelete(const CSSNodeListRef list, const CSSNodeRef node) {
|
|
||||||
for (uint32_t i = 0; i < list->count; i++) {
|
|
||||||
if (list->items[i] == node) {
|
|
||||||
return CSSNodeListRemove(list, i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
CSSNodeRef CSSNodeListGet(const CSSNodeListRef list, const uint32_t index) {
|
|
||||||
if (CSSNodeListCount(list) > 0) {
|
|
||||||
return list->items[index];
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the BSD-style license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree. An additional grant
|
|
||||||
* of patent rights can be found in the PATENTS file in the same directory.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "CSSLayout.h"
|
|
||||||
#include "CSSMacros.h"
|
|
||||||
|
|
||||||
CSS_EXTERN_C_BEGIN
|
|
||||||
|
|
||||||
typedef struct CSSNodeList *CSSNodeListRef;
|
|
||||||
|
|
||||||
CSSNodeListRef CSSNodeListNew(const uint32_t initialCapacity);
|
|
||||||
void CSSNodeListFree(const CSSNodeListRef list);
|
|
||||||
uint32_t CSSNodeListCount(const CSSNodeListRef list);
|
|
||||||
void CSSNodeListAdd(CSSNodeListRef *listp, const CSSNodeRef node);
|
|
||||||
void CSSNodeListInsert(CSSNodeListRef *listp, const CSSNodeRef node, const uint32_t index);
|
|
||||||
CSSNodeRef CSSNodeListRemove(const CSSNodeListRef list, const uint32_t index);
|
|
||||||
CSSNodeRef CSSNodeListDelete(const CSSNodeListRef list, const CSSNodeRef node);
|
|
||||||
CSSNodeRef CSSNodeListGet(const CSSNodeListRef list, const uint32_t index);
|
|
||||||
|
|
||||||
CSS_EXTERN_C_END
|
|
Loading…
x
Reference in New Issue
Block a user