This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.3 KiB
75 lines
2.3 KiB
/** |
|
* Copyright (c) 2015-present, Facebook, Inc. |
|
* |
|
* This source code is licensed under the MIT license found in the |
|
* LICENSE file in the root directory of this source tree. |
|
*/ |
|
|
|
#import <UIKit/UIKit.h> |
|
|
|
#import <React/RCTDefines.h> |
|
#import <yoga/Yoga.h> |
|
|
|
NS_ASSUME_NONNULL_BEGIN |
|
|
|
@class RCTShadowView; |
|
|
|
typedef NS_ENUM(NSInteger, RCTDisplayType) { |
|
RCTDisplayTypeNone, |
|
RCTDisplayTypeFlex, |
|
RCTDisplayTypeInline, |
|
}; |
|
|
|
struct RCTLayoutMetrics { |
|
CGRect frame; |
|
CGRect contentFrame; |
|
UIEdgeInsets borderWidth; |
|
RCTDisplayType displayType; |
|
UIUserInterfaceLayoutDirection layoutDirection; |
|
}; |
|
typedef struct CG_BOXABLE RCTLayoutMetrics RCTLayoutMetrics; |
|
|
|
struct RCTLayoutContext { |
|
CGPoint absolutePosition; |
|
__unsafe_unretained NSHashTable<RCTShadowView *> *_Nonnull affectedShadowViews; |
|
__unsafe_unretained NSHashTable<NSString *> *_Nonnull other; |
|
}; |
|
typedef struct CG_BOXABLE RCTLayoutContext RCTLayoutContext; |
|
|
|
static inline BOOL RCTLayoutMetricsEqualToLayoutMetrics(RCTLayoutMetrics a, RCTLayoutMetrics b) |
|
{ |
|
return |
|
CGRectEqualToRect(a.frame, b.frame) && |
|
CGRectEqualToRect(a.contentFrame, b.contentFrame) && |
|
UIEdgeInsetsEqualToEdgeInsets(a.borderWidth, b.borderWidth) && |
|
a.displayType == b.displayType && |
|
a.layoutDirection == b.layoutDirection; |
|
} |
|
|
|
RCT_EXTERN RCTLayoutMetrics RCTLayoutMetricsFromYogaNode(YGNodeRef yogaNode); |
|
|
|
/** |
|
* Converts float values between Yoga and CoreGraphics representations, |
|
* especially in terms of edge cases. |
|
*/ |
|
RCT_EXTERN float RCTYogaFloatFromCoreGraphicsFloat(CGFloat value); |
|
RCT_EXTERN CGFloat RCTCoreGraphicsFloatFromYogaFloat(float value); |
|
|
|
/** |
|
* Converts compound `YGValue` to simple `CGFloat` value. |
|
*/ |
|
RCT_EXTERN CGFloat RCTCoreGraphicsFloatFromYogaValue(YGValue value, CGFloat baseFloatValue); |
|
|
|
/** |
|
* Converts `YGDirection` to `UIUserInterfaceLayoutDirection` and vise versa. |
|
*/ |
|
RCT_EXTERN YGDirection RCTYogaLayoutDirectionFromUIKitLayoutDirection(UIUserInterfaceLayoutDirection direction); |
|
RCT_EXTERN UIUserInterfaceLayoutDirection RCTUIKitLayoutDirectionFromYogaLayoutDirection(YGDirection direction); |
|
|
|
/** |
|
* Converts `YGDisplay` to `RCTDisplayType` and vise versa. |
|
*/ |
|
RCT_EXTERN YGDisplay RCTYogaDisplayTypeFromReactDisplayType(RCTDisplayType displayType); |
|
RCT_EXTERN RCTDisplayType RCTReactDisplayTypeFromYogaDisplayType(YGDisplay displayType); |
|
|
|
NS_ASSUME_NONNULL_END
|
|
|