Vuo  2.0.2
VuoAnchor.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "VuoHorizontalAlignment.h"
13 #include "VuoPoint2d.h"
14 #include "VuoVerticalAlignment.h"
15 
17 typedef const struct VuoList_VuoAnchor_struct { void *l; } * VuoList_VuoAnchor;
18 #define VuoList_VuoAnchor_TYPE_DEFINED
19 
34 typedef int64_t VuoAnchor;
35 
37 struct json_object * VuoAnchor_getJson(const VuoAnchor value);
38 char * VuoAnchor_getSummary(const VuoAnchor value);
40 
44 static inline VuoAnchor VuoAnchor_make(VuoHorizontalAlignment horizontal, VuoVerticalAlignment vertical) __attribute__((const));
46 {
47  return (vertical << 2) + horizontal;
48 }
49 
55 {
56  return (VuoHorizontalAlignment)(anchor & 0x3);
57 }
58 
64 {
65  return (VuoVerticalAlignment)((anchor >> 2) & 0x3);
66 }
67 
71 static inline VuoAnchor VuoAnchor_makeCentered(void) __attribute__((const));
72 static inline VuoAnchor VuoAnchor_makeCentered(void)
73 {
74  return VuoAnchor_make(VuoHorizontalAlignment_Center, VuoVerticalAlignment_Center);
75 }
76 
77 VuoPoint2d VuoAnchor_getOffset(VuoAnchor anchor);
78 
79 #define VuoAnchor_SUPPORTS_COMPARISON
80 bool VuoAnchor_areEqual(const VuoAnchor value1, const VuoAnchor value2);
81 bool VuoAnchor_isLessThan(const VuoAnchor value1, const VuoAnchor value2);
82 
86 VuoAnchor VuoAnchor_makeFromString(const char *str);
88 char * VuoAnchor_getString(const VuoAnchor value);
89 void VuoAnchor_retain(VuoAnchor value);
90 void VuoAnchor_release(VuoAnchor value);
92