Compare commits

...

91 Commits

Author SHA1 Message Date
Florian Rival
3113df2ed0 Bump newIDE version 2018-08-30 21:40:37 +01:00
Florian Rival
563bc6c64c Fix particle texture not properly handled/corrupted in GD5 2018-08-30 21:38:44 +01:00
Florian Rival
809f3d168a Update path to GDJS for web-app 2018-08-30 21:27:12 +01:00
Florian Rival
a1ea7ad0e3 Add Objects Timers example to GD5 and remove now deprecated example 2018-08-30 21:24:15 +01:00
Florian Rival
642e64d3ea Merge branch 'master' of github.com:4ian/GD 2018-08-30 00:02:43 +01:00
Florian Rival
88486449fb Fix grid resizing and protect against negative values in grid size 2018-08-30 00:02:21 +01:00
Lizard-13
0c31e5ad44 Add object timers for GDJS (#604) 2018-08-29 23:29:20 +01:00
Florian Rival
41bd9f670d Merge pull request #603 from Wend1go/patch-2
Add annotations to Platformer Object
2018-08-29 11:08:22 +01:00
Wend1go
0e9dfb3889 Add annotations to Platformer Object 2018-08-29 11:59:42 +02:00
Florian Rival
55b406c0ac Merge pull request #602 from Wend1go/patch-1
Add annotations to TiledSprite object
2018-08-29 09:40:05 +01:00
Wend1go
75fac21939 Add annotations to TiledSprite object 2018-08-29 10:24:28 +02:00
Florian Rival
138f2692d0 Merge pull request #601 from Lizard-13/master
Fix old IDE instructions help links
2018-08-29 09:00:57 +01:00
Lizard-13
e058466b8f Fix old IDE instructions help links 2018-08-28 23:26:55 -03:00
Florian Rival
85d182bb78 Add Facebook Instant Game example (Thanks @Bouh!) 2018-08-28 22:30:21 +01:00
Florian Rival
46338bf314 Bump newIDE version 2018-08-28 00:32:32 +01:00
Florian Rival
0a7880f98e Fix monaco-editor/vs/loader.js breaking libraries (as defining "define" globally) 2018-08-28 00:27:31 +01:00
Florian Rival
38ae17595e Update newIDE README 2018-08-27 23:29:09 +01:00
Florian Rival
545caa1dbd Bump newIDE version 2018-08-27 23:25:44 +01:00
Florian Rival
3be23212a6 Fix invalid verification of object name leading to memory corruption (libGD.js) 2018-08-27 23:05:51 +01:00
Florian Rival
54b6bf969c Clone drag'n'dropped instructions when Ctrl (or Cmd) is pressed 2018-08-27 22:07:48 +01:00
Lizard-13
d449a478f5 Fix behavior activated condition (#597) 2018-08-27 21:45:12 +01:00
Florian Rival
b410a1e1b3 Merge pull request #596 from 4ian/feature/instructions-dnd
Add support for drag'n'dropping (multiple) conditions and actions
2018-08-27 20:48:50 +01:00
Florian Rival
6d6d86a325 Fix selected events being deleted after drag'n'dropping instructions 2018-08-27 20:46:44 +01:00
Florian Rival
291d6663f2 Avoid calling drop/moveSelectionToInstructionsList more than once 2018-08-27 11:49:57 +01:00
Florian Rival
4ab27e0954 Fix flow typing of authentification 2018-08-27 01:33:06 +01:00
Florian Rival
28ffcf923b Display red indicator if drop can't be done (actions on conditions and vice-versa) 2018-08-27 01:18:05 +01:00
Florian Rival
af5faa2e10 Add drag'n'drop support for instructions 2018-08-27 01:09:22 +01:00
Florian Rival
4bfdc4a2a1 Add flowtype definition for multiple dependencies 2018-08-27 00:52:33 +01:00
Florian Rival
c6141322c5 Avoid potential memory issues by limiting undo/redo history to 50 states 2018-08-26 16:05:32 +01:00
Florian Rival
59f8421a03 Fix potential memory (libGD.js) corruption/crashs by clearing selection after undo/redo in SceneEditor 2018-08-26 15:32:09 +01:00
Florian Rival
b217f80c23 Prevent negative width/height when resizing + fix properties not updated 2018-08-26 15:04:01 +01:00
Florian Rival
70635d1655 Fix modifier key like Shift wrongly detected as pressed in scene editor focused out while pressed 2018-08-26 14:30:32 +01:00
Florian Rival
9dfbe94c13 Round width/height when resizing to avoid floating values in instance sizes 2018-08-26 14:12:12 +01:00
Florian Rival
7244885fd6 Fix React warning 2018-08-26 12:22:58 +01:00
Florian Rival
f8e5ac7828 Fix selected object not highlighted in Objects list 2018-08-26 12:22:28 +01:00
Florian Rival
030f873433 Add missing description for two examples 2018-08-26 02:19:36 +01:00
Florian Rival
74e5b4862e Add menu items to move up/down layout/external events/external layouts 2018-08-26 02:19:13 +01:00
Florian Rival
87f20b82f1 Allow case insensitive search in examples 2018-08-25 17:12:37 +01:00
Florian Rival
992c00c096 Add descriptions for all examples and fix typo in Breakout example name 2018-08-25 17:02:33 +01:00
Florian Rival
2673c1526d Update exit-app example to use Quit Game action now that it is working 2018-08-25 15:52:01 +01:00
Florian Rival
2ddc451691 Merge pull request #593 from 4ian/feature/events-types-lister
Add search bar and chips to filter examples
2018-08-25 13:05:58 +01:00
Florian Rival
0a77880dc3 Improve colors of chips of examples 2018-08-25 12:59:07 +01:00
Florian Rival
aefddd0bf4 Update ExamplesExtensionsUsage.js 2018-08-25 12:38:14 +01:00
Florian Rival
1e1b3a7a42 Fix warning from Webpack with OptionalRequire.js 2018-08-25 12:37:00 +01:00
Florian Rival
e9a50f1146 Add chips to search in examples by extension and a text search 2018-08-25 12:14:45 +01:00
Florian Rival
28957c5662 Factor functions of newIDE scripts, allow to discover JS extensions and dynamically read examples list 2018-08-24 18:29:19 +01:00
Florian Rival
303a489a41 Adapt JsExtensionsLoader to allow it to be used from Node.js 2018-08-24 16:57:37 +01:00
Florian Rival
fe7d66dc1c [WIP] Improve update-stats-from-resources-examples to return used extensions 2018-08-24 14:25:04 +01:00
Florian Rival
a287e24c6b Add MetadataProvider methods that can return the associated extension 2018-08-24 00:23:33 +01:00
Florian Rival
8ec191ebf5 [WIP] Add MetadataProvider methods that can return the associated extension 2018-08-23 18:25:28 +01:00
Florian Rival
9e6a40a07e [WIP] Add EventsTypesLister 2018-08-23 09:04:28 +01:00
Florian Rival
b785b3d2fc Enhance typings/documentation of GDJS 2018-08-22 23:08:20 +01:00
Florian Rival
5bf75f8cd6 Add support for fullscreen and close the app on Electron/Cordova (#590)
* Move openURL to RuntimeGameRenderer for consistency/portability
* Add support for Fullscreen in Electron
* Add support for closing the game/app on Electron and Cordova
* Improve typings and allow RuntimeGame.adaptRendererSizeToFillScreen to be called without args
2018-08-22 21:58:22 +01:00
Florian Rival
e71e019415 Add DeviceSensors to web-app and examples 2018-08-22 20:12:40 +01:00
Wend1go
1bd73f3ff4 Add compass example and add value ranges to orientation instructions (#591) 2018-08-22 19:54:13 +01:00
Florian Rival
f1148655d5 Add 8 examples and update one 2018-08-21 21:14:17 +01:00
Florian Rival
cadfc98b47 Add help links for DeviceSensors extension 2018-08-21 20:19:05 +01:00
Wend1go
bda4a790b9 Add orientation sensor extension with examples (#587) 2018-08-21 17:32:10 +01:00
Bouh
be34bbc0af Fix flickering on mobile and transparent background (#588) 2018-08-20 10:48:10 +02:00
Florian Rival
da91917b40 Remove useless console.log 2018-08-19 15:46:06 +02:00
Florian Rival
9c6978b70a Ensure any new window opened from a link is opened in default browser 2018-08-19 15:44:50 +02:00
Florian Rival
feec79d9de Allow to choose a custom theme for the Monaco code editor 2018-08-19 15:25:17 +02:00
Florian Rival
ed872b8c95 Fix error message of ObjectField not always triggering properly 2018-08-19 14:24:20 +02:00
Florian Rival
04ea7d16fe Fix name of JsCode events 2018-08-19 13:46:36 +02:00
Florian Rival
7ae838bff4 Fix docsearch by directly using algoliasearch and formatting results with ListItems 2018-08-18 19:50:21 +02:00
Florian Rival
a324405695 Improve some documentation/typing for gdjs.Force 2018-08-18 19:21:14 +02:00
Florian Rival
204f6cd1f1 Merge pull request #586 from 4ian/feature/monaco-editor
Add Monaco Editor for editing JavaScript events, with autocompletions
2018-08-18 12:06:56 +02:00
Florian Rival
1a0dcc01df Add example of Platformer with Javascript code blocks to replace events 2018-08-18 00:02:36 +02:00
Florian Rival
bf125a3312 Fix display of tooltip/boxes of CodeEditor overflowing the editor 2018-08-17 23:43:09 +02:00
Florian Rival
747e2961b3 Add autocompletion support for extensions in CodeEditor 2018-08-17 23:42:43 +02:00
Florian Rival
011932ba27 Improve some documentation/typing for GDJS 2018-08-17 23:42:16 +02:00
Florian Rival
2037176b1e Avoid overflow on the right of the content of JsCodeEvent 2018-08-17 21:17:35 +02:00
Florian Rival
525b99697b Improve some documentation/typing for gdjs.RuntimeObject 2018-08-17 21:07:47 +02:00
Florian Rival
69849cb7be Fix resize of JsCodeEvent after the editor is loaded 2018-08-17 18:50:40 +02:00
Florian Rival
c8e56c60c5 Make wording to select objects to pass to JavaScript more explicit 2018-08-17 18:34:38 +02:00
Florian Rival
f182ed0704 Enhance/fix types in documentation of GDJS 2018-08-17 18:34:22 +02:00
Florian Rival
98f97f7b17 Add Monaco editor for JavaScript code events, with autocompletion support 2018-08-17 18:03:06 +02:00
Florian Rival
a60eee9924 Add Content-Security-Policy to newIDE index.html 2018-08-16 17:04:27 +02:00
Florian Rival
6b6cd0b61d Code split between local/browser specific code for slightly faster startup/loading 2018-08-16 17:04:27 +02:00
Florian Rival
5c19c9bb14 Update newIDE to Electron 2.0.7 2018-08-16 17:04:27 +02:00
Florian Rival
3f4d1d66ef Merge branch 'master' of github.com:4ian/GD 2018-08-16 17:04:00 +02:00
Florian Rival
c17fcaf9ac Improve layout of InstancePropertiesEditor (by adding support for grouping by rows) 2018-08-16 17:03:40 +02:00
Bouh
687758a41f Update links to Discord to send users to #announces channel (#583) 2018-08-14 10:37:11 +01:00
Florian Rival
bbb541ce48 Add accelerator shortcut in the tooltip for searching events panel 2018-08-13 21:21:02 +02:00
Florian Rival
10ef38978d Allow to open search panel with Ctrl+F 2018-08-13 21:13:56 +02:00
Florian Rival
c70604f196 Update flow to v0.78 2018-08-13 20:37:39 +02:00
Florian Rival
c5ffa44aa2 Fix tests 2018-08-13 20:33:34 +02:00
Florian Rival
bf69037e46 Fix broken stories in Storybook 2018-08-13 20:26:35 +02:00
Florian Rival
2c422a5927 Reduce margins of newIDE to 4px 2018-08-13 20:12:02 +02:00
Florian Rival
f5149d7c61 Add search/replace panel (SearchPanel) to EventsSheet (#581) 2018-08-13 17:46:37 +01:00
Florian Rival
a1a56f1b3b Add help links for Facebook Instant Games actions 2018-08-10 08:10:59 +01:00
616 changed files with 109030 additions and 6767 deletions

View File

@@ -75,7 +75,8 @@
"cstring": "cpp",
"iomanip": "cpp",
"cstdint": "cpp",
"forward_list": "cpp"
"forward_list": "cpp",
"mutex": "cpp"
},
"files.exclude": {
"Binaries/*build*": true,

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,241 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 31.999999 32.000001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="orientation_active.svg"
inkscape:export-filename="/home/matthias/Programme/GD_MyFork/orientation_icons/orientation_active_32px.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect6855"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6842"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect4583"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4234"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:#617da1;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4231"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="20.233951"
inkscape:cy="7.2727048"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="1920"
inkscape:window-height="1026"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-global="false"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="false"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-nodes="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid6838" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="bg"
inkscape:groupmode="layer"
id="layer1"
style="opacity:0"
sodipodi:insensitive="true"
transform="translate(0,-1020.3622)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.48900003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5d3b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4136"
width="537.14288"
height="537.14288"
x="108.57143"
y="232.3622"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="vg"
transform="translate(0,-1020.3622)">
<path
inkscape:connector-curvature="0"
id="path4260"
d="M 17.705339,1047.9202 3.8554509,1034.0703 a 9.8935231,9.8935231 0 0 0 0.865828,12.9857 9.8935231,9.8935231 0 0 0 12.9840601,0.8642 z"
style="opacity:1;fill:#617da1;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4262"
d="m 15.476114,1045.691 -9.3874081,-9.3874 a 6.7720372,6.7720372 0 0 0 0.839681,8.5453 6.7720372,6.7720372 0 0 0 8.5477271,0.8421 z"
style="opacity:1;fill:#55687f;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4264"
d="m 13.104478,1043.3194 -4.6473891,-4.6474 a 3.5447378,3.5447378 0 0 0 0.752875,3.8953 3.5447378,3.5447378 0 0 0 3.8945141,0.7521 z"
style="opacity:1;fill:#45505d;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
id="g4271">
<path
inkscape:connector-curvature="0"
id="path4193"
d="m 14.330666,1025.0237 13.849888,13.8499 a 9.8935231,9.8935231 0 0 0 -0.865828,-12.9857 9.8935231,9.8935231 0 0 0 -12.98406,-0.8642 z"
style="opacity:1;fill:#617da1;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="circle4209"
d="m 16.559891,1027.2529 9.387408,9.3874 a 6.7720372,6.7720372 0 0 0 -0.839681,-8.5453 6.7720372,6.7720372 0 0 0 -8.547727,-0.8421 z"
style="opacity:1;fill:#55687f;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="circle4211"
d="m 18.931527,1029.6245 4.647389,4.6474 a 3.5447378,3.5447378 0 0 0 -0.752875,-3.8953 3.5447378,3.5447378 0 0 0 -3.894514,-0.7521 z"
style="opacity:1;fill:#45505d;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
id="g4185"
transform="matrix(0,1,-1,0,1052.3622,1020.3622)">
<g
transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,761.06108,315.93318)"
id="g4164">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2d2d2d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4139"
width="29.490231"
height="13.97627"
x="1021.5129"
y="-24.405632"
ry="1.9309319"
transform="matrix(0,1,-1,0,0,0)" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 23.516546,1048.5704 c -0.04767,-8.3635 0.05771,-16.73 -0.05645,-25.0917 -0.235339,-0.805 -1.013989,-0.9207 -1.576996,-0.7735 -3.050625,0.074 -6.121697,-0.1942 -9.156515,0.1468 -0.564763,0.4707 -0.49652,1.4656 -0.445964,2.2244 0.02634,7.9894 -0.06398,15.9823 0.04892,23.9695 0.230948,0.7665 0.973094,0.9226 1.519542,0.7675 3.04799,-0.056 6.10727,0.141 9.14698,-0.1067 0.315625,-0.2087 0.529513,-0.6681 0.519728,-1.1359 z"
id="rect4181"
inkscape:connector-curvature="0" />
<g
id="g4177"
transform="matrix(0,0.07409604,-0.0615007,0,50.235037,1008.3136)">
<path
inkscape:connector-curvature="0"
id="path4159"
d="m 293.62058,434.43653 c -16.41699,0.21869 -32.83277,0.54314 -49.24609,0.9982 40.22318,60.65317 80.41322,121.37951 120.66406,181.98201 16.66541,0.0638 33.3307,0.12377 49.99609,0.17961 -40.50006,-61.0078 -80.91528,-122.15931 -121.41406,-183.15982 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#616161;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4163"
d="m 368.01511,434.63361 c -9.86715,-0.003 -19.73317,0.02 -29.59961,0.0587 40.58372,60.98623 81.13273,122.04569 121.7461,182.97743 16.59016,-0.003 33.17905,-0.0421 49.76562,-0.16726 -40.56648,-60.89249 -81.04682,-121.93216 -121.60937,-182.82191 -6.76751,-0.0159 -13.53548,-0.0448 -20.30274,-0.0469 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
</g>
</g>
<path
style="fill:#80b03e;fill-opacity:1;fill-rule:evenodd;stroke:#676767;stroke-width:0.48377252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 8.967328,1032.9255 -5.0968894,2.4621 8.2068554,10.928 17.536753,-22.2017 -7.083812,0.086 -10.107389,12.699 z"
id="path4181"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 31.999999 32.000001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="orientation_alpha.svg"
inkscape:export-filename="/home/svisor/Dokumente/orientation/orientation_alpha_16px.png"
inkscape:export-xdpi="45"
inkscape:export-ydpi="45">
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect6855"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6842"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect4583"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4234"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:#617da1;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4231"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="-10.727491"
inkscape:cy="13.240628"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="1784"
inkscape:window-height="965"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-global="false"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="false"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-nodes="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid6838" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="bg"
inkscape:groupmode="layer"
id="layer1"
style="opacity:0"
sodipodi:insensitive="true"
transform="translate(0,-1020.3622)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.48900003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5d3b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4136"
width="537.14288"
height="537.14288"
x="108.57143"
y="232.3622"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="vg"
transform="translate(0,-1020.3622)">
<path
sodipodi:type="spiral"
style="fill:none;fill-rule:evenodd;stroke:#617da1;stroke-width:117.59577179;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4225"
sodipodi:cx="381.83768"
sodipodi:cy="500.81891"
sodipodi:expansion="2"
sodipodi:revolution="39.947353"
sodipodi:radius="263.47296"
sodipodi:argument="-251.55106"
sodipodi:t0="0.98124301"
d="M 514.43027,717.09103 C 396.34495,790.81298 236.37332,752.97207 162.79805,635.10821 88.142361,515.51357 126.46914,353.5023 245.84088,278.99418 366.57474,203.63587 530.09521,241.93425 605.84226,362.11077"
transform="matrix(-0.01300789,-0.04848619,0.0485461,-0.01299183,-3.1820691,1060.7591)" />
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2d2d2d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4139"
width="23.508087"
height="11.14116"
x="4.2458982"
y="1031.1785"
ry="1.5392392" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 25.814829,1031.8872 c -6.667001,0.038 -13.336293,-0.046 -20.0018744,0.045 -0.6416148,0.1876 -0.7339823,0.8083 -0.6166024,1.2571 0.059129,2.4318 -0.1547636,4.8799 0.1170802,7.2991 0.37515,0.4502 1.1682938,0.3958 1.7731176,0.3555 6.36877,-0.021 12.74023,0.051 19.107241,-0.039 0.61102,-0.1841 0.735486,-0.7757 0.611786,-1.2113 -0.04476,-2.4297 0.112409,-4.8684 -0.08527,-7.2915 -0.166424,-0.2516 -0.532577,-0.4221 -0.905478,-0.4143 z"
id="rect4181"
inkscape:connector-curvature="0" />
<g
id="g4177"
transform="matrix(0.05906553,0,0,0.04902518,-6.2759034,1010.5886)">
<path
inkscape:connector-curvature="0"
id="path4159"
d="m 293.62058,434.43653 c -16.41699,0.21869 -32.83277,0.54314 -49.24609,0.9982 40.22318,60.65317 80.41322,121.37951 120.66406,181.98201 16.66541,0.0638 33.3307,0.12377 49.99609,0.17961 -40.50006,-61.0078 -80.91528,-122.15931 -121.41406,-183.15982 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#616161;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4163"
d="m 368.01511,434.63361 c -9.86715,-0.003 -19.73317,0.02 -29.59961,0.0587 40.58372,60.98623 81.13273,122.04569 121.7461,182.97743 16.59016,-0.003 33.17905,-0.0421 49.76562,-0.16726 -40.56648,-60.89249 -81.04682,-121.93216 -121.60937,-182.82191 -6.76751,-0.0159 -13.53548,-0.0448 -20.30274,-0.0469 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
<path
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 13.198999,1021.0966 0.01639,12.0632 -12.99441834,-11.989 z"
id="path6840"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path6846"
d="m 18.75867,1021.0966 -0.01639,12.0632 12.994419,-11.989 z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:none;fill-rule:evenodd;stroke:#b54d4d;stroke-width:2.95327663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.084308,1037.0443 0,-10.6452"
id="path6853"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,232 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 31.999999 32.000001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="orientation_beta.svg"
inkscape:export-filename="/home/svisor/Dokumente/orientation/orientation_beta_32px.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect6933"
is_visible="true"
pattern="m -9.5367432e-7,1025.3622 c 0,-2.76 2.23999995367432,-5 4.99999995367432,-5 2.76,0 5,2.24 5,5 0,2.76 -2.24,5 -5,5 -2.76,0 -4.99999995367432,-2.24 -4.99999995367432,-5 z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6855"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6842"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect4583"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4234"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:#617da1;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4231"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6568543"
inkscape:cx="46.575938"
inkscape:cy="27.265886"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="1784"
inkscape:window-height="965"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-global="false"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="false"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-nodes="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid6838" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="bg"
inkscape:groupmode="layer"
id="layer1"
style="opacity:0"
sodipodi:insensitive="true"
transform="translate(0,-1020.3622)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.48900003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5d3b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4136"
width="537.14288"
height="537.14288"
x="108.57143"
y="232.3622"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="vg"
transform="translate(0,-1020.3622)">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#617da1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 1.1903085,1030.3763 7.9884604,1.0094 7.7057061,2.0649 7.705714,2.0646 7.422963,3.1201 -1.004649,3.7494 -7.988449,-1.0095 -7.705717,-2.0648 -7.7057052,-2.0647 -7.42297142,-3.12 z"
id="rect6929"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
<g
id="g6920"
transform="matrix(0.96592583,0.25881905,-0.25881905,0.96592583,268.87497,31.190367)">
<rect
ry="1.5392392"
y="1031.1785"
x="4.2458982"
height="11.14116"
width="23.508087"
id="rect4139"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2d2d2d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="rect4181"
d="m 25.814829,1031.8872 c -6.667001,0.038 -13.336293,-0.046 -20.0018744,0.045 -0.6416148,0.1876 -0.7339823,0.8083 -0.6166024,1.2571 0.059129,2.4318 -0.1547636,4.8799 0.1170802,7.2991 0.37515,0.4502 1.1682938,0.3958 1.7731176,0.3555 6.36877,-0.021 12.74023,0.051 19.107241,-0.039 0.61102,-0.1841 0.735486,-0.7757 0.611786,-1.2113 -0.04476,-2.4297 0.112409,-4.8684 -0.08527,-7.2915 -0.166424,-0.2516 -0.532577,-0.4221 -0.905478,-0.4143 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<g
transform="matrix(0.05906553,0,0,0.04902518,-6.2759034,1010.5886)"
id="g4177">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#616161;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 293.62058,434.43653 c -16.41699,0.21869 -32.83277,0.54314 -49.24609,0.9982 40.22318,60.65317 80.41322,121.37951 120.66406,181.98201 16.66541,0.0638 33.3307,0.12377 49.99609,0.17961 -40.50006,-61.0078 -80.91528,-122.15931 -121.41406,-183.15982 z"
id="path4159"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 368.01511,434.63361 c -9.86715,-0.003 -19.73317,0.02 -29.59961,0.0587 40.58372,60.98623 81.13273,122.04569 121.7461,182.97743 16.59016,-0.003 33.17905,-0.0421 49.76562,-0.16726 -40.56648,-60.89249 -81.04682,-121.93216 -121.60937,-182.82191 -6.76751,-0.0159 -13.53548,-0.0448 -20.30274,-0.0469 z"
id="path4163"
inkscape:connector-curvature="0" />
</g>
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#b54d4d;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 12.288338,1050.5605 7.59194,-28.3336"
id="path6853"
inkscape:connector-curvature="0" />
<path
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 11.341431,1034.9779 -8.3653553,4.8296 3.535615,-13.195 z"
id="path6931"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path6937"
d="m 20.954687,1037.7169 4.982679,8.6302 3.647574,-13.6128 z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,266 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 31.999999 32.000001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="orientation_gamma.svg"
inkscape:export-filename="/home/svisor/Dokumente/orientation/orientation_gamma_32px.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient4173">
<stop
style="stop-color:#465b76;stop-opacity:1;"
offset="0"
id="stop4175" />
<stop
id="stop4193"
offset="0.11647766"
style="stop-color:#617da1;stop-opacity:1" />
<stop
style="stop-color:#090f1a;stop-opacity:0.62352943"
offset="0.48119751"
id="stop4201" />
<stop
style="stop-color:#617da1;stop-opacity:1"
offset="0.84591734"
id="stop4199" />
<stop
style="stop-color:#35465e;stop-opacity:0.81176472"
offset="1"
id="stop4177" />
</linearGradient>
<inkscape:path-effect
effect="skeletal"
id="path-effect6933"
is_visible="true"
pattern="m -9.5367432e-7,1025.3622 c 0,-2.76 2.23999995367432,-5 4.99999995367432,-5 2.76,0 5,2.24 5,5 0,2.76 -2.24,5 -5,5 -2.76,0 -4.99999995367432,-2.24 -4.99999995367432,-5 z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6855"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6842"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect4583"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4234"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:#617da1;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4231"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4173"
id="linearGradient4179"
x1="11.697108"
y1="1052.0363"
x2="20.611916"
y2="1020.3048"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6568543"
inkscape:cx="6.0834191"
inkscape:cy="25.653468"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="1784"
inkscape:window-height="965"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-global="false"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="false"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-nodes="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid6838" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="bg"
inkscape:groupmode="layer"
id="layer1"
style="opacity:0"
sodipodi:insensitive="true"
transform="translate(0,-1020.3622)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.48900003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5d3b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4136"
width="537.14288"
height="537.14288"
x="108.57143"
y="232.3622"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="vg"
transform="translate(0,-1020.3622)">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient4179);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 21.937741,1021.5707 -1.0094,7.9885 -2.0649,7.7057 -2.0646,7.7057 -3.1201,7.4229 -3.7494,-1.0046 1.0095,-7.9885 2.0648,-7.7057 2.0647,-7.7057 3.12,-7.4229 z"
id="rect6929"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
<g
id="g6920"
transform="matrix(0.96592583,0.25881905,-0.25881905,0.96592583,268.87497,31.190367)">
<rect
ry="1.5392392"
y="1031.1785"
x="4.2458982"
height="11.14116"
width="23.508087"
id="rect4139"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2d2d2d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="rect4181"
d="m 25.814829,1031.8872 c -6.667001,0.038 -13.336293,-0.046 -20.0018744,0.045 -0.6416148,0.1876 -0.7339823,0.8083 -0.6166024,1.2571 0.059129,2.4318 -0.1547636,4.8799 0.1170802,7.2991 0.37515,0.4502 1.1682938,0.3958 1.7731176,0.3555 6.36877,-0.021 12.74023,0.051 19.107241,-0.039 0.61102,-0.1841 0.735486,-0.7757 0.611786,-1.2113 -0.04476,-2.4297 0.112409,-4.8684 -0.08527,-7.2915 -0.166424,-0.2516 -0.532577,-0.4221 -0.905478,-0.4143 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<g
transform="matrix(0.05906553,0,0,0.04902518,-6.2759034,1010.5886)"
id="g4177">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#616161;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 293.62058,434.43653 c -16.41699,0.21869 -32.83277,0.54314 -49.24609,0.9982 40.22318,60.65317 80.41322,121.37951 120.66406,181.98201 16.66541,0.0638 33.3307,0.12377 49.99609,0.17961 -40.50006,-61.0078 -80.91528,-122.15931 -121.41406,-183.15982 z"
id="path4159"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 368.01511,434.63361 c -9.86715,-0.003 -19.73317,0.02 -29.59961,0.0587 40.58372,60.98623 81.13273,122.04569 121.7461,182.97743 16.59016,-0.003 33.17905,-0.0421 49.76562,-0.16726 -40.56648,-60.89249 -81.04682,-121.93216 -121.60937,-182.82191 -6.76751,-0.0159 -13.53548,-0.0448 -20.30274,-0.0469 z"
id="path4163"
inkscape:connector-curvature="0" />
</g>
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#b54d4d;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1.917508,1032.5977 28.3336,7.592"
id="path6853"
inkscape:connector-curvature="0" />
<path
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 17.336141,1031.7218 -4.8296,-8.3653 13.195,3.5356 z"
id="path6931"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path6937"
d="m 14.597141,1041.3351 -8.6302,4.9827 13.6128,3.6475 z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,257 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 31.999999 32.000001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="orientation_inactive.svg"
inkscape:export-filename="/home/matthias/Programme/GD_MyFork/orientation_icons/orientation_inactive32.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect6855"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect6842"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<inkscape:path-effect
effect="skeletal"
id="path-effect4583"
is_visible="true"
pattern="M 0,5 C 0,2.24 2.24,0 5,0 7.76,0 10,2.24 10,5 10,7.76 7.76,10 5,10 2.24,10 0,7.76 0,5 Z"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0" />
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4234"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#617da1;fill-opacity:1;fill-rule:evenodd;stroke:#617da1;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4231"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.919596"
inkscape:cx="-3.4987609"
inkscape:cy="15.215408"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="1920"
inkscape:window-height="1026"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:snap-global="false"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="false"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-nodes="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid6838" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="bg"
inkscape:groupmode="layer"
id="layer1"
style="opacity:0"
sodipodi:insensitive="true"
transform="translate(0,-1020.3622)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.48900003;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5d3b0b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4136"
width="537.14288"
height="537.14288"
x="108.57143"
y="232.3622"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="vg"
transform="translate(0,-1020.3622)">
<g
id="g4182">
<path
style="opacity:1;fill:#617da1;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 17.705339,1047.9202 3.8554509,1034.0703 a 9.8935231,9.8935231 0 0 0 0.865828,12.9857 9.8935231,9.8935231 0 0 0 12.9840601,0.8642 z"
id="path4260"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#55687f;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 15.476114,1045.691 -9.3874081,-9.3874 a 6.7720372,6.7720372 0 0 0 0.839681,8.5453 6.7720372,6.7720372 0 0 0 8.5477271,0.8421 z"
id="path4262"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#45505d;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 13.104478,1043.3194 -4.6473891,-4.6474 a 3.5447378,3.5447378 0 0 0 0.752875,3.8953 3.5447378,3.5447378 0 0 0 3.8945141,0.7521 z"
id="path4264"
inkscape:connector-curvature="0" />
</g>
<g
id="g4271">
<path
inkscape:connector-curvature="0"
id="path4193"
d="m 14.330666,1025.0237 13.849888,13.8499 a 9.8935231,9.8935231 0 0 0 -0.865828,-12.9857 9.8935231,9.8935231 0 0 0 -12.98406,-0.8642 z"
style="opacity:1;fill:#617da1;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="circle4209"
d="m 16.559891,1027.2529 9.387408,9.3874 a 6.7720372,6.7720372 0 0 0 -0.839681,-8.5453 6.7720372,6.7720372 0 0 0 -8.547727,-0.8421 z"
style="opacity:1;fill:#55687f;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="circle4211"
d="m 18.931527,1029.6245 4.647389,4.6474 a 3.5447378,3.5447378 0 0 0 -0.752875,-3.8953 3.5447378,3.5447378 0 0 0 -3.894514,-0.7521 z"
style="opacity:1;fill:#45505d;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
id="g4185"
transform="matrix(0,1,-1,0,1052.3622,1020.3622)">
<g
transform="matrix(-0.70710678,-0.70710678,-0.70710678,0.70710678,761.06108,315.93318)"
id="g4164">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#2d2d2d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4139"
width="29.490231"
height="13.97627"
x="1021.5129"
y="-24.405632"
ry="1.9309319"
transform="matrix(0,1,-1,0,0,0)" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.9;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 23.516546,1048.5704 c -0.04767,-8.3635 0.05771,-16.73 -0.05645,-25.0917 -0.235339,-0.805 -1.013989,-0.9207 -1.576996,-0.7735 -3.050625,0.074 -6.121697,-0.1942 -9.156515,0.1468 -0.564763,0.4707 -0.49652,1.4656 -0.445964,2.2244 0.02634,7.9894 -0.06398,15.9823 0.04892,23.9695 0.230948,0.7665 0.973094,0.9226 1.519542,0.7675 3.04799,-0.056 6.10727,0.141 9.14698,-0.1067 0.315625,-0.2087 0.529513,-0.6681 0.519728,-1.1359 z"
id="rect4181"
inkscape:connector-curvature="0" />
<g
id="g4177"
transform="matrix(0,0.07409604,-0.0615007,0,50.235037,1008.3136)">
<path
inkscape:connector-curvature="0"
id="path4159"
d="m 293.62058,434.43653 c -16.41699,0.21869 -32.83277,0.54314 -49.24609,0.9982 40.22318,60.65317 80.41322,121.37951 120.66406,181.98201 16.66541,0.0638 33.3307,0.12377 49.99609,0.17961 -40.50006,-61.0078 -80.91528,-122.15931 -121.41406,-183.15982 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#616161;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4163"
d="m 368.01511,434.63361 c -9.86715,-0.003 -19.73317,0.02 -29.59961,0.0587 40.58372,60.98623 81.13273,122.04569 121.7461,182.97743 16.59016,-0.003 33.17905,-0.0421 49.76562,-0.16726 -40.56648,-60.89249 -81.04682,-121.93216 -121.60937,-182.82191 -6.76751,-0.0159 -13.53548,-0.0448 -20.30274,-0.0469 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
</g>
</g>
<g
id="g4178"
transform="matrix(0.77902994,0,0,0.77902994,51.018309,218.11381)">
<rect
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
ry="0"
y="708.63794"
x="-794.39429"
height="6.3392859"
width="37.767857"
id="rect4176"
style="opacity:1;fill:#aa6056;fill-opacity:1;stroke:none;stroke-width:2.61800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.88922155" />
<path
id="path4170"
transform="translate(-9.5367432e-7,1020.3622)"
d="M -44.951172,9.7773438 A 20.203051,20.203051 0 0 0 -65.154297,29.980469 20.203051,20.203051 0 0 0 -44.951172,50.183594 20.203051,20.203051 0 0 0 -24.748047,29.980469 20.203051,20.203051 0 0 0 -44.951172,9.7773438 Z m 0,4.3750002 a 15.828051,15.828051 0 0 1 15.828125,15.828125 15.828051,15.828051 0 0 1 -15.828125,15.828125 15.828051,15.828051 0 0 1 -15.828125,-15.828125 15.828051,15.828051 0 0 1 15.828125,-15.828125 z"
style="opacity:1;fill:#aa6056;fill-opacity:1;stroke:none;stroke-width:2.61800003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.88922155"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -654,6 +654,72 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("expression", _("Y position of the point"))
.MarkAsSimple();
obj.AddCondition("ObjectTimer",
_("Value of a timer"),
_("Test the elapsed time of a timer."),
_("The timer _PARAM1_ of _PARAM0_ is greater than _PARAM2_ seconds"),
_("Timers"),
"res/conditions/timer24.png",
"res/conditions/timer.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"))
.AddParameter("expression", _("Time in seconds"));
obj.AddCondition("ObjectTimerPaused",
_("Timer paused"),
_("Test if specified timer is paused."),
_("The timer _PARAM1_ of _PARAM0_ is paused"),
_("Timers"),
"res/conditions/timerPaused24.png",
"res/conditions/timerPaused.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
obj.AddAction("ResetObjectTimer",
_("Start (or reset) a timer"),
_("Reset the specified timer, if the timer doesn't exist "
"it's created and started."),
_("Reset the timer _PARAM1_ of _PARAM0_"),
_("Timers"),
"res/actions/timer24.png",
"res/actions/timer.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"));
obj.AddAction("PauseObjectTimer",
_("Pause a timer"),
_("Pause a timer."),
_("Pause timer _PARAM1_ of _PARAM0_"),
_("Timers"),
"res/actions/pauseTimer24.png",
"res/actions/pauseTimer.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
obj.AddAction("UnPauseObjectTimer",
_("Unpause a timer"),
_("Unpause a timer."),
_("Unpause timer _PARAM1_ of _PARAM0_"),
_("Timers"),
"res/actions/unPauseTimer24.png",
"res/actions/unPauseTimer.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
obj.AddAction("RemoveObjectTimer",
_("Delete a timer"),
_("Delete a timer from memory."),
_("Delete timer _PARAM1_ of _PARAM0_ from memory"),
_("Timers"),
"res/actions/timer24.png",
"res/actions/timer.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"))
.MarkAsAdvanced();
obj.AddExpression("X",
_("X position"),
_("X position of the object"),
@@ -796,6 +862,14 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsBaseObjectExtension(
.AddParameter("object", _("Object"))
.AddParameter("objectvar", _("Variable"));
obj.AddExpression("ObjectTimerElapsedTime",
_("Timer value"),
_("Value of a timer"),
_("Timers"),
"res/actions/time.png")
.AddParameter("object", _("Object"))
.AddParameter("string", _("Timer's name"));
extension
.AddAction("Create",
_("Create an object"),

View File

@@ -24,8 +24,8 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddCondition("Timer",
_("Value of a timer"),
_("Test the elapsed time of a timer."),
_("Value of a scene timer"),
_("Test the elapsed time of a scene timer."),
_("The timer _PARAM2_ is greater than _PARAM1_ seconds"),
_("Timers and time"),
"res/conditions/timer24.png",
@@ -50,8 +50,8 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddCondition("TimerPaused",
_("State of a timer"),
_("Test if specified timer is paused."),
_("Scene timer paused"),
_("Test if the specified scene timer is paused."),
_("The timer _PARAM1_ is paused"),
_("Timers and time"),
"res/conditions/timerPaused24.png",
@@ -62,8 +62,9 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddAction("ResetTimer",
_("Reset a timer"),
_("Reset the specified timer."),
_("Start (or reset) a scene timer"),
_("Reset the specified scene timer, if the timer doesn't exist "
"it's created and started."),
_("Reset the timer _PARAM1_"),
_("Timers and time"),
"res/actions/timer24.png",
@@ -73,8 +74,8 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddAction("PauseTimer",
_("Pause a timer"),
_("Pause a timer."),
_("Pause a scene timer"),
_("Pause a scene timer."),
_("Pause timer _PARAM1_"),
_("Timers and time"),
"res/actions/pauseTimer24.png",
@@ -85,8 +86,8 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddAction("UnPauseTimer",
_("Unpause a timer"),
_("Unpause a timer."),
_("Unpause a scene timer"),
_("Unpause a scene timer."),
_("Unpause timer _PARAM1_"),
_("Timers and time"),
"res/actions/unPauseTimer24.png",
@@ -97,8 +98,8 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddAction("RemoveTimer",
_("Delete a timer"),
_("Delete a timer from memory."),
_("Delete a scene timer"),
_("Delete a scene timer from memory."),
_("Delete timer _PARAM1_ from memory"),
_("Timers and time"),
"res/actions/timer24.png",
@@ -147,8 +148,8 @@ void GD_CORE_API BuiltinExtensionsImplementer::ImplementsTimeExtension(
extension
.AddExpression("TimerElapsedTime",
_("Timer value"),
_("Value of a timer"),
_("Scene timer value"),
_("Value of a scene timer"),
_("Time"),
"res/actions/time.png")
.AddCodeOnlyParameter("currentScene", "")

View File

@@ -21,252 +21,314 @@ gd::ObjectMetadata MetadataProvider::badObjectInfo;
gd::InstructionMetadata MetadataProvider::badInstructionMetadata;
gd::ExpressionMetadata MetadataProvider::badExpressionMetadata;
gd::ExpressionMetadata MetadataProvider::badStrExpressionMetadata;
gd::PlatformExtension MetadataProvider::badExtension;
/**
* Get the metadata about a behavior in a platform
*/
const BehaviorMetadata& MetadataProvider::GetBehaviorMetadata(
const gd::Platform& platform, gd::String behaviorType) {
for (std::size_t i = 0; i < platform.GetAllPlatformExtensions().size(); ++i) {
std::vector<gd::String> autosTypes =
platform.GetAllPlatformExtensions()[i]->GetBehaviorsTypes();
for (std::size_t j = 0; j < autosTypes.size(); ++j) {
if (autosTypes[j] == behaviorType)
return platform.GetAllPlatformExtensions()[i]->GetBehaviorMetadata(
behaviorType);
ExtensionAndMetadata<BehaviorMetadata>
MetadataProvider::GetExtensionAndBehaviorMetadata(const gd::Platform& platform,
gd::String behaviorType) {
for (auto& extension : platform.GetAllPlatformExtensions()) {
auto behaviorTypes = extension->GetBehaviorsTypes();
for (std::size_t j = 0; j < behaviorTypes.size(); ++j) {
if (behaviorTypes[j] == behaviorType)
return ExtensionAndMetadata<BehaviorMetadata>(
*extension, extension->GetBehaviorMetadata(behaviorType));
}
}
return badBehaviorInfo;
return ExtensionAndMetadata<BehaviorMetadata>(badExtension, badBehaviorInfo);
}
/**
* Get the metadata about an object in a platform
*/
const ObjectMetadata& MetadataProvider::GetObjectMetadata(
const gd::Platform& platform, gd::String objectType) {
for (std::size_t i = 0; i < platform.GetAllPlatformExtensions().size(); ++i) {
std::vector<gd::String> objectsTypes =
platform.GetAllPlatformExtensions()[i]->GetExtensionObjectsTypes();
const BehaviorMetadata& MetadataProvider::GetBehaviorMetadata(
const gd::Platform& platform, gd::String behaviorType) {
return GetExtensionAndBehaviorMetadata(platform, behaviorType).GetMetadata();
}
ExtensionAndMetadata<ObjectMetadata>
MetadataProvider::GetExtensionAndObjectMetadata(const gd::Platform& platform,
gd::String objectType) {
for (auto& extension : platform.GetAllPlatformExtensions()) {
auto objectsTypes = extension->GetExtensionObjectsTypes();
for (std::size_t j = 0; j < objectsTypes.size(); ++j) {
if (objectsTypes[j] == objectType)
return platform.GetAllPlatformExtensions()[i]->GetObjectMetadata(
objectType);
return ExtensionAndMetadata<ObjectMetadata>(
*extension, extension->GetObjectMetadata(objectType));
}
}
return badObjectInfo;
return ExtensionAndMetadata<ObjectMetadata>(badExtension, badObjectInfo);
}
const ObjectMetadata& MetadataProvider::GetObjectMetadata(
const gd::Platform& platform, gd::String objectType) {
return GetExtensionAndObjectMetadata(platform, objectType).GetMetadata();
}
ExtensionAndMetadata<InstructionMetadata>
MetadataProvider::GetExtensionAndActionMetadata(const gd::Platform& platform,
gd::String actionType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& allActions = extension->GetAllActions();
if (allActions.find(actionType) != allActions.end())
return ExtensionAndMetadata<InstructionMetadata>(
*extension, allActions.find(actionType)->second);
const auto& objects = extension->GetExtensionObjectsTypes();
for (const gd::String& extObjectType : objects) {
const auto& allObjectsActions =
extension->GetAllActionsForObject(extObjectType);
if (allObjectsActions.find(actionType) != allObjectsActions.end())
return ExtensionAndMetadata<InstructionMetadata>(
*extension, allObjectsActions.find(actionType)->second);
}
const auto& autos = extension->GetBehaviorsTypes();
for (std::size_t j = 0; j < autos.size(); ++j) {
const auto& allAutosActions =
extension->GetAllActionsForBehavior(autos[j]);
if (allAutosActions.find(actionType) != allAutosActions.end())
return ExtensionAndMetadata<InstructionMetadata>(
*extension, allAutosActions.find(actionType)->second);
}
}
return ExtensionAndMetadata<InstructionMetadata>(badExtension,
badInstructionMetadata);
}
const gd::InstructionMetadata& MetadataProvider::GetActionMetadata(
const gd::Platform& platform, gd::String actionType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& allActions =
extensions[i]->GetAllActions();
if (allActions.find(actionType) != allActions.end())
return allActions.find(actionType)->second;
return GetExtensionAndActionMetadata(platform, actionType).GetMetadata();
}
const vector<gd::String>& objects =
extensions[i]->GetExtensionObjectsTypes();
for (std::size_t j = 0; j < objects.size(); ++j) {
const std::map<gd::String, gd::InstructionMetadata>& allObjectsActions =
extensions[i]->GetAllActionsForObject(objects[j]);
if (allObjectsActions.find(actionType) != allObjectsActions.end())
return allObjectsActions.find(actionType)->second;
ExtensionAndMetadata<InstructionMetadata>
MetadataProvider::GetExtensionAndConditionMetadata(const gd::Platform& platform,
gd::String conditionType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& allConditions = extension->GetAllConditions();
if (allConditions.find(conditionType) != allConditions.end())
return ExtensionAndMetadata<InstructionMetadata>(
*extension, allConditions.find(conditionType)->second);
const auto& objects = extension->GetExtensionObjectsTypes();
for (const gd::String& extObjectType : objects) {
const auto& allObjetsConditions =
extension->GetAllConditionsForObject(extObjectType);
if (allObjetsConditions.find(conditionType) != allObjetsConditions.end())
return ExtensionAndMetadata<InstructionMetadata>(
*extension, allObjetsConditions.find(conditionType)->second);
}
const vector<gd::String>& autos = extensions[i]->GetBehaviorsTypes();
const auto& autos = extension->GetBehaviorsTypes();
for (std::size_t j = 0; j < autos.size(); ++j) {
const std::map<gd::String, gd::InstructionMetadata>& allAutosActions =
extensions[i]->GetAllActionsForBehavior(autos[j]);
if (allAutosActions.find(actionType) != allAutosActions.end())
return allAutosActions.find(actionType)->second;
const auto& allAutosConditions =
extension->GetAllConditionsForBehavior(autos[j]);
if (allAutosConditions.find(conditionType) != allAutosConditions.end())
return ExtensionAndMetadata<InstructionMetadata>(
*extension, allAutosConditions.find(conditionType)->second);
}
}
return badInstructionMetadata;
return ExtensionAndMetadata<InstructionMetadata>(badExtension,
badInstructionMetadata);
}
const gd::InstructionMetadata& MetadataProvider::GetConditionMetadata(
const gd::Platform& platform, gd::String conditionType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& allConditions =
extensions[i]->GetAllConditions();
if (allConditions.find(conditionType) != allConditions.end())
return allConditions.find(conditionType)->second;
return GetExtensionAndConditionMetadata(platform, conditionType)
.GetMetadata();
}
const vector<gd::String>& objects =
extensions[i]->GetExtensionObjectsTypes();
for (std::size_t j = 0; j < objects.size(); ++j) {
const std::map<gd::String, gd::InstructionMetadata>& allObjetsConditions =
extensions[i]->GetAllConditionsForObject(objects[j]);
if (allObjetsConditions.find(conditionType) != allObjetsConditions.end())
return allObjetsConditions.find(conditionType)->second;
}
const vector<gd::String>& autos = extensions[i]->GetBehaviorsTypes();
for (std::size_t j = 0; j < autos.size(); ++j) {
const std::map<gd::String, gd::InstructionMetadata>& allAutosConditions =
extensions[i]->GetAllConditionsForBehavior(autos[j]);
if (allAutosConditions.find(conditionType) != allAutosConditions.end())
return allAutosConditions.find(conditionType)->second;
ExtensionAndMetadata<ExpressionMetadata>
MetadataProvider::GetExtensionAndObjectExpressionMetadata(
const gd::Platform& platform, gd::String objectType, gd::String exprType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& objects = extension->GetExtensionObjectsTypes();
if (find(objects.begin(), objects.end(), objectType) != objects.end()) {
const auto& allObjectExpressions =
extension->GetAllExpressionsForObject(objectType);
if (allObjectExpressions.find(exprType) != allObjectExpressions.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allObjectExpressions.find(exprType)->second);
}
}
return badInstructionMetadata;
// Then check base
for (auto& extension : extensions) {
const auto& allObjectExpressions =
extension->GetAllExpressionsForObject("");
if (allObjectExpressions.find(exprType) != allObjectExpressions.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allObjectExpressions.find(exprType)->second);
}
return ExtensionAndMetadata<ExpressionMetadata>(badExtension,
badExpressionMetadata);
}
const gd::ExpressionMetadata& MetadataProvider::GetObjectExpressionMetadata(
const gd::Platform& platform, gd::String objectType, gd::String exprType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const vector<gd::String>& objects =
extensions[i]->GetExtensionObjectsTypes();
if (find(objects.begin(), objects.end(), objectType) != objects.end()) {
const std::map<gd::String, gd::ExpressionMetadata>& allObjectExpressions =
extensions[i]->GetAllExpressionsForObject(objectType);
if (allObjectExpressions.find(exprType) != allObjectExpressions.end())
return allObjectExpressions.find(exprType)->second;
return GetExtensionAndObjectExpressionMetadata(platform, objectType, exprType)
.GetMetadata();
}
ExtensionAndMetadata<ExpressionMetadata>
MetadataProvider::GetExtensionAndBehaviorExpressionMetadata(
const gd::Platform& platform, gd::String autoType, gd::String exprType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& autos = extension->GetBehaviorsTypes();
if (find(autos.begin(), autos.end(), autoType) != autos.end()) {
const auto& allAutoExpressions =
extension->GetAllExpressionsForBehavior(autoType);
if (allAutoExpressions.find(exprType) != allAutoExpressions.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allAutoExpressions.find(exprType)->second);
}
}
// Then check base
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& allObjectExpressions =
extensions[i]->GetAllExpressionsForObject("");
if (allObjectExpressions.find(exprType) != allObjectExpressions.end())
return allObjectExpressions.find(exprType)->second;
for (auto& extension : extensions) {
const auto& allAutoExpressions =
extension->GetAllExpressionsForBehavior("");
if (allAutoExpressions.find(exprType) != allAutoExpressions.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allAutoExpressions.find(exprType)->second);
}
return badExpressionMetadata;
return ExtensionAndMetadata<ExpressionMetadata>(badExtension,
badExpressionMetadata);
}
const gd::ExpressionMetadata& MetadataProvider::GetBehaviorExpressionMetadata(
const gd::Platform& platform, gd::String autoType, gd::String exprType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const vector<gd::String>& autos = extensions[i]->GetBehaviorsTypes();
if (find(autos.begin(), autos.end(), autoType) != autos.end()) {
const std::map<gd::String, gd::ExpressionMetadata>& allAutoExpressions =
extensions[i]->GetAllExpressionsForBehavior(autoType);
if (allAutoExpressions.find(exprType) != allAutoExpressions.end())
return allAutoExpressions.find(exprType)->second;
}
return GetExtensionAndBehaviorExpressionMetadata(platform, autoType, exprType)
.GetMetadata();
}
ExtensionAndMetadata<ExpressionMetadata>
MetadataProvider::GetExtensionAndExpressionMetadata(
const gd::Platform& platform, gd::String exprType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& allExpr = extension->GetAllExpressions();
if (allExpr.find(exprType) != allExpr.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allExpr.find(exprType)->second);
}
// Then check base
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& allAutoExpressions =
extensions[i]->GetAllExpressionsForBehavior("");
if (allAutoExpressions.find(exprType) != allAutoExpressions.end())
return allAutoExpressions.find(exprType)->second;
}
return badExpressionMetadata;
return ExtensionAndMetadata<ExpressionMetadata>(badExtension,
badExpressionMetadata);
}
const gd::ExpressionMetadata& MetadataProvider::GetExpressionMetadata(
const gd::Platform& platform, gd::String exprType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& allExpr =
extensions[i]->GetAllExpressions();
if (allExpr.find(exprType) != allExpr.end())
return allExpr.find(exprType)->second;
}
return badExpressionMetadata;
return GetExtensionAndExpressionMetadata(platform, exprType).GetMetadata();
}
const gd::ExpressionMetadata& MetadataProvider::GetObjectStrExpressionMetadata(
ExtensionAndMetadata<ExpressionMetadata>
MetadataProvider::GetExtensionAndObjectStrExpressionMetadata(
const gd::Platform& platform, gd::String objectType, gd::String exprType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const vector<gd::String>& objects =
extensions[i]->GetExtensionObjectsTypes();
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& objects = extension->GetExtensionObjectsTypes();
if (find(objects.begin(), objects.end(), objectType) != objects.end()) {
const std::map<gd::String, gd::ExpressionMetadata>&
allObjectStrExpressions =
extensions[i]->GetAllStrExpressionsForObject(objectType);
const auto& allObjectStrExpressions =
extension->GetAllStrExpressionsForObject(objectType);
if (allObjectStrExpressions.find(exprType) !=
allObjectStrExpressions.end())
return allObjectStrExpressions.find(exprType)->second;
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allObjectStrExpressions.find(exprType)->second);
}
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>&
allObjectStrExpressions =
extensions[i]->GetAllStrExpressionsForObject("");
for (auto& extension : extensions) {
const auto& allObjectStrExpressions =
extension->GetAllStrExpressionsForObject("");
if (allObjectStrExpressions.find(exprType) != allObjectStrExpressions.end())
return allObjectStrExpressions.find(exprType)->second;
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allObjectStrExpressions.find(exprType)->second);
}
return badStrExpressionMetadata;
return ExtensionAndMetadata<ExpressionMetadata>(badExtension,
badStrExpressionMetadata);
}
const gd::ExpressionMetadata& MetadataProvider::GetObjectStrExpressionMetadata(
const gd::Platform& platform, gd::String objectType, gd::String exprType) {
return GetExtensionAndObjectStrExpressionMetadata(
platform, objectType, exprType)
.GetMetadata();
}
ExtensionAndMetadata<ExpressionMetadata>
MetadataProvider::GetExtensionAndBehaviorStrExpressionMetadata(
const gd::Platform& platform, gd::String autoType, gd::String exprType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& autos = extension->GetBehaviorsTypes();
if (find(autos.begin(), autos.end(), autoType) != autos.end()) {
const auto& allBehaviorStrExpressions =
extension->GetAllStrExpressionsForBehavior(autoType);
if (allBehaviorStrExpressions.find(exprType) !=
allBehaviorStrExpressions.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allBehaviorStrExpressions.find(exprType)->second);
}
}
// Then check in functions of "Base object".
for (auto& extension : extensions) {
const auto& allBehaviorStrExpressions =
extension->GetAllStrExpressionsForBehavior("");
if (allBehaviorStrExpressions.find(exprType) !=
allBehaviorStrExpressions.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allBehaviorStrExpressions.find(exprType)->second);
}
return ExtensionAndMetadata<ExpressionMetadata>(badExtension,
badStrExpressionMetadata);
}
const gd::ExpressionMetadata&
MetadataProvider::GetBehaviorStrExpressionMetadata(const gd::Platform& platform,
gd::String autoType,
gd::String exprType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const vector<gd::String>& autos = extensions[i]->GetBehaviorsTypes();
if (find(autos.begin(), autos.end(), autoType) != autos.end()) {
const std::map<gd::String, gd::ExpressionMetadata>&
allBehaviorStrExpressions =
extensions[i]->GetAllStrExpressionsForBehavior(autoType);
if (allBehaviorStrExpressions.find(exprType) !=
allBehaviorStrExpressions.end())
return allBehaviorStrExpressions.find(exprType)->second;
}
return GetExtensionAndBehaviorStrExpressionMetadata(
platform, autoType, exprType)
.GetMetadata();
}
ExtensionAndMetadata<ExpressionMetadata>
MetadataProvider::GetExtensionAndStrExpressionMetadata(
const gd::Platform& platform, gd::String exprType) {
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& allExpr = extension->GetAllStrExpressions();
if (allExpr.find(exprType) != allExpr.end())
return ExtensionAndMetadata<ExpressionMetadata>(
*extension, allExpr.find(exprType)->second);
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>&
allBehaviorStrExpressions =
extensions[i]->GetAllStrExpressionsForBehavior("");
if (allBehaviorStrExpressions.find(exprType) !=
allBehaviorStrExpressions.end())
return allBehaviorStrExpressions.find(exprType)->second;
}
return badStrExpressionMetadata;
return ExtensionAndMetadata<ExpressionMetadata>(badExtension,
badStrExpressionMetadata);
}
const gd::ExpressionMetadata& MetadataProvider::GetStrExpressionMetadata(
const gd::Platform& platform, gd::String exprType) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& allExpr =
extensions[i]->GetAllStrExpressions();
if (allExpr.find(exprType) != allExpr.end())
return allExpr.find(exprType)->second;
}
return badStrExpressionMetadata;
return GetExtensionAndStrExpressionMetadata(platform, exprType).GetMetadata();
}
bool MetadataProvider::HasAction(const gd::Platform& platform,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
auto& extensions = platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& actions =
extensions[i]->GetAllActions();
for (auto& extension : extensions) {
const auto& actions = extension->GetAllActions();
if (actions.find(name) != actions.end()) return true;
}
@@ -276,18 +338,15 @@ bool MetadataProvider::HasAction(const gd::Platform& platform,
bool MetadataProvider::HasObjectAction(const gd::Platform& platform,
gd::String objectType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& actions =
extensions[i]->GetAllActionsForObject(objectType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& actions = extension->GetAllActionsForObject(objectType);
if (actions.find(name) != actions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& actions =
extensions[i]->GetAllActionsForObject("");
for (auto& extension : extensions) {
const auto& actions = extension->GetAllActionsForObject("");
if (actions.find(name) != actions.end()) return true;
}
@@ -297,18 +356,15 @@ bool MetadataProvider::HasObjectAction(const gd::Platform& platform,
bool MetadataProvider::HasBehaviorAction(const gd::Platform& platform,
gd::String behaviorType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& actions =
extensions[i]->GetAllActionsForBehavior(behaviorType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& actions = extension->GetAllActionsForBehavior(behaviorType);
if (actions.find(name) != actions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& actions =
extensions[i]->GetAllActionsForBehavior("");
for (auto& extension : extensions) {
const auto& actions = extension->GetAllActionsForBehavior("");
if (actions.find(name) != actions.end()) return true;
}
@@ -317,11 +373,9 @@ bool MetadataProvider::HasBehaviorAction(const gd::Platform& platform,
bool MetadataProvider::HasCondition(const gd::Platform& platform,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& conditions =
extensions[i]->GetAllConditions();
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& conditions = extension->GetAllConditions();
if (conditions.find(name) != conditions.end()) return true;
}
@@ -331,18 +385,15 @@ bool MetadataProvider::HasCondition(const gd::Platform& platform,
bool MetadataProvider::HasObjectCondition(const gd::Platform& platform,
gd::String objectType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& conditions =
extensions[i]->GetAllConditionsForObject(objectType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& conditions = extension->GetAllConditionsForObject(objectType);
if (conditions.find(name) != conditions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& conditions =
extensions[i]->GetAllConditionsForObject("");
for (auto& extension : extensions) {
const auto& conditions = extension->GetAllConditionsForObject("");
if (conditions.find(name) != conditions.end()) return true;
}
@@ -352,18 +403,16 @@ bool MetadataProvider::HasObjectCondition(const gd::Platform& platform,
bool MetadataProvider::HasBehaviorCondition(const gd::Platform& platform,
gd::String behaviorType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& conditions =
extensions[i]->GetAllConditionsForBehavior(behaviorType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& conditions =
extension->GetAllConditionsForBehavior(behaviorType);
if (conditions.find(name) != conditions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::InstructionMetadata>& conditions =
extensions[i]->GetAllConditionsForBehavior("");
for (auto& extension : extensions) {
const auto& conditions = extension->GetAllConditionsForBehavior("");
if (conditions.find(name) != conditions.end()) return true;
}
@@ -372,11 +421,9 @@ bool MetadataProvider::HasBehaviorCondition(const gd::Platform& platform,
bool MetadataProvider::HasExpression(const gd::Platform& platform,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllExpressions();
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllExpressions();
if (expressions.find(name) != expressions.end()) return true;
}
@@ -386,18 +433,15 @@ bool MetadataProvider::HasExpression(const gd::Platform& platform,
bool MetadataProvider::HasObjectExpression(const gd::Platform& platform,
gd::String objectType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllExpressionsForObject(objectType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllExpressionsForObject(objectType);
if (expressions.find(name) != expressions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllExpressionsForObject("");
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllExpressionsForObject("");
if (expressions.find(name) != expressions.end()) return true;
}
@@ -407,18 +451,16 @@ bool MetadataProvider::HasObjectExpression(const gd::Platform& platform,
bool MetadataProvider::HasBehaviorExpression(const gd::Platform& platform,
gd::String behaviorType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllExpressionsForBehavior(behaviorType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& expressions =
extension->GetAllExpressionsForBehavior(behaviorType);
if (expressions.find(name) != expressions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllExpressionsForBehavior("");
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllExpressionsForBehavior("");
if (expressions.find(name) != expressions.end()) return true;
}
@@ -427,11 +469,9 @@ bool MetadataProvider::HasBehaviorExpression(const gd::Platform& platform,
bool MetadataProvider::HasStrExpression(const gd::Platform& platform,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllStrExpressions();
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllStrExpressions();
if (expressions.find(name) != expressions.end()) return true;
}
@@ -441,18 +481,16 @@ bool MetadataProvider::HasStrExpression(const gd::Platform& platform,
bool MetadataProvider::HasObjectStrExpression(const gd::Platform& platform,
gd::String objectType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllStrExpressionsForObject(objectType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& expressions =
extension->GetAllStrExpressionsForObject(objectType);
if (expressions.find(name) != expressions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllStrExpressionsForObject("");
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllStrExpressionsForObject("");
if (expressions.find(name) != expressions.end()) return true;
}
@@ -462,18 +500,16 @@ bool MetadataProvider::HasObjectStrExpression(const gd::Platform& platform,
bool MetadataProvider::HasBehaviorStrExpression(const gd::Platform& platform,
gd::String behaviorType,
gd::String name) {
std::vector<std::shared_ptr<PlatformExtension> > extensions =
platform.GetAllPlatformExtensions();
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllStrExpressionsForBehavior(behaviorType);
auto& extensions = platform.GetAllPlatformExtensions();
for (auto& extension : extensions) {
const auto& expressions =
extension->GetAllStrExpressionsForBehavior(behaviorType);
if (expressions.find(name) != expressions.end()) return true;
}
// Then check in functions of "Base object".
for (std::size_t i = 0; i < extensions.size(); ++i) {
const std::map<gd::String, gd::ExpressionMetadata>& expressions =
extensions[i]->GetAllStrExpressionsForBehavior("");
for (auto& extension : extensions) {
const auto& expressions = extension->GetAllStrExpressionsForBehavior("");
if (expressions.find(name) != expressions.end()) return true;
}

View File

@@ -13,26 +13,141 @@ class ObjectMetadata;
class ExpressionMetadata;
class ExpressionMetadata;
class Platform;
}
class PlatformExtension;
} // namespace gd
namespace gd {
/**
* \brief A container for metadata about an object/behavior/instruction/expression
* and its associated extension.
*/
template <class T>
class ExtensionAndMetadata {
public:
ExtensionAndMetadata(const gd::PlatformExtension& extension_,
const T& metadata_)
: extension(&extension_), metadata(&metadata_){};
/**
* \brief Default constructor, only here to satisfy Emscripten bindings.
* \warning Please do not use.
* \private
*/
ExtensionAndMetadata()
: extension(nullptr), metadata(nullptr){};
/**
* \brief Get the associated extension.
*/
const gd::PlatformExtension& GetExtension() { return *extension; };
/**
* \brief Get the metadata.
*/
const T& GetMetadata() { return *metadata; };
private:
const gd::PlatformExtension* extension;
const T* metadata;
};
/**
* \brief Allow to easily get metadata for instructions (i.e actions and
* conditions), objects and behaviors.
* conditions), expressions, objects and behaviors.
*
* \ingroup PlatformDefinition
*/
class GD_CORE_API MetadataProvider {
public:
/**
* Get the metadata about a behavior in a project using a platform
* Get the metadata about a behavior, and its associated extension.
*/
static ExtensionAndMetadata<BehaviorMetadata> GetExtensionAndBehaviorMetadata(
const gd::Platform& platform, gd::String behaviorType);
/**
* Get the metadata about an object, and its associated extension.
*/
static ExtensionAndMetadata<ObjectMetadata> GetExtensionAndObjectMetadata(
const gd::Platform& platform, gd::String type);
/**
* Get the metadata of an action, and its associated extension.
* Works for object, behaviors and static actions.
*/
static ExtensionAndMetadata<InstructionMetadata>
GetExtensionAndActionMetadata(const gd::Platform& platform,
gd::String actionType);
/**
* Get the metadata of a condition, and its associated extension.
* Works for object, behaviors and static conditions.
*/
static ExtensionAndMetadata<InstructionMetadata>
GetExtensionAndConditionMetadata(const gd::Platform& platform,
gd::String conditionType);
/**
* Get information about an expression, and its associated extension.
* Works for static expressions.
*/
static ExtensionAndMetadata<ExpressionMetadata>
GetExtensionAndExpressionMetadata(const gd::Platform& platform,
gd::String exprType);
/**
* Get information about an expression, and its associated extension.
* Works for object expressions.
*/
static ExtensionAndMetadata<ExpressionMetadata>
GetExtensionAndObjectExpressionMetadata(const gd::Platform& platform,
gd::String objectType,
gd::String exprType);
/**
* Get information about an expression, and its associated extension.
* Works for behavior expressions.
*/
static ExtensionAndMetadata<ExpressionMetadata>
GetExtensionAndBehaviorExpressionMetadata(const gd::Platform& platform,
gd::String autoType,
gd::String exprType);
/**
* Get information about a string expression, and its associated extension.
* Works for static expressions.
*/
static ExtensionAndMetadata<ExpressionMetadata>
GetExtensionAndStrExpressionMetadata(const gd::Platform& platform,
gd::String exprType);
/**
* Get information about a string expression, and its associated extension.
* Works for object expressions.
*/
static ExtensionAndMetadata<ExpressionMetadata>
GetExtensionAndObjectStrExpressionMetadata(const gd::Platform& platform,
gd::String objectType,
gd::String exprType);
/**
* Get information about a string expression, and its associated extension.
* Works for behavior expressions.
*/
static ExtensionAndMetadata<ExpressionMetadata>
GetExtensionAndBehaviorStrExpressionMetadata(const gd::Platform& platform,
gd::String autoType,
gd::String exprType);
/**
* Get the metadata about a behavior.
*/
static const BehaviorMetadata& GetBehaviorMetadata(
const gd::Platform& platform, gd::String behaviorType);
/**
* Get the metadata about an object in a project using a platform
* Get the metadata about an object.
*/
static const ObjectMetadata& GetObjectMetadata(const gd::Platform& platform,
gd::String type);
@@ -186,6 +301,7 @@ class GD_CORE_API MetadataProvider {
private:
MetadataProvider();
static PlatformExtension badExtension;
static BehaviorMetadata badBehaviorInfo;
static ObjectMetadata badObjectInfo;
static gd::InstructionMetadata badInstructionMetadata;

View File

@@ -6,6 +6,7 @@
#include "GDCore/IDE/Events/ArbitraryEventsWorker.h"
#include <map>
#include <memory>
#include <iostream>
#include <vector>
#include "GDCore/Events/Event.h"
#include "GDCore/Events/EventsList.h"

View File

@@ -12,11 +12,7 @@
#include "GDCore/String.h"
namespace gd {
class Instruction;
}
namespace gd {
class BaseEvent;
}
namespace gd {
class EventsList;
}

View File

@@ -11,26 +11,12 @@
#include "GDCore/String.h"
namespace gd {
class EventsList;
}
namespace gd {
class Layout;
}
namespace gd {
class Platform;
}
namespace gd {
class Project;
}
namespace gd {
class ExternalEvents;
}
namespace gd {
class BaseEvent;
}
namespace gd {
class Instruction;
}
namespace gd {
typedef std::shared_ptr<gd::BaseEvent> BaseEventSPtr;
}
@@ -53,6 +39,24 @@ class GD_CORE_API EventsSearchResult {
std::weak_ptr<gd::BaseEvent> event;
gd::EventsList* eventsList;
std::size_t positionInList;
bool IsEventsListValid() const { return eventsList != nullptr; }
/**
* \brief Get the events list containing the event pointed by the EventsSearchResult.
* \warning Only call this when IsEventsListValid returns true.
*/
const gd::EventsList & GetEventsList() const { return *eventsList; }
std::size_t GetPositionInList() const { return positionInList; }
bool IsEventValid() const { return !event.expired(); }
/**
* \brief Get the event pointed by the EventsSearchResult.
* \warning Only call this when IsEventValid returns true.
*/
const gd::BaseEvent & GetEvent() const { return *event.lock(); }
};
/**

View File

@@ -0,0 +1,37 @@
/*
* GDevelop Core
* Copyright 2008-2016 Florian Rival (Florian.Rival@gmail.com). All rights
* reserved. This project is released under the MIT License.
*/
#include "GDCore/IDE/Events/EventsTypesLister.h"
#include <iostream>
#include <map>
#include <memory>
#include <vector>
#include "GDCore/Events/Event.h"
#include "GDCore/Events/EventsList.h"
#include "GDCore/Project/Layout.h"
#include "GDCore/Project/Project.h"
#include "GDCore/String.h"
namespace gd {
bool EventsTypesLister::DoVisitEvent(gd::BaseEvent& event) {
allEventsTypes.push_back(event.GetType());
return false;
}
bool EventsTypesLister::DoVisitInstruction(gd::Instruction& instruction,
bool isCondition) {
if (isCondition)
allConditionsTypes.push_back(instruction.GetType());
else
allActionsTypes.push_back(instruction.GetType());
return false;
}
EventsTypesLister::~EventsTypesLister() {}
} // namespace gd

View File

@@ -0,0 +1,64 @@
/*
* GDevelop Core
* Copyright 2008-2016 Florian Rival (Florian.Rival@gmail.com). All rights
* reserved. This project is released under the MIT License.
*/
#ifndef EventsTypesLister_H
#define EventsTypesLister_H
#include <iostream>
#include <map>
#include <memory>
#include <vector>
#include "GDCore/IDE/Events/ArbitraryEventsWorker.h"
#include "GDCore/String.h"
namespace gd {
class BaseEvent;
class Project;
class EventsList;
} // namespace gd
namespace gd {
/**
* \brief List the values of the parameters of events and their type.
*
* \ingroup IDE
*/
class GD_CORE_API EventsTypesLister : public ArbitraryEventsWorker {
public:
EventsTypesLister(const gd::Project& project_) : project(project_){};
virtual ~EventsTypesLister();
/**
* Return the types of all events
*/
const std::vector<gd::String>& GetAllEventsTypes() { return allEventsTypes; }
/**
* Return the types of all conditions
*/
const std::vector<gd::String>& GetAllConditionsTypes() {
return allConditionsTypes;
}
/**
* Return the types of all actions
*/
const std::vector<gd::String>& GetAllActionsTypes() {
return allActionsTypes;
}
private:
bool DoVisitEvent(gd::BaseEvent& event) override;
bool DoVisitInstruction(gd::Instruction& instruction,
bool isCondition) override;
std::vector<gd::String> allEventsTypes;
std::vector<gd::String> allConditionsTypes;
std::vector<gd::String> allActionsTypes;
const gd::Project& project;
};
} // namespace gd
#endif // EventsTypesLister_H

View File

@@ -0,0 +1,204 @@
/**
* This is a declaration of an extension for GDevelop 5.
*
* Run `node import-GDJS-Runtime.js` (in newIDE/app/scripts) if you make any change
* to this extension file or to any other *.js file that you reference inside.
*
* The file must be named "JsExtension.js", otherwise GDevelop won't load it.
* ⚠️ If you make a change and the extension is not loaded, open the developer console
* and search for any errors.
*
* More information on https://github.com/4ian/GD/blob/master/newIDE/README-extensions.md
*/
module.exports = {
createExtension: function(t, gd) {
const extension = new gd.PlatformExtension();
extension.setExtensionInformation(
"DeviceSensors",
t("Device sensors"),
t(
"Allow the game to access the sensors of a mobile device."
),
"Matthias Meike",
"Open source (MIT License)"
).setExtensionHelpPath("/all-features/device-sensors");
extension
.addCondition(
"OrientationSensorActive",
t("Sensor active"),
t(
"The condition is true if the device orientation sensor is currently active"
),
t("Orientation sensor is active"),
t("Sensors/Orientation"),
"JsPlatform/Extensions/orientation_active24.png",
"JsPlatform/Extensions/orientation_active32.png"
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.isActive");
extension
.addCondition(
"OrientationAlpha",
t("Compare the value of orientation alpha"),
t(
"Compare the value of orientation alpha. (Range: 0 to 360°)"
),
t("Orientation alpha is _PARAM0__PARAM1_"),
t("Sensors/Orientation"),
"JsPlatform/Extensions/orientation_alpha24.png",
"JsPlatform/Extensions/orientation_alpha32.png"
)
.addParameter("relationalOperator", t("Sign of the test"))
.addParameter("expression", t("Value"))
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationAlpha");
extension
.addCondition(
"OrientationBeta",
t("Compare the value of orientation beta"),
t(
"Compare the value of orientation beta. (Range: -180 to 180°)"
),
t("Orientation beta is _PARAM0__PARAM1_"),
t("Sensors/Orientation"),
"JsPlatform/Extensions/orientation_beta24.png",
"JsPlatform/Extensions/orientation_beta32.png"
)
.addParameter("relationalOperator", t("Sign of the test"))
.addParameter("expression", t("Value"))
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationBeta");
extension
.addCondition(
"OrientationGamma",
t("Compare the value of orientation gamma"),
t(
"Compare the value of orientation gamma. (Range: -90 to 90°)"
),
t("Orientation gamma is _PARAM0__PARAM1_"),
t("Sensors/Orientation"),
"JsPlatform/Extensions/orientation_gamma24.png",
"JsPlatform/Extensions/orientation_gamma32.png"
)
.addParameter("relationalOperator", t("Sign of the test"))
.addParameter("expression", t("Value"))
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationGamma");
extension
.addAction(
"ActivateOrientationListener",
t("Activate orientation sensor"),
t("Activate the orientation sensor. (remember to turn it off again)"),
t("Activate the orientation sensor."),
t("Sensors/Orientation"),
"JsPlatform/Extensions/orientation_active24.png",
"JsPlatform/Extensions/orientation_active32.png"
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.activateOrientationSensor");
extension
.addAction(
"DeactivateOrientationListener",
t("Deactivate orientation sensor"),
t("Deactivate the orientation sensor."),
t("Deactivate the orientation sensor."),
t("Sensors/Orientation"),
"JsPlatform/Extensions/orientation_inactive24.png",
"JsPlatform/Extensions/orientation_inactive32.png"
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.deactivateOrientationSensor");
extension
.addExpression(
"OrientationActive",
t("Sensor Active"),
t("The expression is true if the device orientation sensor is currently active"),
t("Sensors/Orientation")
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.isActive");
extension
.addExpression(
"OrientationAbsolute",
t("Is Absolute"),
t("Get if the devices orientation is absolute and not relative"),
t("Sensors/Orientation")
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationAbsolute");
extension
.addExpression(
"OrientationAlpha",
t("Alpha value"),
t("Get the devices orientation Alpha (compass)"),
t("Sensors/Orientation")
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationAlpha");
extension
.addExpression(
"OrientationBeta",
t("Beta value"),
t("Get the devices orientation Beta"),
t("Sensors/Orientation")
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationBeta");
extension
.addExpression(
"OrientationGamma",
t("Gamma value"),
t("Get the devices orientation Gamma value"),
t("Sensors/Orientation")
)
.getCodeExtraInformation()
.setIncludeFile(
"Extensions/DeviceSensors/devicesensortools.js"
)
.setFunctionName("gdjs.evtTools.devicesensors.orientation.getOrientationGamma");
return extension;
},
runExtensionSanityTests: function(gd, extension) { return []; },
};

View File

@@ -0,0 +1,87 @@
/**
* @memberof gdjs.evtTools
* @class devicesensors
* @static
* @private
*/
gdjs.evtTools.devicesensors = {
orientation: {
_isActive: 0,
_absolute: 0,
_alpha: 0,
_beta: 0,
_gamma: 0
}
};
gdjs.evtTools.devicesensors.orientation._activateOrientationListener = function() {
window.addEventListener("deviceorientation", gdjs.evtTools.devicesensors.orientation._handleOrientation, true);
gdjs.evtTools.devicesensors.orientation._isActive = 1;
}
gdjs.evtTools.devicesensors.orientation._deactivateOrientationListener = function() {
window.removeEventListener('deviceorientation', gdjs.evtTools.devicesensors.orientation._handleOrientation, true);
gdjs.evtTools.devicesensors.orientation._isActive = 0;
}
gdjs.evtTools.devicesensors.orientation._handleOrientation = function(event) {
gdjs.evtTools.devicesensors.orientation._absolute = event.absolute ? Math.round(event.absolute) : 0;
gdjs.evtTools.devicesensors.orientation._alpha = event.alpha ? Math.round(event.alpha) : 0;
gdjs.evtTools.devicesensors.orientation._beta = event.beta ? Math.round(event.beta) : 0;
gdjs.evtTools.devicesensors.orientation._gamma = event.gamma ? Math.round(event.gamma) : 0;
}
/**
* Activate the orientation sensor
*/
gdjs.evtTools.devicesensors.orientation.activateOrientationSensor = function() {
gdjs.evtTools.devicesensors.orientation._activateOrientationListener();
}
/**
* Deactivate the orientation sensor
*/
gdjs.evtTools.devicesensors.orientation.deactivateOrientationSensor = function() {
gdjs.evtTools.devicesensors.orientation._deactivateOrientationListener();
}
/**
* Check if the orientation sensor is currently active
* @return {number} The activation state of the orientation sensor (0=false/1=true)
*/
gdjs.evtTools.devicesensors.orientation.isActive = function() {
return gdjs.evtTools.devicesensors.orientation._isActive;
}
/**
* Get the value of the device orientations absolute as a number
* @return {number} The device orientation's absolute value
*/
gdjs.evtTools.devicesensors.orientation.getOrientationAbsolute = function() {
return gdjs.evtTools.devicesensors.orientation._absolute;
};
/**
* Get the value of the device orientations alpha as a number
* @return {number} The device orientation's alpha value
*/
gdjs.evtTools.devicesensors.orientation.getOrientationAlpha = function() {
return gdjs.evtTools.devicesensors.orientation._alpha;
};
/**
* Get the value of the device orientations beta as a number
* @return {number} The device orientation's beta value
*/
gdjs.evtTools.devicesensors.orientation.getOrientationBeta = function() {
return gdjs.evtTools.devicesensors.orientation._beta;
};
/**
* Get the value of the device orientations gamma as a number
* @return {number} The device orientation's gamma value
*/
gdjs.evtTools.devicesensors.orientation.getOrientationGamma = function() {
return gdjs.evtTools.devicesensors.orientation._gamma;
};

View File

@@ -327,12 +327,12 @@ module.exports = {
* and setting the property to a given value.
*
* If you don't have any tests, you can simply return an empty array like this:
* `runExtensionSanityTests: function(extension) { return []; }`
* `runExtensionSanityTests: function(gd, extension) { return []; }`
*
* But it is recommended to create tests for the behaviors/objects properties you created
* to avoid mistakes.
*/
runExtensionSanityTests: function(extension) {
runExtensionSanityTests: function(gd, extension) {
const dummyBehavior = extension
.getBehaviorMetadata("MyDummyExtension::DummyBehavior")
.get();

View File

@@ -13,42 +13,43 @@
module.exports = {
createExtension: function(t, gd) {
const extension = new gd.PlatformExtension();
extension.setExtensionInformation(
"FacebookInstantGames",
t("Facebook Instant Games"),
t(
"Allow your game to send scores and interact with Facebook Instant Games"
),
"Florian Rival",
"Open source (MIT License)"
);
extension
.setExtensionInformation(
"FacebookInstantGames",
t("Facebook Instant Games"),
t(
"Allow your game to send scores and interact with Facebook Instant Games"
),
"Florian Rival",
"Open source (MIT License)"
)
.setExtensionHelpPath("/publishing/publishing-to-facebook-instant-games");
extension
.addAction(
"SavePlayerData",
t("Save player data"),
t("Save the content of the given variable in the player data, stored on Facebook Instant Games servers"),
t("Save the content of _PARAM1_ in key _PARAM1_ of player data (store success message in _PARAM2_ or error in _PARAM3_)"),
t(
"Save the content of the given variable in the player data, stored on Facebook Instant Games servers"
),
t(
"Save the content of _PARAM1_ in key _PARAM1_ of player data (store success message in _PARAM2_ or error in _PARAM3_)"
),
t("Facebook Instant Games/Player data"),
"JsPlatform/Extensions/facebookicon24.png",
"JsPlatform/Extensions/facebookicon16.png"
)
.addParameter("string", 'Data key name (e.g: "Lives")', "", false)
.addParameter("scenevar", "Variable with the content to save", "", false)
.addParameter(
"scenevar",
"Variable with the content to save",
"",
false
)
.addParameter(
"scenevar",
"Variable where to store the success message (optional)",
t("Variable where to store the success message (optional)"),
"",
true
)
.addParameter(
"scenevar",
"Variable where to error message (optional, if an error occurs)",
t("Variable where to error message (optional, if an error occurs)"),
"",
true
)
@@ -63,7 +64,9 @@ module.exports = {
"LoadPlayerData",
t("Load player data"),
t("Load the player data with the given key in a variable"),
t("Load player data with key _PARAM0_ in _PARAM1_ (or error in _PARAM2_)"),
t(
"Load player data with key _PARAM0_ in _PARAM1_ (or error in _PARAM2_)"
),
t("Facebook Instant Games/Player data"),
"JsPlatform/Extensions/facebookicon24.png",
"JsPlatform/Extensions/facebookicon16.png"
@@ -91,29 +94,38 @@ module.exports = {
.addAction(
"SavePlayerScore",
t("Save player score"),
t("Save the score, and optionally the content of the given variable in the player score, for the given metadata."),
t("In leaderboard _PARAM0_, save score _PARAM1_ for the player and extra data from _PARAM2_ (store success message in _PARAM3_ or error in _PARAM4_)"),
t(
"Save the score, and optionally the content of the given variable in the player score, for the given metadata."
),
t(
"In leaderboard _PARAM0_, save score _PARAM1_ for the player and extra data from _PARAM2_ (store success message in _PARAM3_ or error in _PARAM4_)"
),
t("Facebook Instant Games/Leaderboards"),
"JsPlatform/Extensions/facebookicon24.png",
"JsPlatform/Extensions/facebookicon16.png"
)
.addParameter("string", 'Leaderboard name (e.g: "PlayersBestTimes")', "", false)
.addParameter("expression", 'Score to register for the player', "", false)
.addParameter(
"string",
'Leaderboard name (e.g: "PlayersBestTimes")',
"",
false
)
.addParameter("expression", "Score to register for the player", "", false)
.addParameter(
"scenevar",
"Optional variable with metadata to save",
t("Optional variable with metadata to save"),
"",
true
)
.addParameter(
"scenevar",
"Variable where to store the success message (optional)",
t("Variable where to store the success message (optional)"),
"",
true
)
.addParameter(
"scenevar",
"Variable where to error message (optional, if an error occurs)",
t("Variable where to error message (optional, if an error occurs)"),
"",
true
)
@@ -128,12 +140,19 @@ module.exports = {
"LoadPlayerEntry",
t("Load player entry"),
t("Load the player entry in the given leaderboard"),
t("Load player entry from leaderboard _PARAM0_. Set rank in _PARAM1_, score in _PARAM2_ (extra data if any in _PARAM3_ and error in _PARAM4_)"),
t(
"Load player entry from leaderboard _PARAM0_. Set rank in _PARAM1_, score in _PARAM2_ (extra data if any in _PARAM3_ and error in _PARAM4_)"
),
t("Facebook Instant Games/Leaderboards"),
"JsPlatform/Extensions/facebookicon24.png",
"JsPlatform/Extensions/facebookicon16.png"
)
.addParameter("string", 'Leaderboard name (e.g: "PlayersBestTimes")', "", false)
.addParameter(
"string",
t('Leaderboard name (e.g: "PlayersBestTimes")'),
"",
false
)
.addParameter(
"scenevar",
t("Variable where to store the player rank (of -1 if not ranked)"),
@@ -194,5 +213,7 @@ module.exports = {
return extension;
},
runExtensionSanityTests: function(extension) { return []; },
runExtensionSanityTests: function(gd, extension) {
return [];
}
};

View File

@@ -54,10 +54,10 @@ class GD_EXTENSION_API ParticleEmitterBase {
/** Change texture name without changing it effectively at runtime
*/
void SetParticleTexture(gd::String imageName) {
void SetParticleTexture(const gd::String & imageName) {
textureParticleName = imageName;
};
gd::String GetParticleTexture() const { return textureParticleName; };
const gd::String & GetParticleTexture() const { return textureParticleName; };
/**
* \brief Initialize the particle system with the current objects settings.

View File

@@ -598,6 +598,10 @@ gdjs.PlatformerObjectRuntimeBehavior.prototype._updatePotentialCollidingObjects
}*/
};
/**
* Simulate a control action in the Platformer Object by specifying an input.
* @param {string} input The string expression of the control action [Left,Right,Up,Down,Ladder,Jump,Release].
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateControl = function(input) {
if ( input === "Left" ) this._leftKey = true;
else if ( input === "Right" ) this._rightKey = true;
@@ -608,55 +612,118 @@ gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateControl = function(input)
else if ( input === "Release" ) this._releaseKey = true;
};
/**
* Get the gravity of the Platformer Object.
* @returns {number} The current gravity.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.getGravity = function()
{
return this._gravity;
};
/**
* Get the maximum falling speed of the Platformer Object.
* @returns {number} The maximum falling speed.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.getMaxFallingSpeed = function()
{
return this._maxFallingSpeed;
};
/**
* Get the acceleration value of the Platformer Object.
* @returns {number} The current acceleration.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.getAcceleration = function()
{
return this._acceleration;
};
/**
* Get the deceleration of the Platformer Object.
* @returns {number} The current deceleration.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.getDeceleration = function()
{
return this._deceleration;
};
/**
* Get the maximum speed of the Platformer Object.
* @returns {number} The maximum speed.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.getMaxSpeed = function()
{
return this._maxSpeed;
};
/**
* Get the jump speed of the Platformer Object.
* @returns {number} The jump speed.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.getJumpSpeed = function()
{
return this._jumpSpeed;
};
/**
* Set the gravity of the Platformer Object.
* @param {number} gravity The new gravity.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setGravity = function(gravity)
{
this._gravity = gravity;
};
/**
* Set the maximum falling speed of the Platformer Object.
* @param {number} maxFallingSpeed The maximum falling speed.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setMaxFallingSpeed = function(maxFallingSpeed)
{
this._maxFallingSpeed = maxFallingSpeed;
};
/**
* Set the acceleration of the Platformer Object.
* @param {number} acceleration The new acceleration.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setAcceleration = function(acceleration)
{
this._acceleration = acceleration;
};
/**
* Set the deceleration of the Platformer Object.
* @param {number} deceleration The new deceleration.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setDeceleration = function(deceleration)
{
this._deceleration = deceleration;
};
/**
* Set the maximum speed of the Platformer Object.
* @param {number} maxSpeed The new maximum speed.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setMaxSpeed = function(maxSpeed)
{
this._maxSpeed = maxSpeed;
};
/**
* Set the jump speed of the Platformer Object.
* @param {number} jumpSpeed The new jump speed.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setJumpSpeed = function(jumpSpeed)
{
this._jumpSpeed = jumpSpeed;
};
/**
* Set the maximum slope angle of the Platformer Object.
* @param {number} slopeMaxAngle The new maximum slope angle.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setSlopeMaxAngle = function(slopeMaxAngle)
{
if (slopeMaxAngle < 0 || slopeMaxAngle >= 90) return;
@@ -667,10 +734,19 @@ gdjs.PlatformerObjectRuntimeBehavior.prototype.setSlopeMaxAngle = function(slope
else
this._slopeClimbingFactor = Math.tan(slopeMaxAngle*3.1415926/180.0);
};
/**
* Allow the Platformer Object to jump again.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setCanJump = function()
{
this._canJump = true;
};
/**
* Set if the Platformer Object can grab platforms.
* @param {boolean} enable Enable / Disable grabbing of platforms.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.setCanGrabPlatforms = function(enable)
{
this._canGrabPlatforms = enable;
@@ -679,56 +755,111 @@ gdjs.PlatformerObjectRuntimeBehavior.prototype.setCanGrabPlatforms = function(en
}
};
/**
* Ignore the default controls of the Platformer Object.
* @param {boolean} ignore Enable / Disable default controls.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.ignoreDefaultControls = function(ignore)
{
this._ignoreDefaultControls = ignore;
};
/**
* Simulate the "Left" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateLeftKey = function()
{
this._leftKey = true;
};
/**
* Simulate the "Right" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateRightKey = function()
{
this._rightKey = true;
};
/**
* Simulate the "Ladder" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateLadderKey = function()
{
this._ladderKey = true;
};
/**
* Simulate the "Up" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateUpKey = function()
{
this._upKey = true;
};
/**
* Simulate the "Down" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateDownKey = function()
{
this._downKey = true;
};
/**
* Simulate the "Jump" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateJumpKey = function()
{
this._jumpKey = true;
};
/**
* Simulate the "Release" control of the Platformer Object.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.simulateReleaseKey = function()
{
this._releaseKey = true;
};
/**
* Check if the Platformer Object is on the floor.
* @returns {boolean} Returns true if on the floor and false if not.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.isOnFloor = function()
{
return this._isOnFloor;
};
/**
* Check if the Platformer Object is on a ladder.
* @returns {boolean} Returns true if on a ladder and false if not.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.isOnLadder = function()
{
return this._isOnLadder;
};
/**
* Check if the Platformer Object is jumping.
* @returns {boolean} Returns true if jumping and false if not.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.isJumping = function()
{
return this._jumping;
};
/**
* Check if the Platformer Object is grabbing a platform.
* @returns {boolean} Returns true if a platform is grabbed and false if not.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.isGrabbingPlatform = function()
{
return this._isGrabbingPlatform;
};
/**
* Check if the Platformer Object is falling.
* @returns {boolean} Returns true if it is falling and false if not.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.isFalling = function()
{
return !this._isOnFloor &&
@@ -736,6 +867,11 @@ gdjs.PlatformerObjectRuntimeBehavior.prototype.isFalling = function()
!this._isOnLadder &&
(!this._jumping || this._currentJumpSpeed < this._currentFallSpeed) ;
};
/**
* Check if the Platformer Object is moving.
* @returns {boolean} Returns true if it is moving and false if not.
*/
gdjs.PlatformerObjectRuntimeBehavior.prototype.isMoving = function()
{
return (this._hasReallyMoved &&this._currentSpeed !== 0) || this._currentJumpSpeed !== 0 || this._currentFallSpeed !== 0;

View File

@@ -67,7 +67,7 @@ gdjs.TextRuntimeObject.prototype.setY = function(y) {
/**
* Set the angle of the object.
* @param angle {Number} The new angle of the object
* @param {number} angle The new angle of the object
*/
gdjs.TextRuntimeObject.prototype.setAngle = function(angle) {
gdjs.RuntimeObject.prototype.setAngle.call(this, angle);
@@ -120,7 +120,7 @@ gdjs.TextRuntimeObject.prototype.getCharacterSize = function() {
/**
* Set size of characters of the object.
* @param newSize {Number} The new size for text.
* @param {number} newSize The new size for text.
*/
gdjs.TextRuntimeObject.prototype.setCharacterSize = function(newSize) {
if (newSize <= 1) newSize = 1;

View File

@@ -50,55 +50,104 @@ gdjs.TiledSpriteRuntimeObject.prototype.extraInitializationFromInitialInstance =
}
};
/**
* Set the X position of the Tiled Sprite object.
* @param {number} x The new X position.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setX = function(x) {
gdjs.RuntimeObject.prototype.setX.call(this, x);
this._renderer.updatePosition();
};
/**
* Set the Y position of the Tiled Sprite object.
* @param {number} y The new Y position.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setY = function(y) {
gdjs.RuntimeObject.prototype.setY.call(this, y);
this._renderer.updatePosition();
};
/**
* Assign a new texture to the Tiled Sprite object.
* @param {string} textureName The name of the image texture ressource.
* @param {gdjs.RuntimeScene} runtimeScene The scene in which the texture is used.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setTexture = function(textureName, runtimeScene) {
this._renderer.setTexture(textureName, runtimeScene);
};
/**
* Set the angle of the Tiled Sprite object.
* @param {number} angle The new angle.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setAngle = function(angle) {
gdjs.RuntimeObject.prototype.setAngle.call(this, angle);
this._renderer.updateAngle();
};
/**
* Get the width of the Tiled Sprite object.
* @returns {number} The width of the Tiled Sprite object
*/
gdjs.TiledSpriteRuntimeObject.prototype.getWidth = function() {
return this._renderer.getWidth();
};
/**
* Get the height of the Tiled Sprite object.
* @returns {number} The height of the Tiled Sprite object
*/
gdjs.TiledSpriteRuntimeObject.prototype.getHeight = function() {
return this._renderer.getHeight();
};
/**
* Set the width of the Tiled Sprite object.
* @param {number} width The new width.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setWidth = function(width) {
this._renderer.setWidth(width);
};
/**
* Set the height of the Tiled Sprite object.
* @param {number} height The new height.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setHeight = function(height) {
this._renderer.setHeight(height);
};
/**
* Set the offset on the X-axis when displaying the image of the Tiled Sprite object.
* @param {number} xOffset The new offset on the X-axis.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setXOffset = function(xOffset) {
this._xOffset = xOffset;
this._renderer.updateXOffset();
};
/**
* Set the offset on the Y-axis when displaying the image of the Tiled Sprite object.
* @param {number} yOffset The new offset on the Y-axis.
*/
gdjs.TiledSpriteRuntimeObject.prototype.setYOffset = function(yOffset) {
this._yOffset = yOffset;
this._renderer.updateYOffset();
};
/**
* Get the offset on the X-axis of the Tiled Sprite object.
* @returns {number} The offset on the X-axis
*/
gdjs.TiledSpriteRuntimeObject.prototype.getXOffset = function() {
return this._xOffset;
};
/**
* Get the offset on the Y-axis of the Tiled Sprite object.
* @returns {number} The offset on the Y-axis
*/
gdjs.TiledSpriteRuntimeObject.prototype.getYOffset = function() {
return this._yOffset;
};

View File

@@ -143,6 +143,24 @@ BaseObjectExtension::BaseObjectExtension() {
objectConditions["CollisionPoint"]
.SetFunctionName("isCollidingWithPoint")
.SetIncludeFile("runtimeobject.js");
objectConditions["ObjectTimer"]
.SetFunctionName("timerElapsedTime")
.SetIncludeFile("runtimeobject.js");
objectConditions["ObjectTimerPaused"]
.SetFunctionName("timerPaused")
.SetIncludeFile("runtimeobject.js");
objectActions["ResetObjectTimer"]
.SetFunctionName("resetTimer")
.SetIncludeFile("runtimeobject.js");
objectActions["PauseObjectTimer"]
.SetFunctionName("pauseTimer")
.SetIncludeFile("runtimeobject.js");
objectActions["UnPauseObjectTimer"]
.SetFunctionName("unpauseTimer")
.SetIncludeFile("runtimeobject.js");
objectActions["RemoveObjectTimer"]
.SetFunctionName("removeTimer")
.SetIncludeFile("runtimeobject.js");
objectExpressions["X"].SetFunctionName("getX");
objectExpressions["Y"].SetFunctionName("getY");
@@ -171,6 +189,7 @@ BaseObjectExtension::BaseObjectExtension() {
"getAverageForce().getLength"); // Deprecated
objectExpressions["Distance"].SetFunctionName("getDistanceToObject");
objectExpressions["SqDistance"].SetFunctionName("getSqDistanceToObject");
objectExpressions["ObjectTimerElapsedTime"].SetFunctionName("getTimerElapsedTimeInSeconds");
objectStrExpressions["ObjectName"].SetFunctionName("getName");
GetAllActions()["Create"].SetFunctionName(

View File

@@ -674,7 +674,7 @@ CommonInstructionsExtension::CommonInstructionsExtension() {
});
AddEvent("JsCode",
_("Javascript code (Web platform only)"),
_("Javascript code"),
_("Insert some Javascript code into events"),
"",
"res/source_cpp16.png",

View File

@@ -93,3 +93,21 @@ gdjs.RuntimeGameCocosRenderer.getScreenWidth = function() {
gdjs.RuntimeGameCocosRenderer.getScreenHeight = function() {
return cc.view.getFrameSize().height;
}
/**
* Open the given URL in the system browser
*/
gdjs.RuntimeGameCocosRenderer.prototype.openURL = function() {
// Try to detect the environment to use the most adapted
// way of opening an URL.
if (typeof cc !== "undefined" && cc.sys && cc.sys.openURL) {
cc.sys.openURL(url);
} else if (typeof window !== "undefined") {
var target = window.cordova ? "_system" : "_blank";
window.open(url, target);
}
}
gdjs.RuntimeGameCocosRenderer.prototype.stopGame = function() {
// TODO - Not implemented as not useful for most games on mobile and browsers
}

View File

@@ -61,14 +61,5 @@ gdjs.evtTools.window.getCanvasHeight = function(runtimeScene) {
};
gdjs.evtTools.window.openURL = function(url) {
//Try to detect the environment to use the most adapted
//way of opening an URL.
if (typeof cc !== "undefined" && cc.sys && cc.sys.openURL) {
cc.sys.openURL(url);
} else if (typeof Cocoon !== "undefined" && Cocoon.App && Cocoon.App.openURL) {
Cocoon.App.openURL(url);
} else if (typeof window !== "undefined") {
var target = window.cordova ? "_system" : "_blank";
window.open(url, target);
}
return runtimeScene.getGame().getRenderer().openURL(url);
};

View File

@@ -39,7 +39,7 @@ gdjs.Force.prototype.getY = function() {
/**
* Set the x component of the force.
* @param x {Number} The new X component
* @param {number} x The new X component
*/
gdjs.Force.prototype.setX = function(x) {
this._x = x;
@@ -48,7 +48,7 @@ gdjs.Force.prototype.setX = function(x) {
/**
* Set the y component of the force.
* @param y {Number} The new Y component
* @param {number} y The new Y component
*/
gdjs.Force.prototype.setY = function(y) {
this._y = y;
@@ -57,7 +57,7 @@ gdjs.Force.prototype.setY = function(y) {
/**
* Set the angle of the force.
* @param angle {Number} The new angle
* @param {number} angle The new angle
*/
gdjs.Force.prototype.setAngle = function(angle) {
@@ -73,7 +73,7 @@ gdjs.Force.prototype.setAngle = function(angle) {
/**
* Set the length of the force.
* @param len {Number} The length
* @param {number} len The length
*/
gdjs.Force.prototype.setLength = function(len) {
@@ -125,6 +125,7 @@ gdjs.Force.prototype.getClearing = function() {
/**
* Set if the force clearing.
* @param {number} clearing The new value
*/
gdjs.Force.prototype.setClearing = function(clearing) {
this._clearing = clearing;

View File

@@ -5,10 +5,10 @@
*/
/**
* The `gdjs` namespace should contains every class and object of the game engine.
* The `gdjs` namespace contains all classes and objects of the game engine.
* @namespace
*/
var gdjs = gdjs || {
window.gdjs = {
objectsTypes: new Hashtable(),
behaviorsTypes: new Hashtable(),
/**

View File

@@ -35,7 +35,7 @@ gdjs.InputManager = function()
/**
* Should be called whenever a key is pressed
* @param keyCode {Number} The key code associated to the key press.
* @param {number} keyCode The key code associated to the key press.
*/
gdjs.InputManager.prototype.onKeyPressed = function(keyCode) {
this._pressedKeys.put(keyCode, true);
@@ -44,7 +44,7 @@ gdjs.InputManager.prototype.onKeyPressed = function(keyCode) {
/**
* Should be called whenever a key is released
* @param keyCode {Number} The key code associated to the key release.
* @param {number} keyCode The key code associated to the key release.
*/
gdjs.InputManager.prototype.onKeyReleased = function(keyCode) {
this._pressedKeys.put(keyCode, false);
@@ -53,7 +53,7 @@ gdjs.InputManager.prototype.onKeyReleased = function(keyCode) {
/**
* Return the code of the last key that was pressed.
* @return {Number} The code of the last key pressed.
* @return {number} The code of the last key pressed.
*/
gdjs.InputManager.prototype.getLastPressedKey = function() {
return this._lastPressedKey;
@@ -61,7 +61,7 @@ gdjs.InputManager.prototype.getLastPressedKey = function() {
/**
* Return true if the key corresponding to keyCode is pressed.
* @param keyCode {Number} The key code to be tested.
* @param {number} keyCode The key code to be tested.
*/
gdjs.InputManager.prototype.isKeyPressed = function(keyCode) {
return this._pressedKeys.containsKey(keyCode) && this._pressedKeys.get(keyCode);
@@ -69,7 +69,7 @@ gdjs.InputManager.prototype.isKeyPressed = function(keyCode) {
/**
* Return true if the key corresponding to keyCode was released during the last frame.
* @param keyCode {Number} The key code to be tested.
* @param {number} keyCode The key code to be tested.
*/
gdjs.InputManager.prototype.wasKeyReleased = function(keyCode) {
return this._releasedKeys.containsKey(keyCode) && this._releasedKeys.get(keyCode);
@@ -94,8 +94,8 @@ gdjs.InputManager.prototype.anyKeyPressed = function() {
* Should be called when the mouse is moved.<br>
* Please note that the coordinates must be expressed relative to the view position.
*
* @param x {Number} The mouse new X position
* @param y {Number} The mouse new Y position
* @param {number} x The mouse new X position
* @param {number} y The mouse new Y position
*/
gdjs.InputManager.prototype.onMouseMove = function(x,y) {
this._mouseX = x;
@@ -122,7 +122,7 @@ gdjs.InputManager.prototype.getMouseY = function() {
/**
* Should be called whenever a mouse button is pressed
* @param buttonCode {Number} The mouse button code associated to the event.<br>0: Left button<br>1: Right button
* @param {number} buttonCode The mouse button code associated to the event.<br>0: Left button<br>1: Right button
*/
gdjs.InputManager.prototype.onMouseButtonPressed = function(buttonCode) {
this._pressedMouseButtons[buttonCode] = true;
@@ -131,7 +131,7 @@ gdjs.InputManager.prototype.onMouseButtonPressed = function(buttonCode) {
/**
* Should be called whenever a mouse button is released
* @param buttonCode {Number} The mouse button code associated to the event. ( See onMouseButtonPressed )
* @param {number} buttonCode The mouse button code associated to the event. ( See onMouseButtonPressed )
*/
gdjs.InputManager.prototype.onMouseButtonReleased = function(buttonCode) {
this._pressedMouseButtons[buttonCode] = false;
@@ -140,7 +140,7 @@ gdjs.InputManager.prototype.onMouseButtonReleased = function(buttonCode) {
/**
* Return true if the mouse button corresponding to buttonCode is pressed.
* @param buttonCode {Number} The mouse button code (0: Left button, 1: Right button).
* @param {number} buttonCode The mouse button code (0: Left button, 1: Right button).
*/
gdjs.InputManager.prototype.isMouseButtonPressed = function(buttonCode) {
return this._pressedMouseButtons[buttonCode] !== undefined && this._pressedMouseButtons[buttonCode];
@@ -148,7 +148,7 @@ gdjs.InputManager.prototype.isMouseButtonPressed = function(buttonCode) {
/**
* Return true if the mouse button corresponding to buttonCode was just released.
* @param buttonCode {Number} The mouse button code (0: Left button, 1: Right button).
* @param {number} buttonCode The mouse button code (0: Left button, 1: Right button).
*/
gdjs.InputManager.prototype.isMouseButtonReleased = function(buttonCode) {
return this._releasedMouseButtons[buttonCode] !== undefined && this._releasedMouseButtons[buttonCode];
@@ -156,7 +156,7 @@ gdjs.InputManager.prototype.isMouseButtonReleased = function(buttonCode) {
/**
* Should be called whenever the mouse wheel is used
* @param wheelDelta {Number} The mouse wheel delta
* @param {number} wheelDelta The mouse wheel delta
*/
gdjs.InputManager.prototype.onMouseWheel = function(wheelDelta) {
this._mouseWheelDelta = wheelDelta;

View File

@@ -10,6 +10,8 @@
* Viewports and multiple cameras are not supported.
*
* @class Layer
* @param {Object} layerData The data used to initialize the layer
* @param {gdjs.RuntimeScene} runtimeScene The scene in which the layer is used
* @memberof gdjs
*/
gdjs.Layer = function(layerData, runtimeScene)
@@ -92,6 +94,10 @@ gdjs.Layer.prototype.getCameraHeight = function(cameraId) {
return (+this._height)*1/this._zoomFactor;
};
/**
* Show (or hide) the layer.
* @param {boolean} enable true to show the layer, false to hide it.
*/
gdjs.Layer.prototype.show = function(enable) {
this._hidden = !enable;
this._renderer.updateVisibility(enable);

View File

@@ -3,12 +3,17 @@
* The renderer for a gdjs.RuntimeGame using Pixi.js.
* @class RuntimeGamePixiRenderer
* @memberof gdjs
* @param {gdjs.RuntimeGame} game The game that is being rendered
* @param {number} width The default width of the renderer
* @param {number} height The default height of the renderer
* @param {boolean} forceFullscreen If fullscreen should be always activated
*/
gdjs.RuntimeGamePixiRenderer = function(game, width, height, forceFullscreen)
{
this._game = game;
this._isFullscreen = true; //Used to track if the canvas is displayed as fullscreen (see setFullscreen method).
this._isFullPage = true; //Used to track if the canvas is displayed on the full page.
this._isFullscreen = false; //Used to track if the window is displayed as fullscreen (see setFullscreen method).
this._forceFullscreen = forceFullscreen; //If set to true, the canvas will always be displayed as fullscreen, even if _isFullscreen == false.
this._pixiRenderer = null;
this._canvasArea = null;
@@ -41,8 +46,8 @@ gdjs.RuntimeGamePixiRenderer.prototype.createStandardCanvas = function(canvasAre
PIXI.glCore.VertexArrayObject.FORCE_NATIVE = true;
//Create the renderer and setup the rendering area
//"transparent: true" is needed to avoid flickering issues on some mobile phones (see #566)
this._pixiRenderer = PIXI.autoDetectRenderer(this._game.getDefaultWidth(), this._game.getDefaultHeight(), {transparent: true} );
//"preserveDrawingBuffer: true" is needed to avoid flickering and background issues on some mobile phones (see #585 #572 #566 #463)
this._pixiRenderer = PIXI.autoDetectRenderer(this._game.getDefaultWidth(), this._game.getDefaultHeight(), {preserveDrawingBuffer: true} );
canvasArea.style["position"] = "absolute";
canvasArea.appendChild(this._pixiRenderer.view); // add the renderer view element to the DOM
canvasArea.tabindex = "1"; //Ensure that the canvas has the focus.
@@ -78,8 +83,8 @@ gdjs.RuntimeGamePixiRenderer.prototype.getCurrentHeight = function() {
* Note that if the canvas is fullscreen, it won't be resized, but when going back to
* non fullscreen mode, the requested size will be used.
*
* @param width {Number} The new width
* @param height {Number} The new height
* @param {number} width The new width
* @param {number} height The new height
*/
gdjs.RuntimeGamePixiRenderer.prototype.setSize = function(width, height) {
this._currentWidth = width;
@@ -91,7 +96,7 @@ gdjs.RuntimeGamePixiRenderer.prototype.setSize = function(width, height) {
/**
* Resize the canvas, according to _isFullscreen, _forceFullscreen, _currentWidth,
* Resize the canvas, according to _isFullPage, _isFullscreen, _forceFullscreen, _currentWidth,
* _currentHeight, _marginTop, _marginLeft, _marginRight, _marginBottom, _keepRatio.
*
* @private
@@ -100,6 +105,7 @@ gdjs.RuntimeGamePixiRenderer.prototype.resize = function() {
var keepRatio = this._keepRatio;
var reduceIfNeed = this._reduceIfNeed;
var isFullPage = this._forceFullscreen || this._isFullPage || this._isFullscreen;
var isFullscreen = this._forceFullscreen || this._isFullscreen;
var width = this.getCurrentWidth();
var height = this.getCurrentHeight();
@@ -112,10 +118,10 @@ gdjs.RuntimeGamePixiRenderer.prototype.resize = function() {
if (maxWidth < 0) maxWidth = 0;
if (maxHeight < 0) maxHeight = 0;
if (isFullscreen && !keepRatio) {
if (isFullPage && !keepRatio) {
width = maxWidth;
height = maxHeight;
} else if (isFullscreen && keepRatio ||
} else if (isFullPage && keepRatio ||
(reduceIfNeed && (width > maxWidth || height > maxHeight))) {
var factor = maxWidth/width;
if (height*factor > maxHeight) factor = maxHeight/height;
@@ -168,27 +174,37 @@ gdjs.RuntimeGamePixiRenderer.prototype.setFullScreen = function(enable) {
if (this._isFullscreen !== enable) {
this._isFullscreen = !!enable;
var electron = gdjs.RuntimeGamePixiRenderer.getElectron();
if (electron) { // Use Electron BrowserWindow API
var browserWindow = electron.remote.getCurrentWindow();
if (browserWindow) {
browserWindow.setFullScreen(this._isFullscreen);
}
} else { // Use HTML5 Fullscreen API
//TODO: Do this on a user gesture, otherwise most browsers won't activate fullscreen
if (this._isFullscreen) {
if(document.documentElement.requestFullScreen) {
document.documentElement.requestFullScreen();
} else if(document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if(document.documentElement.webkitRequestFullScreen) {
document.documentElement.webkitRequestFullScreen();
}
}
else {
if(document.cancelFullScreen) {
document.cancelFullScreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
}
}
this.resize();
this._notifySceneForResize = true;
if (this._isFullscreen) {
if(document.documentElement.requestFullScreen) {
document.documentElement.requestFullScreen();
} else if(document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if(document.documentElement.webkitRequestFullScreen) {
document.documentElement.webkitRequestFullScreen();
}
}
else {
if(document.cancelFullScreen) {
document.cancelFullScreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
}
}
};
@@ -346,4 +362,48 @@ gdjs.RuntimeGamePixiRenderer.getScreenWidth = function() {
gdjs.RuntimeGamePixiRenderer.getScreenHeight = function() {
return (typeof window !== "undefined") ? window.innerHeight : 800;
}
/**
* Open the given URL in the system browser (or a new tab)
*/
gdjs.RuntimeGamePixiRenderer.prototype.openURL = function() {
// Try to detect the environment to use the most adapted
// way of opening an URL.
if (typeof Cocoon !== "undefined" && Cocoon.App && Cocoon.App.openURL) {
Cocoon.App.openURL(url);
} else if (typeof window !== "undefined") {
var target = window.cordova ? "_system" : "_blank";
window.open(url, target);
}
}
/**
* Close the game, if applicable
*/
gdjs.RuntimeGamePixiRenderer.prototype.stopGame = function() {
// Try to detect the environment to use the most adapted
// way of closing the app
var electron = gdjs.RuntimeGamePixiRenderer.getElectron();
if (electron) {
var browserWindow = electron.remote.getCurrentWindow();
if (browserWindow) {
browserWindow.close();
}
} else if (typeof navigator !== "undefined" && navigator.app && navigator.app.exitApp) {
navigator.app.exitApp();
}
// HTML5 games on mobile/browsers don't have a way to close their window/page.
}
/**
* Get the electron module, if running as a electron renderer process.
*/
gdjs.RuntimeGamePixiRenderer.getElectron = function() {
if (typeof require !== "undefined") {
return require('electron');
}
return null;
}

View File

@@ -71,6 +71,7 @@ gdjs.RuntimeBehavior.prototype.stepPostEvents = function(runtimeScene) {
/**
* De/Activate the behavior
* @param {boolean} enable true to enable the behavior, false to disable it
*/
gdjs.RuntimeBehavior.prototype.activate = function(enable) {
if ( enable === undefined ) enable = true;

View File

@@ -190,6 +190,7 @@ gdjs.RuntimeGame.prototype.getOriginalHeight = function() {
/**
* Get the default width of the game: canvas is created with this width,
* and cameras of layers are created using this width when a scene is started.
* @returns {number} The default width for cameras of layers
*/
gdjs.RuntimeGame.prototype.getDefaultWidth = function() {
return this._defaultWidth;
@@ -198,6 +199,7 @@ gdjs.RuntimeGame.prototype.getDefaultWidth = function() {
/**
* Get the default height of the game: canvas is created with this height,
* and cameras of layers are created using this height when a scene is started.
* @returns {number} The default height for cameras of layers
*/
gdjs.RuntimeGame.prototype.getDefaultHeight = function() {
return this._defaultHeight;
@@ -280,9 +282,7 @@ gdjs.RuntimeGame.prototype.startGameLoop = function() {
return;
}
if (this._data.properties.sizeOnStartupMode) {
this.adaptRendererSizeToFillScreen(this._data.properties.sizeOnStartupMode);
}
this.adaptRendererSizeToFillScreen();
//Load the first scene
var firstSceneName = this._data.firstLayout;
@@ -326,12 +326,14 @@ gdjs.RuntimeGame.prototype.startGameLoop = function() {
/**
* Enlarge/reduce the width (or the height) of the game to fill the screen.
* @param {string} mode `adaptWidth` to change the width, `adaptHeight` to change the height
* @param {?string} mode `adaptWidth` to change the width, `adaptHeight` to change the height. If not defined, will use the game "sizeOnStartupMode" .
*/
gdjs.RuntimeGame.prototype.adaptRendererSizeToFillScreen = function(mode) {
if (!gdjs.RuntimeGameRenderer || !gdjs.RuntimeGameRenderer.getScreenWidth || !gdjs.RuntimeGameRenderer.getScreenHeight)
return;
newMode = mode !== undefined ? mode : (this._data.properties.sizeOnStartupMode || '');
var screenWidth = gdjs.RuntimeGameRenderer.getScreenWidth();
var screenHeight = gdjs.RuntimeGameRenderer.getScreenHeight();
@@ -339,9 +341,9 @@ gdjs.RuntimeGame.prototype.adaptRendererSizeToFillScreen = function(mode) {
var renderer = this.getRenderer();
var width = renderer.getCurrentWidth();
var height = renderer.getCurrentHeight();
if (mode === "adaptWidth") {
if (newMode === "adaptWidth") {
width = height * screenWidth / screenHeight;
} else if (mode === "adaptHeight") {
} else if (newMode === "adaptHeight") {
height = width * screenHeight / screenWidth;
}

View File

@@ -88,6 +88,12 @@ gdjs.RuntimeObject = function(runtimeScene, objectData)
this._behaviorsTable.put(autoData.name, this._behaviors[i]);
}
this._behaviors.length = i;//Make sure to delete already existing behaviors which are not used anymore.
//Timers:
if (this._timers === undefined)
this._timers = new Hashtable();
else
this._timers.clear();
};
gdjs.RuntimeObject.forcesGarbage = []; //Global container for unused forces, avoiding recreating forces each tick.
@@ -163,7 +169,7 @@ gdjs.RuntimeObject.prototype.getRendererObject = function() {
/**
* Get the name of the object.
* @return {String} The object's name.
* @return {string} The object's name.
*/
gdjs.RuntimeObject.prototype.getName = function() {
return this.name;
@@ -171,7 +177,7 @@ gdjs.RuntimeObject.prototype.getName = function() {
/**
* Get the name identifier of the object.
* @return {Number} The object's name identifier.
* @return {number} The object's name identifier.
*/
gdjs.RuntimeObject.prototype.getNameId = function() {
return this._nameId;
@@ -183,7 +189,7 @@ gdjs.RuntimeObject.prototype.getNameId = function() {
* You can also use the id property (this._object.id) for increased efficiency instead of
* calling this method.
*
* @return {Number} The object identifier
* @return {number} The object identifier
*/
gdjs.RuntimeObject.prototype.getUniqueId = function() {
return this.id;
@@ -192,8 +198,8 @@ gdjs.RuntimeObject.prototype.getUniqueId = function() {
/**
* Set the position of the object.
*
* @param x {Number} The new X position
* @param y {Number} The new Y position
* @param {number} x The new X position
* @param {number} y The new Y position
*/
gdjs.RuntimeObject.prototype.setPosition = function(x,y) {
this.setX(x);
@@ -203,7 +209,7 @@ gdjs.RuntimeObject.prototype.setPosition = function(x,y) {
/**
* Set the X position of the object.
*
* @param x {Number} The new X position
* @param {number} x The new X position
*/
gdjs.RuntimeObject.prototype.setX = function(x) {
if ( x === this.x ) return;
@@ -215,7 +221,7 @@ gdjs.RuntimeObject.prototype.setX = function(x) {
/**
* Get the X position of the object.
*
* @return {Number} The X position of the object
* @return {number} The X position of the object
*/
gdjs.RuntimeObject.prototype.getX = function() {
return this.x;
@@ -224,7 +230,7 @@ gdjs.RuntimeObject.prototype.getX = function() {
/**
* Set the Y position of the object.
*
* @param y {Number} The new Y position
* @param {number} y The new Y position
*/
gdjs.RuntimeObject.prototype.setY = function(y) {
if ( y === this.y ) return;
@@ -236,7 +242,7 @@ gdjs.RuntimeObject.prototype.setY = function(y) {
/**
* Get the Y position of the object.
*
* @return {Number} The Y position of the object
* @return {number} The Y position of the object
*/
gdjs.RuntimeObject.prototype.getY = function() {
return this.y;
@@ -248,7 +254,7 @@ gdjs.RuntimeObject.prototype.getY = function() {
* has an origin this.is not the same as the point (0,0) of the object displayed,
* getDrawableX will differs.
*
* @return {Number} The X position of the rendered object.
* @return {number} The X position of the rendered object.
*/
gdjs.RuntimeObject.prototype.getDrawableX = function() {
return this.getX();
@@ -260,7 +266,7 @@ gdjs.RuntimeObject.prototype.getDrawableX = function() {
* has an origin this.is not the same as the point (0,0) of the object displayed,
* getDrawableY will differs.
*
* @return {Number} The Y position of the rendered object.
* @return {number} The Y position of the rendered object.
*/
gdjs.RuntimeObject.prototype.getDrawableY = function() {
return this.getY();
@@ -291,6 +297,12 @@ gdjs.RuntimeObject.prototype.rotateTowardAngle = function(angle, speed, runtimeS
this.setAngle(angle); //...so force them to be in the path angle anyway.
};
/**
* Rotate the object at the given speed
*
* @param {number} speed The speed, in degrees per second.
* @param {gdjs.RuntimeScene} runtimeScene The scene where the object is displayed.
*/
gdjs.RuntimeObject.prototype.rotate = function(speed, runtimeScene) {
this.setAngle(this.getAngle() + speed * this.getElapsedTime(runtimeScene) / 1000);
};
@@ -298,7 +310,7 @@ gdjs.RuntimeObject.prototype.rotate = function(speed, runtimeScene) {
/**
* Set the angle of the object.
*
* @param angle {Number} The new angle of the object
* @param {number} angle The new angle of the object
*/
gdjs.RuntimeObject.prototype.setAngle = function(angle) {
if ( this.angle === angle ) return;
@@ -310,7 +322,7 @@ gdjs.RuntimeObject.prototype.setAngle = function(angle) {
/**
* Get the rotation of the object.
*
* @return {Number} The rotation of the object
* @return {number} The rotation of the object, in degrees.
*/
gdjs.RuntimeObject.prototype.getAngle = function() {
return this.angle;
@@ -319,7 +331,7 @@ gdjs.RuntimeObject.prototype.getAngle = function() {
/**
* Set the layer of the object.
*
* @return {String} The new layer of the object
* @param {string} layer The new layer of the object
*/
gdjs.RuntimeObject.prototype.setLayer = function(layer) {
if (layer === this.layer) return;
@@ -336,7 +348,7 @@ gdjs.RuntimeObject.prototype.setLayer = function(layer) {
/**
* Get the layer of the object.
*
* @return {String} The layer of the object
* @return {string} The layer of the object
*/
gdjs.RuntimeObject.prototype.getLayer = function() {
return this.layer;
@@ -345,8 +357,8 @@ gdjs.RuntimeObject.prototype.getLayer = function() {
/**
* Return true if the object is on the specified layer
*
* @param layer {String} The layer to be tested.
* @return {Boolean} true if the object is on the specified layer
* @param {string} layer The layer to be tested.
* @return {boolean} true if the object is on the specified layer
*/
gdjs.RuntimeObject.prototype.isOnLayer = function(layer) {
return this.layer === layer;
@@ -356,7 +368,7 @@ gdjs.RuntimeObject.prototype.isOnLayer = function(layer) {
/**
* Set the Z order of the object.
*
* @param z {Number} The new Z order position of the object
* @param {number} z The new Z order position of the object
*/
gdjs.RuntimeObject.prototype.setZOrder = function(z) {
if ( z === this.zOrder ) return;
@@ -371,7 +383,7 @@ gdjs.RuntimeObject.prototype.setZOrder = function(z) {
/**
* Get the Z order of the object.
*
* @return {Number} The Z order of the object
* @return {number} The Z order of the object
*/
gdjs.RuntimeObject.prototype.getZOrder = function() {
return this.zOrder;
@@ -379,7 +391,7 @@ gdjs.RuntimeObject.prototype.getZOrder = function() {
/**
* Get the container of the object variables
* @return {variablesContainer} The variables of the object
* @return {gdjs.VariablesContainer} The variables of the object
*/
gdjs.RuntimeObject.prototype.getVariables = function() {
return this._variables;
@@ -387,8 +399,8 @@ gdjs.RuntimeObject.prototype.getVariables = function() {
/**
* Get the value of a variable considered as a number. Equivalent of variable.getAsNumber()
* @param variable The variable to be accessed
* @return The value of the specified variable
* @param {gdjs.Variable} variable The variable to be accessed
* @return {number} The value of the specified variable
* @static
*/
gdjs.RuntimeObject.getVariableNumber = function(variable) {
@@ -400,7 +412,7 @@ gdjs.RuntimeObject.prototype.getVariableNumber = gdjs.RuntimeObject.getVariableN
* Return the variable passed as argument without any change.
* Only for usage by events.
*
* @param variable The variable to be accessed
* @param {gdjs.Variable} variable The variable to be accessed
* @return The specified variable
* @static
*/
@@ -434,7 +446,7 @@ gdjs.RuntimeObject.getVariableChildCount = function(variable) {
/**
* Shortcut to set the value of a variable considered as a number
* @param variable The variable to be changed
* @param newValue {Number} The value to be set
* @param {number} newValue The value to be set
*/
gdjs.RuntimeObject.setVariableNumber = function(variable, newValue) {
variable.setNumber(newValue);
@@ -454,8 +466,8 @@ gdjs.RuntimeObject.prototype.setVariableString = gdjs.RuntimeObject.setVariableS
/**
* @static
* @private
* @param variable The variable to be tested
* @param childName {String} The name of the child
* @param {gdjs.Variable} variable The variable to be tested
* @param {string} childName The name of the child
*/
gdjs.RuntimeObject.variableChildExists = function(variable, childName) {
return variable.hasChild(childName);
@@ -465,8 +477,8 @@ gdjs.RuntimeObject.prototype.variableChildExists = gdjs.RuntimeObject.variableCh
/**
* @static
* @private
* @param variable The variable to be changed
* @param childName {String} The name of the child
* @param {gdjs.Variable} variable The variable to be changed
* @param {string} childName The name of the child
*/
gdjs.RuntimeObject.variableRemoveChild = function(variable, childName) {
return variable.removeChild(childName);
@@ -476,7 +488,7 @@ gdjs.RuntimeObject.prototype.variableRemoveChild = gdjs.RuntimeObject.variableRe
/**
* @static
* @private
* @param variable The variable to be cleared
* @param {gdjs.Variable} variable The variable to be cleared
*/
gdjs.RuntimeObject.variableClearChildren = function(variable) {
variable.clearChildren();
@@ -485,8 +497,8 @@ gdjs.RuntimeObject.prototype.variableClearChildren = gdjs.RuntimeObject.variable
/**
* Shortcut to test if a variable exists for the object.
* @param name {String} The variable to be tested
* @return {Boolean} true if the variable exists.
* @param {string} name The variable to be tested
* @return {boolean} true if the variable exists.
*/
gdjs.RuntimeObject.prototype.hasVariable = function(name) {
return this._variables.has(name);
@@ -494,7 +506,7 @@ gdjs.RuntimeObject.prototype.hasVariable = function(name) {
/**
* Hide or show the object
* @param enable {Boolean} Set it to true to hide the object, false to show it.
* @param {boolean} enable Set it to true to hide the object, false to show it.
*/
gdjs.RuntimeObject.prototype.hide = function(enable) {
if (enable === undefined) enable = true;
@@ -503,7 +515,7 @@ gdjs.RuntimeObject.prototype.hide = function(enable) {
/**
* Return true if the object is not hidden.
* @return {Boolean} true if the object is not hidden.
* @return {boolean} true if the object is not hidden.
*/
gdjs.RuntimeObject.prototype.isVisible = function() {
return !this.hidden;
@@ -511,7 +523,7 @@ gdjs.RuntimeObject.prototype.isVisible = function() {
/**
* Return true if the object is hidden.
* @return {Boolean} true if the object is hidden.
* @return {boolean} true if the object is hidden.
*/
gdjs.RuntimeObject.prototype.isHidden = function() {
return this.hidden;
@@ -519,7 +531,7 @@ gdjs.RuntimeObject.prototype.isHidden = function() {
/**
* Return the width of the object
* @return {Number} The width of the object
* @return {number} The width of the object
*/
gdjs.RuntimeObject.prototype.getWidth = function() {
return 0;
@@ -527,7 +539,7 @@ gdjs.RuntimeObject.prototype.getWidth = function() {
/**
* Return the width of the object
* @return {Number} The height of the object
* @return {number} The height of the object
*/
gdjs.RuntimeObject.prototype.getHeight = function() {
return 0;
@@ -535,6 +547,7 @@ gdjs.RuntimeObject.prototype.getHeight = function() {
/**
* Return the X position of the object center, relative to the object position.
* @return {number} the X position of the object center
*/
gdjs.RuntimeObject.prototype.getCenterX = function() {
return this.getWidth() / 2;
@@ -542,6 +555,7 @@ gdjs.RuntimeObject.prototype.getCenterX = function() {
/**
* Return the Y position of the object center, relative to the object position.
* @return {number} the Y position of the object center
*/
gdjs.RuntimeObject.prototype.getCenterY = function() {
return this.getHeight() / 2;
@@ -554,9 +568,9 @@ gdjs.RuntimeObject.prototype.getCenterY = function() {
* To be used each time a force is created so as to avoid temporaries objects.
*
* @private
* @param x {Number} The x coordinates of the force
* @param y {Number} The y coordinates of the force
* @param clearing {Number} Set the force clearing
* @param {number} x The x coordinates of the force
* @param {number} y The y coordinates of the force
* @param {number} clearing Set the force clearing
*/
gdjs.RuntimeObject.prototype._getRecycledForce = function(x, y, clearing) {
if ( gdjs.RuntimeObject.forcesGarbage.length === 0 )
@@ -571,10 +585,10 @@ gdjs.RuntimeObject.prototype._getRecycledForce = function(x, y, clearing) {
};
/**
* Add a force to the object to make it moving.
* @param x {Number} The x coordinates of the force
* @param y {Number} The y coordinates of the force
* @param clearing {Number} Set the force clearing
* Add a force to the object to move it.
* @param {number} x The x coordinates of the force
* @param {number} y The y coordinates of the force
* @param {number} clearing Set the force clearing
*/
gdjs.RuntimeObject.prototype.addForce = function(x,y, clearing) {
this._forces.push(this._getRecycledForce(x, y, clearing));
@@ -582,9 +596,9 @@ gdjs.RuntimeObject.prototype.addForce = function(x,y, clearing) {
/**
* Add a force using polar coordinates.
* @param angle {Number} The angle of the force
* @param len {Number} The length of the force
* @param clearing {Number} Set the force clearing
* @param {number} angle The angle of the force, in degrees.
* @param {number} len The length of the force, in pixels.
* @param {number} clearing Set the force clearing
*/
gdjs.RuntimeObject.prototype.addPolarForce = function(angle, len, clearing) {
var forceX = Math.cos(angle/180*3.14159)*len;
@@ -595,10 +609,10 @@ gdjs.RuntimeObject.prototype.addPolarForce = function(angle, len, clearing) {
/**
* Add a force oriented toward a position
* @param x {Number} The target x position
* @param y {Number} The target y position
* @param len {Number} The force length, in pixels.
* @param clearing {Number} Set the force clearing
* @param {number} x The target x position
* @param {number} y The target y position
* @param {number} len The force length, in pixels.
* @param {number} clearing Set the force clearing
*/
gdjs.RuntimeObject.prototype.addForceTowardPosition = function(x,y, len, clearing) {
@@ -613,9 +627,9 @@ gdjs.RuntimeObject.prototype.addForceTowardPosition = function(x,y, len, clearin
/**
* Add a force oriented toward another object.<br>
* (Shortcut for addForceTowardPosition)
* @param obj The target object
* @param len {Number} The force length, in pixels.
* @param clearing {Number} Set the force clearing
* @param {gdjs.RuntimeObject} object The target object
* @param {number} len The force length, in pixels.
* @param {number} clearing Set the force clearing
*/
gdjs.RuntimeObject.prototype.addForceTowardObject = function(obj, len, clearing) {
if ( obj == null ) return;
@@ -635,7 +649,7 @@ gdjs.RuntimeObject.prototype.clearForces = function() {
/**
* Return true if no forces are applied on the object.
* @return {Boolean} true if no forces are applied on the object.
* @return {boolean} true if no forces are applied on the object.
*/
gdjs.RuntimeObject.prototype.hasNoForces = function() {
return this._forces.length === 0;
@@ -663,7 +677,7 @@ gdjs.RuntimeObject.prototype.updateForces = function(elapsedTime) {
/**
* Return a force which is the sum of all forces applied on the object.
*
* @return {force} A force object.
* @return {gdjs.Force} A force object.
*/
gdjs.RuntimeObject.prototype.getAverageForce = function() {
var averageX = 0;
@@ -682,9 +696,9 @@ gdjs.RuntimeObject.prototype.getAverageForce = function() {
* Return true if the average angle of the forces applied on the object
* is in a given range.
*
* @param angle {Number} The angle to be tested.
* @param toleranceInDegrees {Number} The length of the range :
* @return {Boolean} true if the difference between the average angle of the forces
* @param {number} angle The angle to be tested.
* @param {number} toleranceInDegrees The length of the range :
* @return {boolean} true if the difference between the average angle of the forces
* and the angle parameter is inferior to toleranceInDegrees parameter.
*/
gdjs.RuntimeObject.prototype.averageForceAngleIs = function(angle, toleranceInDegrees) {
@@ -785,9 +799,12 @@ gdjs.RuntimeObject.prototype.stepBehaviorsPostEvents = function(runtimeScene) {
};
/**
* Get a behavior from its name.<br>
* Get a behavior from its name.
*
* Be careful, the behavior must exists, no check is made on the name.
*
* @param name {String} The behavior name.
* @return {gdjs.RuntimeBehavior} The behavior with the given name, or undefined.
*/
gdjs.RuntimeObject.prototype.getBehavior = function(name) {
return this._behaviorsTable.get(name);
@@ -806,7 +823,7 @@ gdjs.RuntimeObject.prototype.hasBehavior = function(name) {
* De/activate a behavior of the object.
*
* @param name {String} The behavior name.
* @param enable {Boolean} true to activate the behavior
* @param enable {boolean} true to activate the behavior
*/
gdjs.RuntimeObject.prototype.activateBehavior = function(name, enable) {
if ( this._behaviorsTable.containsKey(name) ) {
@@ -822,12 +839,113 @@ gdjs.RuntimeObject.prototype.activateBehavior = function(name, enable) {
*/
gdjs.RuntimeObject.prototype.behaviorActivated = function(name) {
if ( this._behaviorsTable.containsKey(name) ) {
this._behaviorsTable.get(name).activated();
return this._behaviorsTable.get(name).activated();
}
return false;
};
//Timers:
/**
* Updates the object timers. Called once during the game loop, before events and rendering.
* @param {number} elapsedTime The elapsed time since the previous frame in milliseconds.
*/
gdjs.RuntimeObject.prototype.updateTimers = function(elapsedTime) {
for (var name in this._timers.items) {
if (this._timers.items.hasOwnProperty(name)) {
this._timers.items[name].updateTime(elapsedTime);
}
}
};
/**
* Test a timer elapsed time, if the timer doesn't exist it is created
* @param {String} timerName The timer name
* @param {number} timeInSeconds The time value to check in seconds
* @return {boolean} True if the timer exists and its value is greater than or equal than the given time, false otherwise
*/
gdjs.RuntimeObject.prototype.timerElapsedTime = function(timerName, timeInSeconds) {
if ( !this._timers.containsKey(timerName) ) {
this._timers.put(timerName, new gdjs.Timer(timerName));
return false;
}
return this.getTimerElapsedTimeInSeconds(timerName) >= timeInSeconds;
};
/**
* Test a if a timer is paused
* @param {String} timerName The timer name
* @return {boolean} True if the timer exists and is paused, false otherwise
*/
gdjs.RuntimeObject.prototype.timerPaused = function(timerName) {
if ( !this._timers.containsKey(timerName) ) {
return false;
}
return this._timers.get(timerName).isPaused();
};
/**
* Reset a timer, if the timer doesn't exist it is created
* @param {String} timerName The timer name
*/
gdjs.RuntimeObject.prototype.resetTimer = function(timerName) {
if ( !this._timers.containsKey(timerName) ) {
this._timers.put(timerName, new gdjs.Timer(timerName));
}
this._timers.get(timerName).reset();
};
/**
* Pause a timer, if the timer doesn't exist it is created
* @param {String} timerName The timer name
*/
gdjs.RuntimeObject.prototype.pauseTimer = function(timerName) {
if ( !this._timers.containsKey(timerName) ) {
this._timers.put(timerName, new gdjs.Timer(timerName));
}
this._timers.get(timerName).setPaused(true);
};
/**
* Unpause a timer, if the timer doesn't exist it is created
* @param {String} timerName The timer name
*/
gdjs.RuntimeObject.prototype.unpauseTimer = function(timerName) {
if ( !this._timers.containsKey(timerName) ) {
this._timers.put(timerName, new gdjs.Timer(timerName));
}
this._timers.get(timerName).setPaused(false);
};
/**
* Remove a timer
* @param {String} timerName The timer name
*/
gdjs.RuntimeObject.prototype.removeTimer = function(timerName) {
if ( this._timers.containsKey(timerName) ) {
this._timers.remove(timerName);
}
};
/**
* Get a timer elapsed time.
* @param {String} timerName The timer name
* @return {number} The timer elapsed time in seconds, 0 if the timer doesn't exist
*/
gdjs.RuntimeObject.prototype.getTimerElapsedTimeInSeconds = function(timerName) {
if ( !this._timers.containsKey(timerName) ) {
return 0;
}
return this._timers.get(timerName).getTime() / 1000.0;
};
//Other :
/**
@@ -904,7 +1022,7 @@ gdjs.RuntimeObject.prototype.separateFromObjectsList = function(objectsLists) {
/**
* Get the distance, in pixels, between *the center* of this object and another object.
* @param otherObject The other object
* @param {gdjs.RuntimeObject} otherObject The other object
*/
gdjs.RuntimeObject.prototype.getDistanceToObject = function(otherObject) {
return Math.sqrt(this.getSqDistanceToObject(otherObject));
@@ -912,7 +1030,7 @@ gdjs.RuntimeObject.prototype.getDistanceToObject = function(otherObject) {
/**
* Get the squared distance, in pixels, between *the center* of this object and another object.
* @param otherObject The other object
* @param {gdjs.RuntimeObject} otherObject The other object
*/
gdjs.RuntimeObject.prototype.getSqDistanceToObject = function(otherObject) {
if ( otherObject === null ) return 0;
@@ -925,8 +1043,8 @@ gdjs.RuntimeObject.prototype.getSqDistanceToObject = function(otherObject) {
/**
* Get the squared distance, in pixels, from the *object center* to a position.
* @param pointX {Number} X position
* @param pointY {Number} Y position
* @param {number} pointX X position
* @param {number} pointY Y position
*/
gdjs.RuntimeObject.prototype.getSqDistanceTo = function(pointX, pointY) {
var x = this.getDrawableX()+this.getCenterX() - pointX;
@@ -939,10 +1057,10 @@ gdjs.RuntimeObject.prototype.getSqDistanceTo = function(pointX, pointY) {
* Put the object around a position, with a specific distance and angle.
* The distance and angle are computed between the position and *the center of the object*.
*
* @param x {Number} The x position of the target
* @param y {Number} The y position of the target
* @param distance {Number} The distance between the object and the target, in pixels.
* @param angleInDegrees {Number} The angle between the object and the target, in degrees.
* @param {number} x The x position of the target
* @param {number} y The y position of the target
* @param {number} distance The distance between the object and the target, in pixels.
* @param {number} angleInDegrees The angle between the object and the target, in degrees.
*/
gdjs.RuntimeObject.prototype.putAround = function(x,y,distance,angleInDegrees) {
var angle = angleInDegrees/180*3.14159;
@@ -958,8 +1076,8 @@ gdjs.RuntimeObject.prototype.putAround = function(x,y,distance,angleInDegrees) {
* The distance and angle are computed between *the centers of the objects*.
*
* @param obj The target object
* @param distance {Number} The distance between the object and the target
* @param angleInDegrees {Number} The angle between the object and the target, in degrees.
* @param {number} distance The distance between the object and the target
* @param {number} angleInDegrees The angle between the object and the target, in degrees.
*/
gdjs.RuntimeObject.prototype.putAroundObject = function(obj,distance,angleInDegrees) {
this.putAround(obj.getDrawableX()+obj.getCenterX(), obj.getDrawableY()+obj.getCenterY(),
@@ -1083,11 +1201,11 @@ gdjs.RuntimeObject.collisionTest = function(obj1, obj2) {
};
/**
* @param x {Number} The raycast source X
* @param y {Number} The raycast source Y
* @param endX {Number} The raycast end position X
* @param endY {Number} The raycast end position Y
* @param closest {Boolean} Get the closest or farthest collision mask result?
* @param {number} x The raycast source X
* @param {number} y The raycast source Y
* @param {number} endX The raycast end position X
* @param {number} endY The raycast end position Y
* @param closest {boolean} Get the closest or farthest collision mask result?
* @return A raycast result with the contact points and distances
*/
gdjs.RuntimeObject.prototype.raycastTest = function(x, y, endX, endY, closest) {

View File

@@ -29,10 +29,15 @@ gdjs.RuntimeScene = function(runtimeGame)
this._timeManager = new gdjs.TimeManager(Date.now());
this._gameStopRequested = false;
this._requestedScene = "";
this._isLoaded = false; // True if loadFromScene was called and the scene is being played.
this._isLoaded = false; // True if loadFromScene was called and the scene is being played.
/** @type gdjs.RuntimeObject[] */
this._allInstancesList = []; //An array used to create a list of all instance when necessary ( see _constructListOfAllInstances )
this._instancesRemoved = []; //The instances removed from the scene and waiting to be sent to the cache.
/** @type gdjs.RuntimeObject[] */
this._instancesRemoved = []; //The instances removed from the scene and waiting to be sent to the cache.
/** @type gdjs.Profiler */
this._profiler = null; // Set to `new gdjs.Profiler()` to have profiling done on the scene.
this._onProfilerStopped = null; // The callback function to call when the profiler is stopped.
@@ -391,9 +396,10 @@ gdjs.RuntimeScene.prototype._updateObjects = function() {
for( var i = 0, len = this._allInstancesList.length;i<len;++i) {
var obj = this._allInstancesList[i];
var elapsedTime = obj.getElapsedTime(this);
if (!obj.hasNoForces()) {
var averageForce = obj.getAverageForce();
var elapsedTimeInSeconds = obj.getElapsedTime(this) / 1000;
var elapsedTimeInSeconds = elapsedTime / 1000;
obj.setX(obj.getX() + averageForce.getX() * elapsedTimeInSeconds);
obj.setY(obj.getY() + averageForce.getY() * elapsedTimeInSeconds);
@@ -403,6 +409,7 @@ gdjs.RuntimeScene.prototype._updateObjects = function() {
obj.update(this);
}
obj.stepBehaviorsPostEvents(this);
obj.updateTimers(elapsedTime);
}
this._cacheOrClearRemovedInstances(); //Some behaviors may have request objects to be deleted.
@@ -465,6 +472,7 @@ gdjs.RuntimeScene.prototype.addObject = function(obj) {
/**
* Get all the instances of the object called name.
* @param {string} name Name of the object for which the instances must be returned.
* @return {gdjs.RuntimeObject[]} The list of objects with the given name
*/
gdjs.RuntimeScene.prototype.getObjects = function(name){
if ( !this._instances.containsKey(name) ) {
@@ -479,7 +487,7 @@ gdjs.RuntimeScene.prototype.getObjects = function(name){
* Create a new object from its name. The object is also added to the instances
* living on the scene ( No need to call RuntimeScene.addObject )
* @param {string} objectName The name of the object to be created
* @return The created object
* @return {gdjs.RuntimeObject} The created object
*/
gdjs.RuntimeScene.prototype.createObject = function(objectName){
@@ -507,7 +515,7 @@ gdjs.RuntimeScene.prototype.createObject = function(objectName){
/**
* Must be called whenever an object must be removed from the scene.
* @param object The object to be removed.
* @param {gdjs.RuntimeObject} object The object to be removed.
*/
gdjs.RuntimeScene.prototype.markObjectForDeletion = function(obj) {
//Add to the objects removed list.
@@ -582,6 +590,10 @@ gdjs.RuntimeScene.prototype.getInitialSharedDataForBehavior = function(name) {
return null;
};
/**
* Get the layer with the given name
* @param {gdjs.Layer} name The name of the layer
*/
gdjs.RuntimeScene.prototype.getLayer = function(name) {
if ( this._layers.containsKey(name) )
return this._layers.get(name);
@@ -599,7 +611,7 @@ gdjs.RuntimeScene.prototype.getAllLayerNames = function(result) {
/**
* Get the TimeManager of the scene.
* @return The gdjs.TimeManager of the scene.
* @return {gdjs.TimeManager} The gdjs.TimeManager of the scene.
*/
gdjs.RuntimeScene.prototype.getTimeManager = function() {
return this._timeManager;
@@ -607,7 +619,7 @@ gdjs.RuntimeScene.prototype.getTimeManager = function() {
/**
* Shortcut to get the SoundManager of the game.
* @return The gdjs.SoundManager of the game.
* @return {gdjs.SoundManager} The gdjs.SoundManager of the game.
*/
gdjs.RuntimeScene.prototype.getSoundManager = function() {
return this._runtimeGame.getSoundManager();
@@ -640,8 +652,8 @@ gdjs.RuntimeScene.prototype.getRequestedScene = function() {
/**
* Request a scene change to be made. The change is handled externally (see gdjs.SceneStack)
* thanks to getRequestedChange and getRequestedScene methods.
* @param change One of gdjs.RuntimeScene.CONTINUE|PUSH_SCENE|POP_SCENE|REPLACE_SCENE|CLEAR_SCENES|STOP_GAME.
* @param sceneName The name of the new scene to launch, if applicable.
* @param {number} change One of gdjs.RuntimeScene.CONTINUE|PUSH_SCENE|POP_SCENE|REPLACE_SCENE|CLEAR_SCENES|STOP_GAME.
* @param {string} sceneName The name of the new scene to launch, if applicable.
*/
gdjs.RuntimeScene.prototype.requestChange = function(change, sceneName) {
this._requestedChange = change;
@@ -658,7 +670,7 @@ gdjs.RuntimeScene.prototype.getProfiler = function() {
/**
* Start a new profiler to measures the time passed in sections of the engine
* in the scene.
* @param onProfilerStopped Function to be called when the profiler is stopped. Will be passed the profiler as argument.
* @param {Function} onProfilerStopped Function to be called when the profiler is stopped. Will be passed the profiler as argument.
*/
gdjs.RuntimeScene.prototype.startProfiler = function(onProfilerStopped) {
if (this._profiler) return;

View File

@@ -3,6 +3,7 @@
* Hold the stack of scenes (gdjs.RuntimeScene) being played.
*
* @memberof gdjs
* @param {gdjs.RuntimeGame} runtimeGame The runtime game that is using the scene stack
* @class SceneStack
*/
gdjs.SceneStack = function(runtimeGame) {
@@ -11,6 +12,8 @@ gdjs.SceneStack = function(runtimeGame) {
}
this._runtimeGame = runtimeGame;
/** @type gdjs.RuntimeScene[] */
this._stack = [];
};
@@ -28,7 +31,8 @@ gdjs.SceneStack.prototype.step = function(elapsedTime) {
var request = currentScene.getRequestedChange();
//Something special was requested by the current scene.
if (request === gdjs.RuntimeScene.STOP_GAME) {
return false;
this._runtimeGame.getRenderer().stopGame();
return true;
} else if (request === gdjs.RuntimeScene.POP_SCENE) {
this.pop();
} else if (request === gdjs.RuntimeScene.PUSH_SCENE) {

View File

@@ -5,13 +5,15 @@
*/
/**
* A frame used by a SpriteAnimation in a {@link SpriteRuntimeObject}.
* A frame used by a SpriteAnimation in a {@link gdjs.SpriteRuntimeObject}.
*
* It contains the texture displayed as well as information like the points position
* or the collision mask.
*
* @memberof gdjs
* @class SpriteAnimationFrame
* @param {gdjs.ImageManager} imageManager The game image manager
* @param {Object} frameData the data to be used to create the frame.
*/
gdjs.SpriteAnimationFrame = function(imageManager, frameData)
{
@@ -90,10 +92,12 @@ gdjs.SpriteAnimationFrame.prototype.getPoint = function(name) {
};
/**
* Represents a direction of an animation of a {@link SpriteRuntimeObject}.
* Represents a direction of an animation of a {@link gdjs.SpriteRuntimeObject}.
*
* @class SpriteAnimationDirection
* @memberof gdjs
* @param {gdjs.ImageManager} imageManager The game image manager
* @param {Object} directionData the data to be used to create the direction.
*/
gdjs.SpriteAnimationDirection = function(imageManager, directionData)
{
@@ -118,6 +122,8 @@ gdjs.SpriteAnimationDirection = function(imageManager, directionData)
*
* @class SpriteAnimation
* @memberof gdjs
* @param {gdjs.ImageManager} imageManager The game image manager
* @param {Object} directionData the data to be used to create the animation.
*/
gdjs.SpriteAnimation = function(imageManager, animData)
{
@@ -142,6 +148,8 @@ gdjs.SpriteAnimation = function(imageManager, animData)
* @class SpriteRuntimeObject
* @memberof gdjs
* @extends gdjs.RuntimeObject
* @param {gdjs.RuntimeScene} runtimeScene The scene the object belongs to
* @param {Object} objectData the data to be used to create the object.
*/
gdjs.SpriteRuntimeObject = function(runtimeScene, objectData)
{
@@ -276,10 +284,9 @@ gdjs.SpriteRuntimeObject.prototype.getRendererObject = function() {
};
/**
* Update the hit boxes for the object: <br>
* Update the hit boxes for the object.
* Fallback to the default implementation (rotated bounding box) if there is no custom
* hitboxes defined for the current animation frame.
*
*/
gdjs.SpriteRuntimeObject.prototype.updateHitBoxes = function() {
if ( this._frameDirty ) this._updateFrame(); //Beware, _animationFrame could be invalid if this._frameDirty === true.
@@ -314,6 +321,10 @@ gdjs.SpriteRuntimeObject.prototype.updateHitBoxes = function() {
//Animations :
/**
* Change the animation being played.
* @param {number} newAnimation The index of the new animation to be played
*/
gdjs.SpriteRuntimeObject.prototype.setAnimation = function(newAnimation) {
newAnimation = newAnimation | 0;
if ( newAnimation < this._animations.length &&
@@ -328,6 +339,10 @@ gdjs.SpriteRuntimeObject.prototype.setAnimation = function(newAnimation) {
}
};
/**
* Change the animation being played.
* @param {string} newAnimationName The name of the new animation to be played
*/
gdjs.SpriteRuntimeObject.prototype.setAnimationName = function(newAnimationName) {
if (!newAnimationName) return;
@@ -338,10 +353,18 @@ gdjs.SpriteRuntimeObject.prototype.setAnimationName = function(newAnimationName)
}
};
/**
* Get the index of the animation being played.
* @return {number} The index of the new animation being played
*/
gdjs.SpriteRuntimeObject.prototype.getAnimation = function() {
return this._currentAnimation;
};
/**
* Get the name of the animation being played.
* @return {string} The name of the new animation being played
*/
gdjs.SpriteRuntimeObject.prototype.getAnimationName = function() {
if ( this._currentAnimation >= this._animations.length ) {
return '';
@@ -354,6 +377,10 @@ gdjs.SpriteRuntimeObject.prototype.isCurrentAnimationName = function(name) {
return this.getAnimationName() === name;
};
/**
* Change the angle (or direction index) of the object
* @return {number} The new angle (or direction index) to be applied
*/
gdjs.SpriteRuntimeObject.prototype.setDirectionOrAngle = function(newValue) {
if ( this._currentAnimation >= this._animations.length ) {
return;
@@ -401,6 +428,7 @@ gdjs.SpriteRuntimeObject.prototype.getDirectionOrAngle = function() {
/**
* Change the current frame displayed by the animation
* @param {number} newFrame The index of the frame to be displayed
*/
gdjs.SpriteRuntimeObject.prototype.setAnimationFrame = function(newFrame) {
if ( this._currentAnimation >= this._animations.length ||
@@ -418,6 +446,7 @@ gdjs.SpriteRuntimeObject.prototype.setAnimationFrame = function(newFrame) {
/**
* Get the index of the current frame displayed by the animation
* @return {number} newFrame The index of the frame being displayed
*/
gdjs.SpriteRuntimeObject.prototype.getAnimationFrame = function() {
return this._currentFrame;
@@ -459,6 +488,11 @@ gdjs.SpriteRuntimeObject.prototype.setAnimationSpeedScale = function(ratio) {
//Position :
/**
* Get the position on X axis on the scene of the given point.
* @param {string} name The point name
* @return {number} the position on X axis on the scene of the given point.
*/
gdjs.SpriteRuntimeObject.prototype.getPointX = function(name) {
if ( name.length === 0 || this._animationFrame === null ) return this.getX();
@@ -469,6 +503,11 @@ gdjs.SpriteRuntimeObject.prototype.getPointX = function(name) {
return pos[0];
};
/**
* Get the position on Y axis on the scene of the given point.
* @param {string} name The point name
* @return {number} the position on Y axis on the scene of the given point.
*/
gdjs.SpriteRuntimeObject.prototype.getPointY = function(name) {
if ( name.length === 0 || this._animationFrame === null ) return this.getY();
@@ -487,12 +526,10 @@ gdjs.SpriteRuntimeObject.prototype.getPointY = function(name) {
*
* All transformations (flipping, scale, rotation) are supported.
*
* @param pointX The X position of the point, in object coordinates.
* @param pointY The Y position of the point, in object coordinates.
* @param result Optional array that will be updated with the result (x and y position of the point
* @param {number} pointX The X position of the point, in object coordinates.
* @param {number} pointY The Y position of the point, in object coordinates.
* @param {Array} result Array that will be updated with the result (x and y position of the point
* in global coordinates)
* @return An array containing the x and y position of the point in global coordinates. If result parameter is
* defined, nothing is returned by the method.
* @private
*/
gdjs.SpriteRuntimeObject.prototype._transformToGlobal = function(x, y, result) {
@@ -525,18 +562,30 @@ gdjs.SpriteRuntimeObject.prototype._transformToGlobal = function(x, y, result) {
result[1] = y + this.getDrawableY();
};
/**
* Get the X position, on the scene, of the origin of the texture of the object.
* @return {number} the X position, on the scene, of the origin of the texture of the object.
*/
gdjs.SpriteRuntimeObject.prototype.getDrawableX = function() {
if ( this._animationFrame === null ) return this.x;
return this.x - this._animationFrame.origin.x*Math.abs(this._scaleX);
};
/**
* Get the Y position, on the scene, of the origin of the texture of the object.
* @return {number} the Y position, on the scene, of the origin of the texture of the object.
*/
gdjs.SpriteRuntimeObject.prototype.getDrawableY = function() {
if ( this._animationFrame === null ) return this.y;
return this.y - this._animationFrame.origin.y*Math.abs(this._scaleY);
};
/**
* Get the X position of the center of the object, relative to top-left of the object.
* @return {number} X position of the center of the object, relative to top-left of the object.
*/
gdjs.SpriteRuntimeObject.prototype.getCenterX = function() {
if ( this._animationFrame === null ) return 0;
@@ -544,6 +593,10 @@ gdjs.SpriteRuntimeObject.prototype.getCenterX = function() {
return this._animationFrame.center.x*Math.abs(this._scaleX);
};
/**
* Get the Y position of the center of the object, relative to top-left of the object.
* @return {number} Y position of the center of the object, relative to top-left of the object.
*/
gdjs.SpriteRuntimeObject.prototype.getCenterY = function() {
if ( this._animationFrame === null ) return 0;
@@ -551,6 +604,10 @@ gdjs.SpriteRuntimeObject.prototype.getCenterY = function() {
return this._animationFrame.center.y*Math.abs(this._scaleY);
};
/**
* Set the X position of the (origin of the) object.
* @param {number} x The new X position.
*/
gdjs.SpriteRuntimeObject.prototype.setX = function(x) {
if ( x === this.x ) return;
@@ -561,6 +618,10 @@ gdjs.SpriteRuntimeObject.prototype.setX = function(x) {
}
};
/**
* Set the Y position of the (origin of the) object.
* @param {number} y The new Y position.
*/
gdjs.SpriteRuntimeObject.prototype.setY = function(y) {
if ( y === this.y ) return;
@@ -571,6 +632,10 @@ gdjs.SpriteRuntimeObject.prototype.setY = function(y) {
}
};
/**
* Set the angle of the object.
* @param {number} angle The new angle, in degrees.
*/
gdjs.SpriteRuntimeObject.prototype.setAngle = function(angle) {
if ( this._currentAnimation >= this._animations.length ) {
return;
@@ -589,6 +654,10 @@ gdjs.SpriteRuntimeObject.prototype.setAngle = function(angle) {
}
};
/**
* Get the angle of the object.
* @return {number} The angle, in degrees.
*/
gdjs.SpriteRuntimeObject.prototype.getAngle = function(angle) {
if ( this._currentAnimation >= this._animations.length ) {
return 0;
@@ -613,6 +682,10 @@ gdjs.SpriteRuntimeObject.prototype.getBlendMode = function() {
return this._blendMode;
};
/**
* Change the transparency of the object.
* @param {number} opacity The new opacity, between 0 (transparent) and 255 (opaque).
*/
gdjs.SpriteRuntimeObject.prototype.setOpacity = function(opacity) {
if ( opacity < 0 ) opacity = 0;
if ( opacity > 255 ) opacity = 255;
@@ -621,10 +694,18 @@ gdjs.SpriteRuntimeObject.prototype.setOpacity = function(opacity) {
this._renderer.updateOpacity();
};
/**
* Get the transparency of the object.
* @return {number} The opacity, between 0 (transparent) and 255 (opaque).
*/
gdjs.SpriteRuntimeObject.prototype.getOpacity = function() {
return this.opacity;
};
/**
* Hide (or show) the object
* @param {boolean} enable true to hide the object, false to show it again.
*/
gdjs.SpriteRuntimeObject.prototype.hide = function(enable) {
if ( enable === undefined ) enable = true;
this.hidden = enable;
@@ -635,7 +716,7 @@ gdjs.SpriteRuntimeObject.prototype.hide = function(enable) {
/**
* Change the tint of the sprite object.
*
* \param {String} The color, in RGB format ("128;200;255").
* @param {string} rgbColor The color, in RGB format ("128;200;255").
*/
gdjs.SpriteRuntimeObject.prototype.setColor = function(rgbColor) {
this._renderer.setColor(rgbColor);
@@ -667,14 +748,29 @@ gdjs.SpriteRuntimeObject.prototype.isFlippedY = function() {
//Scale and size :
/**
* Get the width of the object.
*
* @return {number} The width of the object, in pixels.
*/
gdjs.SpriteRuntimeObject.prototype.getWidth = function() {
return this._renderer.getWidth();
};
/**
* Get the height of the object.
*
* @return {number} The height of the object, in pixels.
*/
gdjs.SpriteRuntimeObject.prototype.getHeight = function() {
return this._renderer.getHeight();
};
/**
* Change the width of the object. This changes the scale on X axis of the object.
*
* @param {number} width The new width of the object, in pixels.
*/
gdjs.SpriteRuntimeObject.prototype.setWidth = function(newWidth) {
if ( this._frameDirty ) this._updateFrame();
@@ -682,6 +778,11 @@ gdjs.SpriteRuntimeObject.prototype.setWidth = function(newWidth) {
if (unscaledWidth !== 0) this.setScaleX(newWidth / unscaledWidth);
};
/**
* Change the height of the object. This changes the scale on Y axis of the object.
*
* @param {number} height The new height of the object, in pixels.
*/
gdjs.SpriteRuntimeObject.prototype.setHeight = function(newHeight) {
if ( this._frameDirty ) this._updateFrame();
@@ -689,6 +790,11 @@ gdjs.SpriteRuntimeObject.prototype.setHeight = function(newHeight) {
if (unscaledHeight !== 0) this.setScaleY(newHeight / unscaledHeight);
};
/**
* Change the scale on X and Y axis of the object.
*
* @param {number} newScale The new scale (must be greater than 0).
*/
gdjs.SpriteRuntimeObject.prototype.setScale = function(newScale) {
if ( newScale < 0 ) newScale = 0;
if ( newScale === Math.abs(this._scaleX) && newScale === Math.abs(this._scaleY) ) return;
@@ -699,6 +805,11 @@ gdjs.SpriteRuntimeObject.prototype.setScale = function(newScale) {
this.hitBoxesDirty = true;
};
/**
* Change the scale on X axis of the object (changing its width).
*
* @param {number} newScale The new scale (must be greater than 0).
*/
gdjs.SpriteRuntimeObject.prototype.setScaleX = function(newScale) {
if ( newScale < 0 ) newScale = 0;
if ( newScale === Math.abs(this._scaleX) ) return;
@@ -708,6 +819,11 @@ gdjs.SpriteRuntimeObject.prototype.setScaleX = function(newScale) {
this.hitBoxesDirty = true;
};
/**
* Change the scale on Y axis of the object (changing its width).
*
* @param {number} newScale The new scale (must be greater than 0).
*/
gdjs.SpriteRuntimeObject.prototype.setScaleY = function(newScale) {
if ( newScale < 0 ) newScale = 0;
if ( newScale === Math.abs(this._scaleY) ) return;
@@ -717,14 +833,29 @@ gdjs.SpriteRuntimeObject.prototype.setScaleY = function(newScale) {
this.hitBoxesDirty = true;
};
/**
* Get the scale of the object (or the average of the X and Y scale in case they are different).
*
* @return {number} the scale of the object (or the average of the X and Y scale in case they are different).
*/
gdjs.SpriteRuntimeObject.prototype.getScale = function() {
return (Math.abs(this._scaleX)+Math.abs(this._scaleY))/2.0;
};
/**
* Get the scale of the object on Y axis.
*
* @return {number} the scale of the object on Y axis
*/
gdjs.SpriteRuntimeObject.prototype.getScaleY = function() {
return Math.abs(this._scaleY);
};
/**
* Get the scale of the object on X axis.
*
* @return {number} the scale of the object on X axis
*/
gdjs.SpriteRuntimeObject.prototype.getScaleX = function() {
return Math.abs(this._scaleX);
};

View File

@@ -27,8 +27,8 @@ gdjs.Timer.prototype.getName = function() {
}
/**
* Get the time elapsed
* @return {string} The time of the timer
* Get the time of the timer, in milliseconds.
* @return {number} The time of the timer, in milliseconds.
*/
gdjs.Timer.prototype.getTime = function() {
return this._time;
@@ -36,6 +36,7 @@ gdjs.Timer.prototype.getTime = function() {
/**
* Notify the timer that some time has passed.
* @param {number} time The elapsed time, in milliseconds.
*/
gdjs.Timer.prototype.updateTime = function(time) {
if ( !this._paused ) this._time += time;
@@ -43,20 +44,22 @@ gdjs.Timer.prototype.updateTime = function(time) {
/**
* Change the time.
* @param {number} time The new time, in milliseconds.
*/
gdjs.Timer.prototype.setTime = function(time) {
this._time = time;
}
/**
* Set time to zero.
* Reset the time to zero.
*/
gdjs.Timer.prototype.reset = function(time) {
gdjs.Timer.prototype.reset = function() {
this.setTime(0);
}
/**
* Set if the timer is paused.
* @param {boolean} enable true to pause the timer, false otherwise.
*/
gdjs.Timer.prototype.setPaused = function(enable) {
this._paused = enable;

View File

@@ -17,7 +17,7 @@ gdjs.Variable = function(varData)
this._str = "";
this._numberDirty = false;
this._stringDirty = true;
this._isStructure = false;
this._isStructure = false;
this._children = {}; //TODO: Use a hashtable and avoid de/allocations.
this._undefinedInContainer = false;
@@ -78,9 +78,9 @@ gdjs.Variable.prototype.isUndefinedInContainer = function() {
*
* If the variable has not the specified child, an empty variable with the specified name
* is added as child.
* @returns {gdjs.Variable} The child variable
*/
gdjs.Variable.prototype.getChild = function(childName) {
if ( this._children.hasOwnProperty(childName) && this._children[childName] !== undefined )
return this._children[childName];
@@ -93,7 +93,7 @@ gdjs.Variable.prototype.getChild = function(childName) {
* Return the child in a variable.
*
* Check if the variable has the specified children
* @return true if variable has the children with the specified name
* @return {boolean} true if variable has the children with the specified name
*/
gdjs.Variable.prototype.hasChild = function(childName) {
return (this._isStructure && this._children.hasOwnProperty(childName) );
@@ -127,7 +127,7 @@ gdjs.Variable.prototype.clearChildren = function() {
/**
* Get the value of the variable, considered as a number
* @return {Number} The number stored
* @return {number} The number stored in the variable
*/
gdjs.Variable.prototype.getAsNumber = function() {
if ( this._numberDirty ) {
@@ -141,7 +141,7 @@ gdjs.Variable.prototype.getAsNumber = function() {
/**
* Change the value of the variable, considered as a number
* @param newValue {Number} The new value to be set
* @param {number} newValue The new value to be set
*/
gdjs.Variable.prototype.setNumber = function(newValue) {
this._value = newValue;
@@ -151,7 +151,7 @@ gdjs.Variable.prototype.setNumber = function(newValue) {
/**
* Get the value of the variable, considered as a string
* @return {string} The number stored
* @return {string} The string stored in the variable
*/
gdjs.Variable.prototype.getAsString = function() {
if ( this._stringDirty ) {
@@ -188,24 +188,48 @@ gdjs.Variable.prototype.isNumber = function() {
/**
* Return the object containing all the children of the variable
* @return {Object.<string, gdjs.Variable>} All the children of the variable
*/
gdjs.Variable.prototype.getAllChildren = function() {
return this._children;
}
/**
* Add the given number to the variable value
* @param {number} number the number to add
*/
gdjs.Variable.prototype.add = function(val) {
this.setNumber(this.getAsNumber()+val);
};
/**
* Subtract the given number to the variable value
* @param {number} number the number to subtract
*/
gdjs.Variable.prototype.sub = function(val) {
this.setNumber(this.getAsNumber()-val);
};
/**
* Multiply the variable value by the given number
* @param {number} number the factor
*/
gdjs.Variable.prototype.mul = function(val) {
this.setNumber(this.getAsNumber()*val);
};
/**
* Divide the variable value by the given number
* @param {number} number the divisor
*/
gdjs.Variable.prototype.div = function(val) {
this.setNumber(this.getAsNumber()/val);
};
/**
* Concatenate the given string at the end of the variable value
* @param {string} str the string to append
*/
gdjs.Variable.prototype.concatenate = function(str) {
this.setString(this.getAsString()+str);
};

View File

@@ -77,17 +77,17 @@ gdjs.VariablesContainer.prototype.initFrom = function(data, keepOldVariables) {
/**
* Add a new variable.
* @param name {String} Variable name
* @param variable The variable to be added
* @param {string} name Variable name
* @param {gdjs.Variable} variable The variable to be added
*/
gdjs.VariablesContainer.prototype.add = function(name, variable) {
this._variables.put(name, variable);
};
/**
* Remove a variable.<br>
* ( In fact, the variable is not really removed from the container to avoid creating garbage )
* @param name {String} Variable to be removed
* Remove a variable.
* (the variable is not really removed from the container to avoid creating garbage, but marked as undefined)
* @param {string} name Variable to be removed
*/
gdjs.VariablesContainer.prototype.remove = function(name) {
if ( this._variables.containsKey(name) ) {
@@ -97,8 +97,8 @@ gdjs.VariablesContainer.prototype.remove = function(name) {
/**
* Get a variable.
* @param name {String} The variable's name
* @return The specified variable. If not found, an empty variable is added to the container.
* @param {string} name The variable's name
* @return {gdjs.Variable} The specified variable. If not found, an empty variable is added to the container.
*/
gdjs.VariablesContainer.prototype.get = function(name) {
var variable = null;
@@ -117,14 +117,13 @@ gdjs.VariablesContainer.prototype.get = function(name) {
};
/**
* Get a variable using its index.<br>
* The index of a variable is its index in the data passed to initFrom.<br>
* Get a variable using its index. If you're unsure about how to use this method, prefer to use `get`.
* The index of a variable is its index in the data passed to initFrom.
*
* This method is generally used by events generated code to increase lookup speed for variables.<br>
* If you're unsure about how to use this method, prefer to use get.
* This method is generally used by events generated code to increase lookup speed for variables.
*
* @param id {Number} The variable index
* @return The specified variable. If not found, an empty variable is added to the container, but it
* @param {number} id The variable index
* @return {gdjs.Variable} The specified variable. If not found, an empty variable is added to the container, but it
* should not happen.
*/
gdjs.VariablesContainer.prototype.getFromIndex = function(id) {
@@ -142,9 +141,9 @@ gdjs.VariablesContainer.prototype.getFromIndex = function(id) {
};
/**
* Check if a variable exists in the container
* @param name {String} The variable's name
* @return true if the variable exists.
* Check if a variable exists in the container.
* @param {string} name The variable's name
* @return {boolean} true if the variable exists.
*/
gdjs.VariablesContainer.prototype.has = function(name) {
return this._variables.containsKey(name) && !this._variables.get(name).isUndefinedInContainer();
@@ -155,6 +154,7 @@ gdjs.VariablesContainer.prototype.has = function(name) {
* "Bad" variable container, used by events when no other valid container can be found.
* This container has no state and always returns the bad variable ( see gdjs.VariablesContainer.badVariable ).
* @static
* @private
*/
gdjs.VariablesContainer.badVariablesContainer = {
has: function() {return false;},
@@ -169,6 +169,7 @@ gdjs.VariablesContainer.badVariablesContainer = {
* "Bad" variable, used by events when no other valid variable can be found.
* This variable has no state and always return 0 or the empty string.
* @static
* @private
*/
gdjs.VariablesContainer.badVariable = {
getChild : function() { return gdjs.VariablesContainer.badVariable; },

9
GDJS/jsconfig.json Normal file
View File

@@ -0,0 +1,9 @@
{
"compilerOptions": {
"target": "ES5"
},
"include": [
"Runtime/**/*",
"../Extensions/**/*.js"
]
}

View File

@@ -462,7 +462,7 @@ void InstructionSelectorDialog::RefreshFromInstruction()
notAvailableWarningTxt->Wrap( 450 );
//Show or hide the instructionHelpLinkCtrl
instructionHelpLinkCtrl->Show( instructionMetadata.GetHelpPage() != "" );
instructionHelpLinkCtrl->Show( instructionMetadata.GetHelpPath() != "" );
//Update parameters controls
parametersHelper.UpdateControls(instructionMetadata.parameters.size());
@@ -600,5 +600,5 @@ void InstructionSelectorDialog::OnInstructionHelpLinkCtrlClicked(wxHyperlinkEven
gd::MetadataProvider::GetActionMetadata(game.GetCurrentPlatform(), instructionType) :
gd::MetadataProvider::GetConditionMetadata(game.GetCurrentPlatform(), instructionType);
gd::HelpFileAccess::Get()->OpenPage( instructionMetadata.GetHelpPage() );
gd::HelpFileAccess::Get()->OpenPage( instructionMetadata.GetHelpPath() );
}

View File

@@ -36,7 +36,7 @@ Links
### Community
* [GDevelop forums](http://forum.compilgames.net) and [Discord chat](https://discord.gg/YnKk8Ev).
* [GDevelop forums](http://forum.compilgames.net) and [Discord chat](https://discord.gg/JWcfHEB).
* [GDevelop homepage](https://gdevelop-app.com) ([open-source](https://github.com/4ian/GDevelop-website))
* [GDevelop wiki (documentation)](http://wiki.compilgames.net)
* Help translate GD in your language: [GDevelop project on Crowdin](https://crowdin.com/project/gdevelop).

View File

@@ -123,19 +123,15 @@ yarn deploy #or npm run deploy
## Current status and how to contribute
This new editor is still in development and is missing some features:
This new editor is always in development. Check the [the roadmap for ideas and features planned](https://trello.com/b/qf0lM7k8/gdevelop-roadmap). For example:
- [ ] Support for translations (See an [example of a component that can be translated](https://github.com/4ian/GD/blob/master/newIDE/app/src/MainFrame/Toolbar.js#L44))
- [ ] Support for native games
- [ ] More [documentation](http://wiki.compilgames.net/doku.php/gdevelop5/start) about how to package for iOS/Android with Cordova/PhoneGap Build or Cocos2d-JS.
- [ ] Search in events
- [ ] More [examples](https://github.com/4ian/GD/blob/master/newIDE/app/src/ProjectCreation/BrowserExamples.js)
- [ ] More [tutorials](http://wiki.compilgames.net/doku.php/gdevelop5/start)
- [ ] Add more [keyboard shortcuts](https://github.com/4ian/GD/blob/master/newIDE/app/src/UI/KeyboardShortcuts/index.js)
- [ ] Make drawers movable/draggable like the properties panel and the objects editor
- [ ] Make [drawers movable/draggable like the properties panel and the objects editor](https://trello.com/c/GOdj2Lk5/132-allow-panels-to-be-dragged-in-a-separate-window-in-addition-to-the-main-window).
You can contribute by picking anything here or anything that you think is missing or could be improved in GD5! If you don't know how to start, it's a good idea to play a bit with the editor and see if there is something that is unavailable and that you can add or fix.
See also [the roadmap for ideas and features planned](https://trello.com/b/qf0lM7k8/gdevelop-roadmap).
This project was bootstrapped with [Create React App](https://github.com/facebookincubator/create-react-app). Check out their documentation for common tasks or help about using it.

View File

@@ -18,8 +18,11 @@ npm-debug.log
# GD library
public/libGD.js
# Third party editors
public/External/Piskel/piskel-editor
public/External/Piskel/piskel-editor.zip
public/External/monaco-editor-min
# Resources
public/res

View File

@@ -1,6 +1,18 @@
<!-- GDevelop.js core -->
<script src="/libGD.js"></script>
<!-- DocSearch support -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
<!-- Monaco Editor support -->
<script src="/External/monaco-editor-min/vs/loader.js"></script>
<script>
amdRequire = require;
amdRequire.config({
paths: {
"vs": "vs"
}
});
window.MonacoEnvironment = {
getWorkerUrl: function (workerId, label) {
return "External/monaco-editor-min/vs/base/worker/workerMain.js";
}
};
</script>

View File

@@ -19,6 +19,7 @@ declare type gdBaseEvent = EmscriptenObject;
declare type gdResource = EmscriptenObject;
declare type gdObject = EmscriptenObject;
declare type gdResourcesManager = EmscriptenObject;
declare type gdEventsList = EmscriptenObject;
declare type gdInstruction = EmscriptenObject;
declare type gdInstructionMetadata = EmscriptenObject;
@@ -35,5 +36,8 @@ declare type gdSprite = EmscriptenObject;
declare type gdDirection = EmscriptenObject;
declare type gdAnimation = EmscriptenObject;
declare type gdVectorEventsSearchResult = EmscriptenObject;
declare type gdMapStringPropertyDescriptor = EmscriptenObject;
//Represents all objects that have serializeTo and unserializeFrom methods.
declare type gdSerializable = EmscriptenObject;

View File

@@ -0,0 +1,39 @@
// flow-typed signature: a9c5357026f492c3622bca8c992bd97b
// flow-typed version: 20e8db2d87/@storybook/react_v3.x.x/flow_>=v0.28.x
type NodeModule = typeof module;
declare module '@storybook/react' {
declare type Renderable = React$Node;
declare type RenderFunction = (context: Context) => Renderable;
declare type Context = { kind: string, story: string };
declare type StoryDecorator = (
story: RenderFunction,
context: Context
) => Renderable;
declare interface Story {
add(storyName: string, callback: RenderFunction): Story,
addDecorator(decorator: StoryDecorator): Story,
}
declare interface StoryObject {
name: string,
render: RenderFunction,
}
declare interface StoryBucket {
kind: string,
stories: Array<StoryObject>,
}
declare function addDecorator(decorator: StoryDecorator): void;
declare function configure(fn: () => void, module: NodeModule): void;
declare function setAddon(addon: Object): void;
declare function storiesOf(name: string, module: NodeModule): Story;
declare function storiesOf<T>(name: string, module: NodeModule): Story & T;
declare function forceReRender(): void;
declare function getStorybook(): Array<StoryBucket>;
}

View File

@@ -0,0 +1,210 @@
// flow-typed signature: 2b849e9475cf6c205eb91bef1cf09580
// flow-typed version: 0850d53e97/algoliasearch_v3.x.x/flow_>=v0.56.x
// @flow
type JSONObject = mixed;
type HTTPClient = any;
type Callback<Response> = (error: ?Error, response: Response) => void;
declare type $algolia$SearchIndexResponse = {|
hits: Array<any>,
page: number,
nbHits: number,
nbPages: number,
hitsPerPage: number,
processingTimeMS: number,
query: string,
parsed_query: string,
params: string,
|};
declare type $algolia$SearchIndexMultiResponse = {|
results: Array<$algolia$SearchIndexResponse>,
|};
declare type $algoliasearch$Settings = {|
// https://www.algolia.com/doc/rest-api/search/#ranking
// Attributes
searchableAttributes?: Array<string>,
attributesForFaceting?: Array<string>,
unretrievableAttributes?: Array<string>,
attributesToRetrieve?: Array<string> | '*',
// Ranking
ranking?: Array<string>,
customRanking?: Array<string>,
replicas?: Array<string>,
// Faceting
maxValuesPerFacet?: number,
// Hightlighting & Snippeting
attributesToHighlight?: Array<string>,
attributesToSnippet?: Array<string>,
hightlightPreTag?: string,
hightlightPostTag?: string,
snippetEllipsisText?: string,
restrictHighlightAndSnippetArrays?: boolean,
// Pagination
hitsPerPage?: number,
paginationLimitedTo?: number,
// Typo
minWordSizefor1Typo?: number,
minWordSizefor2Typo?: number,
typoTolerance?: string | boolean,
allowTyposOnNumericTokens?: boolean,
ignorePlurals?: boolean,
disableTypoToleranceOnAttributes?: boolean,
disableTypoToleranceOnWords?: boolean,
separatorsToIndex?: string,
|};
declare type $algoliasearch$ClientOptions = {|
timeout?: number,
protocol?: 'http:' | 'https:',
httpClient?: HTTPClient,
hosts?: {|
read?: string,
write?: string,
|},
|};
declare type $algoliasearch$QueryParameters =
| string
| {
advancedSyntax?: boolean,
allowTyposOnNumericTokens?: boolean,
alternativesAsExact?: any,
analytics?: boolean,
analyticsTags?: Array<string>,
aroundLatLng?: string,
aroundLatLngViaIP?: string,
aroundPrecision?: number,
aroundRadius?: number | 'all',
attributesToHighlight?: Array<string>,
attributesToRetrieve?: Array<string>,
attributesToSnippet?: Array<string>,
disableExactOnAttributes?: Array<string>,
disableTypoToleranceOnAttributes?: string,
distinct?: any,
exactOnSingleWordQuery?: string,
facetFilters?: string,
facets?: string,
filters?: string,
getRankingInfo?: boolean,
highlightPostTag?: string,
highlightPreTag?: string,
hitsPerPage?: number,
ignorePlurals?: boolean,
insideBoundingBox?: number[][],
insidePolygon?: number[][],
length?: number,
maxValuesPerFacet?: string,
minimumAroundRadius?: number,
minProximity?: number,
minWordSizefor1Typo?: number,
minWordSizefor2Typos?: number,
numericAttributesToIndex?: Array<string>,
numericFilters?: Array<string>,
offset?: number,
optionalWords?: Array<string>,
page?: number,
query?: string,
queryType?: any,
removeStopWords?: Array<string>,
removeWordsIfNoResults?: string,
replaceSynonymsInHighlight?: boolean,
restrictHighlightAndSnippetArrays?: boolean,
restrictSearchableAttributes?: Array<string>,
snippetEllipsisText?: string,
synonyms?: boolean,
tagFilters?: string,
typoTolerance?: boolean,
};
declare type $algoliasearch$QueryMultiParameters = Array<{|
indexName: string,
params: $algoliasearch$QueryParameters,
|}>;
declare interface $algoliasearch$Client {
clearCache(): void,
initIndex(s: string): $algoliasearch$Index,
};
declare interface $algoliasearch$IndexLite {
clearCache(): void,
// Single
search(
s: $algoliasearch$QueryParameters,
callback: Callback<$algolia$SearchIndexResponse>
): void,
search(
s: $algoliasearch$QueryParameters
): Promise<$algolia$SearchIndexResponse>,
// Multi
search(
queries: Array<$algoliasearch$QueryMultiParameters>,
callback: Callback<$algolia$SearchIndexMultiResponse>
): void,
search(
queries: Array<$algoliasearch$QueryMultiParameters>
): Promise<$algolia$SearchIndexMultiResponse>,
setSettings(settings: $algoliasearch$Settings, callback: Callback<any>): void,
setSettings(settings: $algoliasearch$Settings): Promise<any>,
};
declare interface $algoliasearch$Index extends $algoliasearch$IndexLite {
addObjects(o: JSONObject, callback: Callback<any>): void,
addObjects(o: JSONObject): Promise<any>,
};
declare interface $algoliasearch$ClientLite {
clearCache(): void,
initIndex(s: string): $algoliasearch$IndexLite,
};
declare module 'algoliasearch' {
declare type Client = $algoliasearch$Client;
declare type ClientOptions = $algoliasearch$ClientOptions;
declare type Index = $algoliasearch$Index;
declare type Settings = $algoliasearch$Settings;
declare module.exports: {
(
applicationID: string,
apiKey: string,
options?: ClientOptions
): Client;
}
}
declare module 'algoliasearch/reactnative' {
declare type Client = $algoliasearch$Client;
declare type ClientOptions = $algoliasearch$ClientOptions;
declare type Index = $algoliasearch$Index;
declare type Settings = $algoliasearch$Settings;
declare module.exports: {
(
applicationID: string,
apiKey: string,
options?: ClientOptions
): Client;
}
}
declare module 'algoliasearch/lite' {
declare type Client = $algoliasearch$ClientLite;
declare type ClientOptions = $algoliasearch$ClientOptions;
declare type Index = $algoliasearch$IndexLite;
declare type Settings = $algoliasearch$Settings;
declare module.exports: {
(
applicationID: string,
apiKey: string,
options?: ClientOptions
): Client;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,147 @@
// flow-typed signature: c3b43d5cd4669b81afe57d1d18ad32cf
// flow-typed version: efe563fdbd/axios_v0.16.x/flow_>=v0.75.x
declare module "axios" {
declare interface ProxyConfig {
host: string;
port: number;
}
declare interface Cancel {
constructor(message?: string): Cancel;
message: string;
}
declare interface Canceler {
(message?: string): void;
}
declare interface CancelTokenSource {
token: CancelToken;
cancel: Canceler;
}
declare class CancelToken {
constructor(executor: (cancel: Canceler) => void): CancelToken;
static source(): CancelTokenSource;
promise: Promise<Cancel>;
reason?: Cancel;
throwIfRequested(): void;
}
declare interface AxiosXHRConfigBase<T> {
adapter?: <T>(config: AxiosXHRConfig<T>) => Promise<AxiosXHR<T>>;
auth?: {
username: string,
password: string
};
baseURL?: string;
cancelToken?: CancelToken;
headers?: Object;
httpAgent?: mixed; // Missing the type in the core flow node libdef
httpsAgent?: mixed; // Missing the type in the core flow node libdef
maxContentLength?: number;
maxRedirects?: number;
params?: Object;
paramsSerializer?: (params: Object) => string;
progress?: (progressEvent: Event) => void | mixed;
proxy?: ProxyConfig | false;
responseType?:
| "arraybuffer"
| "blob"
| "document"
| "json"
| "text"
| "stream";
timeout?: number;
transformRequest?: Array<<U>(data: T) => U | Array<<U>(data: T) => U>>;
transformResponse?: Array<<U>(data: T) => U>;
validateStatus?: (status: number) => boolean;
withCredentials?: boolean;
xsrfCookieName?: string;
xsrfHeaderName?: string;
}
declare type $AxiosXHRConfigBase<T> = AxiosXHRConfigBase<T>;
declare interface AxiosXHRConfig<T> extends AxiosXHRConfigBase<T> {
data?: T;
method?: string;
url: string;
}
declare type $AxiosXHRConfig<T> = AxiosXHRConfig<T>;
declare class AxiosXHR<T> {
config: AxiosXHRConfig<T>;
data: T;
headers?: Object;
status: number;
statusText: string;
request: http$ClientRequest | XMLHttpRequest;
}
declare type $AxiosXHR<T> = AxiosXHR<T>;
declare type AxiosInterceptorIdent = number;
declare class AxiosRequestInterceptor<T> {
use(
successHandler: ?(
response: AxiosXHRConfig<T>
) => Promise<AxiosXHRConfig<*>> | AxiosXHRConfig<*>,
errorHandler: ?(error: mixed) => mixed
): AxiosInterceptorIdent;
eject(ident: AxiosInterceptorIdent): void;
}
declare class AxiosResponseInterceptor<T> {
use(
successHandler: ?(response: AxiosXHR<T>) => mixed,
errorHandler: ?(error: $AxiosError<any>) => mixed
): AxiosInterceptorIdent;
eject(ident: AxiosInterceptorIdent): void;
}
declare type AxiosPromise<T> = Promise<AxiosXHR<T>>;
declare class Axios {
constructor<T>(config?: AxiosXHRConfigBase<T>): void;
[[call]]<T>(
config: AxiosXHRConfig<T> | string,
config?: AxiosXHRConfig<T>
): AxiosPromise<T>;
request<T>(config: AxiosXHRConfig<T>): AxiosPromise<T>;
delete<T>(url: string, config?: AxiosXHRConfigBase<T>): AxiosPromise<T>;
get<T>(url: string, config?: AxiosXHRConfigBase<T>): AxiosPromise<T>;
head<T>(url: string, config?: AxiosXHRConfigBase<T>): AxiosPromise<T>;
post<T>(
url: string,
data?: mixed,
config?: AxiosXHRConfigBase<T>
): AxiosPromise<T>;
put<T>(
url: string,
data?: mixed,
config?: AxiosXHRConfigBase<T>
): AxiosPromise<T>;
patch<T>(
url: string,
data?: mixed,
config?: AxiosXHRConfigBase<T>
): AxiosPromise<T>;
interceptors: {
request: AxiosRequestInterceptor<mixed>,
response: AxiosResponseInterceptor<mixed>
};
defaults: { headers: Object } & AxiosXHRConfig<*>;
}
declare class AxiosError<T> extends Error {
config: AxiosXHRConfig<T>;
response: AxiosXHR<T>;
code?: string;
}
declare type $AxiosError<T> = AxiosError<T>;
declare interface AxiosExport extends Axios {
[[call]]<T>(
config: AxiosXHRConfig<T> | string,
config?: AxiosXHRConfig<T>
): AxiosPromise<T>;
Axios: typeof Axios;
Cancel: Class<Cancel>;
CancelToken: Class<CancelToken>;
isCancel(value: any): boolean;
create(config?: AxiosXHRConfigBase<any>): Axios;
all: typeof Promise.all;
spread(callback: Function): (arr: Array<any>) => Function;
}
declare module.exports: AxiosExport;
}

View File

@@ -0,0 +1,39 @@
// flow-typed signature: f4cc5afd18a3bf7fbfb75da96a03ee2e
// flow-typed version: <<STUB>>/blueimp-md5_v^2.10.0/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'blueimp-md5'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'blueimp-md5' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'blueimp-md5/js/md5' {
declare module.exports: any;
}
declare module 'blueimp-md5/js/md5.min' {
declare module.exports: any;
}
// Filename aliases
declare module 'blueimp-md5/js/md5.js' {
declare module.exports: $Exports<'blueimp-md5/js/md5'>;
}
declare module 'blueimp-md5/js/md5.min.js' {
declare module.exports: $Exports<'blueimp-md5/js/md5.min'>;
}

View File

@@ -0,0 +1,23 @@
// flow-typed signature: cf86673cc32d185bdab1d2ea90578d37
// flow-typed version: 614bf49aa8/classnames_v2.x.x/flow_>=v0.25.x
type $npm$classnames$Classes =
| string
| { [className: string]: * }
| false
| void
| null;
declare module "classnames" {
declare module.exports: (
...classes: Array<$npm$classnames$Classes | $npm$classnames$Classes[]>
) => string;
}
declare module "classnames/bind" {
declare module.exports: $Exports<"classnames">;
}
declare module "classnames/dedupe" {
declare module.exports: $Exports<"classnames">;
}

View File

@@ -0,0 +1,32 @@
// flow-typed signature: 20bcb1828794c8d0c2baa5d7faf45473
// flow-typed version: <<STUB>>/element-closest_v2.0.2/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'element-closest'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'element-closest' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'element-closest/element-closest' {
declare module.exports: any;
}
// Filename aliases
declare module 'element-closest/element-closest.js' {
declare module.exports: $Exports<'element-closest/element-closest'>;
}

View File

@@ -0,0 +1,882 @@
// flow-typed signature: 957d92b80c0e58047ab324d07668abf2
// flow-typed version: 63cba5e9af/firebase_v4.x.x/flow_>=v0.34.x
/* @flow */
/** ** firebase ****/
declare interface $npm$firebase$Config {
apiKey: string;
authDomain?: string;
databaseURL?: string;
projectId?: string;
storageBucket?: string;
messagingSenderId?: string;
}
declare interface $npm$firebase$auth$Error {
code:
| 'auth/app-deleted'
| 'auth/app-not-authorized'
| 'auth/argument-error'
| 'auth/invalid-api-key'
| 'auth/invalid-user-token'
| 'auth/network-request-failed'
| 'auth/operation-not-allowed'
| 'auth/requires-recent-login'
| 'auth/too-many-requests'
| 'auth/unauthorized-domain'
| 'auth/user-disabled'
| 'auth/user-token-expired'
| 'auth/web-storage-unsupported'
| 'auth/invalid-email'
| 'auth/account-exists-with-different-credential'
| 'auth/invalid-credential'
| 'auth/user-not-found'
| 'auth/wrong-password'
| 'auth/invalid-verification-code'
| 'auth/invalid-verification-id'
| 'auth/expired-action-code'
| 'auth/invalid-action-code'
| 'auth/invalid-verification-code'
| 'auth/missing-verification-code'
| 'auth/captcha-check-failed'
| 'auth/invalid-phone-number'
| 'auth/missing-phone-number'
| 'auth/quota-exceeded'
| 'auth/credential-already-in-use'
| 'auth/email-already-in-use'
| 'auth/provider-already-linked'
| 'auth/auth-domain-config-required'
| 'auth/cancelled-popup-request'
| 'auth/popup-blocked'
| 'auth/operation-not-supported-in-this-environment'
| 'auth/popup-closed-by-user'
| 'auth/unauthorized-domain'
| 'auth/no-such-provider';
message: string;
}
declare interface $npm$firebase$Error {
code: $PropertyType<$npm$firebase$auth$Error, 'code'> | 'app/no-app';
message: string;
name: string;
stack: ?string;
}
/** *** app *****/
declare class $npm$firebase$App {
name: string;
+options: $npm$firebase$Config;
auth(): $npm$firebase$auth$Auth;
database(): $npm$firebase$database$Database;
storage(): $npm$firebase$storage$Storage;
delete(): Promise<void>;
}
/** **** auth *******/
declare interface $npm$firebase$auth$ActionCodeInfo {
data: { email: string };
}
declare interface $npm$firebase$auth$ApplicationVerifier {
type: string;
verify(): Promise<string>;
}
declare type $npm$firebase$auth$Auth$Persistence = {
+LOCAL: 'local',
+SESSION: 'session',
+NONE: 'none',
}
declare type $npm$firebase$auth$Auth$Persistence$Enum = $Values<$npm$firebase$auth$Auth$Persistence>
declare class $npm$firebase$auth$Auth {
static Persistence: $npm$firebase$auth$Auth$Persistence;
app: $npm$firebase$App;
currentUser: $npm$firebase$auth$User;
applyActionCode(code: string): Promise<void>;
checkActionCode(code: string): Promise<$npm$firebase$auth$ActionCodeInfo>;
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
createCustomToken(uid: string, developerClaims?: {}): string;
createUserWithEmailAndPassword(
email: string,
password: string
): Promise<$npm$firebase$auth$User>;
fetchProvidersForEmail(email: string): Promise<Array<string>>;
onAuthStateChanged(
nextOrObserver: (?$npm$firebase$auth$User) => void | Promise<void>,
error?: (error: $npm$firebase$auth$Error) => void,
completed?: () => void
): () => void;
onIdTokenChanged(
nextOrObserver: Object | ((user?: $npm$firebase$auth$User) => void | Promise<void>),
error?: (error: $npm$firebase$auth$Error) => void,
completed?: () => void
): () => void;
sendPasswordResetEmail(email: string): Promise<void>;
setPersistence(persistence: $npm$firebase$auth$Auth$Persistence$Enum): Promise<void>;
signInAndRetrieveDataWithCredential(
credential: $npm$firebase$auth$AuthCredential
): Promise<$npm$firebase$auth$UserCredential>;
signInAnonymously(): Promise<$npm$firebase$auth$User>;
signInWithCredential(
credential: $npm$firebase$auth$AuthCredential
): Promise<$npm$firebase$auth$User>;
signInWithCustomToken(token: string): Promise<$npm$firebase$auth$User>;
signInWithEmailAndPassword(
email: string,
password: string
): Promise<$npm$firebase$auth$User>;
signInWithPhoneNumber(
phoneNumber: string,
applicationVerifier: $npm$firebase$auth$ApplicationVerifier
): Promise<$npm$firebase$auth$ConfirmationResult>;
signInWithPopup(
provider: $npm$firebase$auth$AuthProvider
): Promise<$npm$firebase$auth$UserCredential>;
signOut(): Promise<void>;
verifyIdToken(idToken: string): Promise<Object>;
verifyPasswordResetCode(code: string): Promise<string>;
}
declare interface $npm$firebase$auth$AuthCredential {
providerId: string;
}
declare class $npm$firebase$auth$AuthProvider {
providerId: string;
}
declare interface $npm$firebase$auth$ConfirmationResult {
verificationId: string;
confirm(verificationCode: string): Promise<$npm$firebase$auth$UserCredential>;
}
declare type $npm$firebase$auth$UserProfile = {
displayName?: string,
photoURL?: string
};
declare interface $npm$firebase$auth$AdditionalUserInfo {
providerId: string;
profile?: $npm$firebase$auth$UserProfile;
username?: string;
}
declare interface $npm$firebase$auth$UserCredential {
user: $npm$firebase$auth$User;
credential?: $npm$firebase$auth$AuthCredential;
operationType?: string;
additionalUserInfo?: $npm$firebase$auth$AdditionalUserInfo;
}
declare class $npm$firebase$auth$UserInfo {
displayName: ?string;
email: ?string;
photoURL: ?string;
providerId: string;
uid: string;
}
declare type $npm$firebase$actionCode$settings = {
url: string,
iOS?: { bundleId: string },
android?: {
packageName: string,
installApp?: boolean,
minimumVersion?: string,
},
handleCodeInApp?: boolean,
}
declare class $npm$firebase$auth$User extends $npm$firebase$auth$UserInfo {
displayName: ?string;
email: ?string;
emailVerified: boolean;
isAnonymous: boolean;
phoneNumber: ?string;
photoUrl: ?string;
providerData: Array<$npm$firebase$auth$UserInfo>;
providerId: string;
refreshToken: string;
uid: string;
delete(): Promise<void>;
getIdToken(forceRefresh?: boolean): Promise<string>;
getToken(forceRefresh?: boolean): Promise<string>;
linkAndRetrieveDataWithCredential(
credential: $npm$firebase$auth$AuthCredential
): Promise<$npm$firebase$auth$UserCredential>;
linkWithCredential(
credential: $npm$firebase$auth$AuthCredential
): Promise<$npm$firebase$auth$User>;
linkWithPhoneNumber(
phoneNumber: string,
applicationVerifier: $npm$firebase$auth$ApplicationVerifier
): Promise<$npm$firebase$auth$ConfirmationResult>;
linkWithPopup(
provider: $npm$firebase$auth$OAuthProvider
): Promise<$npm$firebase$auth$UserCredential>;
reauthenticateAndRetrieveDataWithCredential(
credential: $npm$firebase$auth$AuthCredential
): Promise<void>;
reauthenticateWithCredential(
credential: $npm$firebase$auth$AuthCredential
): Promise<void>;
reauthenticateWithPhoneNumber(
phoneNumber: string,
applicationVerifier: $npm$firebase$auth$ApplicationVerifier
): Promise<$npm$firebase$auth$ConfirmationResult>;
reload(): Promise<void>;
sendEmailVerification(actionCodeSettings?: $npm$firebase$actionCode$settings): Promise<void>;
toJSON(): Object;
unlink(providerId: string): Promise<$npm$firebase$auth$User>;
updateEmail(newEmail: string): Promise<void>;
updatePassword(newPassword: string): Promise<void>;
updatePhoneNumber(
phoneCredential: $npm$firebase$auth$AuthCredential
): Promise<void>;
updateProfile(profile: $npm$firebase$auth$UserProfile): Promise<void>;
}
declare class $npm$firebase$auth$EmailAuthProvider extends $npm$firebase$auth$AuthProvider {
PROVIDER_ID: string;
providerId: string;
credential(
email: string,
password: string
): $npm$firebase$auth$AuthCredential;
}
declare class $npm$firebase$auth$FacebookAuthProvider extends $npm$firebase$auth$AuthProvider {
PROVIDER_ID: string;
credential(token: string): $npm$firebase$auth$AuthCredential;
addScope(scope: string): $npm$firebase$auth$FacebookAuthProvider;
setCustomParameters(
customOAuthParameters: Object
): $npm$firebase$auth$FacebookAuthProvider;
}
declare class $npm$firebase$auth$GithubAuthProvider extends $npm$firebase$auth$AuthProvider {
PROVIDER_ID: string;
credential(token: string): $npm$firebase$auth$AuthCredential;
addScope(scope: string): $npm$firebase$auth$GithubAuthProvider;
setCustomParameters(
customOAuthParameters: Object
): $npm$firebase$auth$GithubAuthProvider;
}
declare class $npm$firebase$auth$GoogleAuthProvider extends $npm$firebase$auth$AuthProvider {
PROVIDER_ID: string;
credential(
idToken?: string,
accessToken?: string
): $npm$firebase$auth$AuthCredential;
addScope(scope: string): $npm$firebase$auth$GoogleAuthProvider;
setCustomParameters(
customOAuthParameters: Object
): $npm$firebase$auth$GoogleAuthProvider;
}
declare class $npm$firebase$auth$PhoneAuthProvider extends $npm$firebase$auth$AuthProvider {
PROVIDER_ID: string;
constructor(
auth?: $npm$firebase$auth$Auth
): $npm$firebase$auth$PhoneAuthProvider;
credential(
verificationId: string,
verificationCode: string
): $npm$firebase$auth$AuthCredential;
verifyPhoneNumber(
phoneNumber: string,
applicationVerifier: $npm$firebase$auth$ApplicationVerifier
): Promise<string>;
}
declare class $npm$firebase$auth$TwitterAuthProvider extends $npm$firebase$auth$AuthProvider {
PROVIDER_ID: string;
credential(token: string, secret: string): $npm$firebase$auth$AuthCredential;
setCustomParameters(customOAuthParameters: Object): this;
}
declare type $npm$firebase$auth$OAuthProvider =
| $npm$firebase$auth$FacebookAuthProvider
| $npm$firebase$auth$GithubAuthProvider
| $npm$firebase$auth$GoogleAuthProvider
| $npm$firebase$auth$TwitterAuthProvider;
/** **** database ******/
declare type $npm$firebase$database$Value = any;
declare type $npm$firebase$database$OnCompleteCallback = (
error: ?Object
) => void;
declare type $npm$firebase$database$QueryEventType =
| 'value'
| 'child_added'
| 'child_changed'
| 'child_removed'
| 'child_moved';
declare type $npm$firebase$database$Priority = string | number | null;
declare class $npm$firebase$database$Database {
app: $npm$firebase$App;
goOffline(): void;
goOnline(): void;
ref(path?: string): $npm$firebase$database$Reference;
refFromURL(url: string): $npm$firebase$database$Reference;
}
declare class $npm$firebase$database$DataSnapshot {
key: ?string;
ref: $npm$firebase$database$Reference;
child(path?: string): $npm$firebase$database$DataSnapshot;
exists(): boolean;
exportVal(): $npm$firebase$database$Value;
forEach(action: ($npm$firebase$database$DataSnapshot) => boolean): boolean;
getPriority(): $npm$firebase$database$Priority;
hasChild(path: string): boolean;
hasChildren(): boolean;
numChildren(): number;
toJSON(): Object;
val(): $npm$firebase$database$Value;
}
declare class $npm$firebase$database$OnDisconnect {
cancel(onComplete?: $npm$firebase$database$OnCompleteCallback): Promise<void>;
remove(onComplete?: $npm$firebase$database$OnCompleteCallback): Promise<void>;
set(
value: $npm$firebase$database$Value,
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
setWithPriority(
value: $npm$firebase$database$Value,
priority: number | string | null,
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
update(
values: { +[path: string]: $npm$firebase$database$Value },
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
}
declare type $npm$firebase$database$Callback = (
$npm$firebase$database$DataSnapshot,
?string
) => void;
declare class $npm$firebase$database$Query {
ref: $npm$firebase$database$Reference;
endAt(
value: number | string | boolean | null,
key?: string
): $npm$firebase$database$Query;
equalTo(
value: number | string | boolean | null,
key?: string
): $npm$firebase$database$Query;
isEqual(other: $npm$firebase$database$Query): boolean;
limitToFirst(limit: number): $npm$firebase$database$Query;
limitToLast(limit: number): $npm$firebase$database$Query;
off(
eventType?: $npm$firebase$database$QueryEventType,
callback?: $npm$firebase$database$Callback,
context?: Object
): void;
on(
eventType: $npm$firebase$database$QueryEventType,
callback: $npm$firebase$database$Callback,
cancelCallbackOrContext?: (error: Object) => void | Object,
context?: $npm$firebase$database$Callback
): $npm$firebase$database$Callback;
once(
eventType: $npm$firebase$database$QueryEventType,
successCallback?: $npm$firebase$database$Callback,
failureCallbackOrContext?: (error: Object) => void | Object,
context?: Object
): Promise<$npm$firebase$database$DataSnapshot>;
orderByChild(path: string): $npm$firebase$database$Query;
orderByKey(): $npm$firebase$database$Query;
orderByPriority(): $npm$firebase$database$Query;
orderByValue(): $npm$firebase$database$Query;
startAt(
value: number | string | boolean | null,
key?: string
): $npm$firebase$database$Query;
toJSON(): Object;
toString(): string;
}
declare class $npm$firebase$database$Reference extends $npm$firebase$database$Query {
key: ?string;
parent?: $npm$firebase$database$Reference;
root: $npm$firebase$database$Reference;
child(path: string): $npm$firebase$database$Reference;
onDisconnect(): $npm$firebase$database$OnDisconnect;
push(
value?: $npm$firebase$database$Value,
onComplete?: $npm$firebase$database$OnCompleteCallback
): $npm$firebase$database$ThenableReference & Promise<void>;
remove(onComplete?: $npm$firebase$database$OnCompleteCallback): Promise<void>;
set(
value: $npm$firebase$database$Value,
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
setPriority(
priority: $npm$firebase$database$Priority,
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
setWithPriority(
newVal: $npm$firebase$database$Value,
newPriority: $npm$firebase$database$Priority,
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
transaction(
transactionUpdate: (
data: $npm$firebase$database$Value
) => $npm$firebase$database$Value,
onComplete?: (
error: null | Object,
committed: boolean,
snapshot: $npm$firebase$database$DataSnapshot
) => void,
applyLocally?: boolean
): Promise<{
committed: boolean,
snapshot: $npm$firebase$database$DataSnapshot | null
}>;
update(
values: { [path: string]: $npm$firebase$database$Value },
onComplete?: $npm$firebase$database$OnCompleteCallback
): Promise<void>;
}
declare class $npm$firebase$database$ServerValue {
static TIMESTAMP: {};
}
declare class $npm$firebase$database$ThenableReference extends $npm$firebase$database$Reference {}
/** **** firestore ******/
declare class $npm$firebase$firestore$Firestore {
app: $npm$firebase$App;
batch(): $npm$firebase$firestore$WriteBatch;
collection(collectionPath: string): $npm$firebase$firestore$CollectionReference;
doc(documentPath: string): $npm$firebase$firestore$DocumentReference;
enablePersistence(): Promise<void>;
runTransaction(updateFunction: (transaction: $npm$firebase$firestore$Transaction) => Promise<any>): Promise<mixed>;
setLogLevel(logLevel: 'debug' | 'error' | 'silent'): void;
settings(settings: $npm$firebase$firestore$Settings): void;
}
declare interface $npm$firebase$firestore$Blob {
fromBase64String(base64: string): $npm$firebase$firestore$Blob;
fromUint8Array(array: Uint8Array): $npm$firebase$firestore$Blob;
toBase64(): string;
toUintArray(): Uint8Array;
}
declare interface $npm$firebase$firestore$QueryListenOptions {
includeMetadataChanges: boolean;
includeQueryMetadataChanges: boolean;
}
declare type $npm$firebase$firestore$observer = (snapshot: $npm$firebase$firestore$DocumentSnapshot) => void | Promise<void>;
declare type $npm$firebase$firestore$observerError = (error: $npm$firebase$Error) => void | Promise<void>;
declare class $npm$firebase$firestore$Query {
firestore: $npm$firebase$firestore$Firestore;
endAt(snapshotOrVarArgs: $npm$firebase$firestore$DocumentSnapshot | {}): $npm$firebase$firestore$Query;
endBefore(snapshotOrVarArgs: $npm$firebase$firestore$DocumentSnapshot | {}): $npm$firebase$firestore$Query;
get(): Promise<$npm$firebase$firestore$QuerySnapshot>;
limit(limit: number): $npm$firebase$firestore$Query;
onSnapshot(
optionsOrObserverOrOnNext: $npm$firebase$firestore$QueryListenOptions | $npm$firebase$firestore$observer,
observerOrOnNextOrOnError?: | $npm$firebase$firestore$QueryListenOptions
| $npm$firebase$firestore$observer
| $npm$firebase$firestore$observerError,
onError?: $npm$firebase$firestore$observerError
): void;
orderBy(
fieldPath: $npm$firebase$firestore$FieldPath | string,
directionStr: 'asc' | 'desc'
): $npm$firebase$firestore$Query;
startAfter(snapshotOrVarArgs: $npm$firebase$firestore$DocumentSnapshot | {}): $npm$firebase$firestore$Query;
startAt(snapshotOrVarArgs: $npm$firebase$firestore$DocumentSnapshot | {}): $npm$firebase$firestore$Query;
where(fieldPath: string, opStr: '<' | '<=' | '==' | '>' | '>=', value: any): $npm$firebase$firestore$Query;
}
declare class $npm$firebase$firestore$CollectionReference extends $npm$firebase$firestore$Query {
constructor(): $npm$firebase$firestore$CollectionReference;
id: string;
parent: $npm$firebase$firestore$DocumentReference | null;
add(data: {}): Promise<mixed>;
doc(documentPath?: string): $npm$firebase$firestore$DocumentReference;
}
declare interface $npm$firebase$firestore$DocumentChange {
type: 'added' | 'removed' | 'modified';
}
declare class $npm$firebase$firestore$DocumentReference {
firestore: $npm$firebase$firestore$Firestore;
id: string;
parent: typeof $npm$firebase$firestore$CollectionReference;
collection(collectionPath: string): typeof $npm$firebase$firestore$CollectionReference;
delete(): Promise<void>;
get(): Promise<$npm$firebase$firestore$DocumentSnapshot>;
onSnapshot(
optionsOrObserverOrOnNext: $npm$firebase$firestore$QueryListenOptions | $npm$firebase$firestore$observer,
observerOrOnNextOrOnError?: | $npm$firebase$firestore$QueryListenOptions
| $npm$firebase$firestore$observer
| $npm$firebase$firestore$observerError,
onError?: $npm$firebase$firestore$observerError
): void;
set(data: {}, options?: { merge: boolean } | null): Promise<void>;
update(...args: Array<any>): Promise<void>;
}
declare class $npm$firebase$firestore$DocumentSnapshot {
data(): {};
get(fieldpath: typeof $npm$firebase$firestore$FieldPath): any;
exists: boolean;
id: string;
metadata: $npm$firebase$firestore$SnapshotMetadata;
ref: $npm$firebase$firestore$DocumentReference;
}
declare class $npm$firebase$firestore$FieldPath {
constructor(...args: Array<any>): $npm$firebase$firestore$FieldPath;
documentId(): typeof $npm$firebase$firestore$FieldPath;
}
declare interface $npm$firebase$firestore$FieldValue {
delete(): $npm$firebase$firestore$FieldValue;
serverTimestamp(): $npm$firebase$firestore$FieldValue;
}
declare type $npm$firebase$firestore$FirestoreError =
| 'cancelled'
| 'unknown'
| 'invalid-argument'
| 'deadline-exceeded'
| 'not-found'
| 'already-exists'
| 'permission-denied'
| 'resource-exhausted'
| 'failed-precondition'
| 'aborted'
| 'out-of-range'
| 'unimplemented'
| 'internal'
| 'unavailable'
| 'data-loss'
| 'unauthenticated';
declare class $npm$firebase$firestore$GeoPoint {
constructor(latitude: number, longitude: number): $npm$firebase$firestore$GeoPoint;
latitude: number;
longitude: number;
}
declare class $npm$firebase$firestore$QuerySnapshot {
docChanges(): Array<$npm$firebase$firestore$DocumentChange>;
docs: Array<$npm$firebase$firestore$DocumentSnapshot>;
empty: boolean;
metadata: $npm$firebase$firestore$SnapshotMetadata;
query: $npm$firebase$firestore$Query;
size: number;
forEach((snapshot: $npm$firebase$firestore$DocumentSnapshot, thisArg?: any) => void): void;
}
declare interface $npm$firebase$firestore$Settings {}
declare interface $npm$firebase$firestore$SnapshotMetadata {
fromCache: boolean;
hasPendingWrites: boolean;
}
declare interface $npm$firebase$firestore$Transaction {
delete(documentRef: $npm$firebase$firestore$DocumentReference): $npm$firebase$firestore$Transaction;
get(documentRef: $npm$firebase$firestore$DocumentReference): Promise<$npm$firebase$firestore$DocumentSnapshot>;
set(
documentRef: $npm$firebase$firestore$DocumentReference,
data: {},
options?: { merge: boolean }
): $npm$firebase$firestore$Transaction;
update(documentRef: $npm$firebase$firestore$DocumentReference, ...args: Array<any>): $npm$firebase$firestore$Transaction;
}
declare interface $npm$firebase$firestore$WriteBatch {
commit(): Promise<void>;
delete(documentRef: $npm$firebase$firestore$DocumentReference): $npm$firebase$firestore$WriteBatch;
set(
documentRef: $npm$firebase$firestore$DocumentReference,
data: {},
options?: { merge: boolean }
): $npm$firebase$firestore$WriteBatch;
update(documentRef: $npm$firebase$firestore$DocumentReference, ...args: Array<any>): $npm$firebase$firestore$WriteBatch;
}
/** **** messaging ******/
declare class $npm$firebase$messaging$Messaging {
deleteToken(token: string): Promise<any>;
getToken(): Promise<string>;
onMessage(nextOrObserver: ({}) => void | {}): () => void;
onTokenRefresh(nextOrObserver: ({}) => void | {}): () => void;
requestPermission(): Promise<any>;
setBackgroundMessageHandler(callback: (value: {}) => void): void;
useServiceWorker(registration: any): void;
}
/** **** storage ******/
declare type $npm$firebase$storage$StringFormat =
| 'raw'
| 'base64'
| 'base64url'
| 'data_url';
declare type $npm$firebase$storage$TaskEvent = 'state_changed';
declare type $npm$firebase$storage$TaskState =
| 'running'
| 'paused'
| 'success'
| 'canceled'
| 'error';
declare class $npm$firebase$storage$Storage {
app: $npm$firebase$App;
maxOperationRetryTime: number;
maxUploadRetryTime: number;
ref(path?: string): $npm$firebase$storage$Reference;
refFromURL(url: string): $npm$firebase$storage$Reference;
setMaxOperationRetryTime(time: number): void;
setMaxUploadRetryTime(time: number): void;
}
declare class $npm$firebase$storage$FullMetadata extends $npm$firebase$storage$UploadMetadata {
bucket: string;
downloadURLs: Array<string>;
fullPath: string;
generation: string;
metageneration: string;
name: string;
size: number;
timeCreated: string;
updated: string;
}
declare class $npm$firebase$storage$Reference {
bucket: string;
fullPath: string;
name: string;
parent?: $npm$firebase$storage$Reference;
root: $npm$firebase$storage$Reference;
storage: $npm$firebase$storage$Storage;
child(path: string): $npm$firebase$storage$Reference;
delete(): Promise<void>;
getDownloadURL(): Promise<string>;
getMetadata(): Promise<$npm$firebase$storage$FullMetadata>;
put(
data: Blob | Uint8Array | ArrayBuffer,
metadata?: $npm$firebase$storage$UploadMetadata
): $npm$firebase$storage$UploadTask;
putString(
data: string,
format: $npm$firebase$storage$StringFormat,
metadata?: $npm$firebase$storage$UploadMetadata
): $npm$firebase$storage$UploadTask;
toString(): string;
updateMetadata(
metadata: $npm$firebase$storage$SettableMetadata
): Promise<$npm$firebase$storage$FullMetadata>;
}
declare class $npm$firebase$storage$SettableMetadata {
cacheControl?: string;
contentDisposition?: string;
contentEncoding?: string;
contentLanguage?: string;
contentType?: string;
customMetadata?: { [key: string]: string | void };
}
declare class $npm$firebase$storage$UploadMetadata extends $npm$firebase$storage$SettableMetadata {
md5Hash?: string;
}
declare interface $npm$firebase$storage$Observer {
next: (snapshot: $npm$firebase$storage$UploadTaskSnapshot) => void;
error?: (error: Error) => void;
complete?: () => void;
}
declare type $npm$firebase$storage$Unsubscribe = () => void;
declare type $npm$firebase$storage$Subscribe = (
observerOrNext: | $npm$firebase$storage$Observer
| ((snapshot: $npm$firebase$storage$UploadTaskSnapshot) => void),
onError?: (error: Error) => void,
onComplete?: () => void
) => $npm$firebase$storage$Unsubscribe;
declare class $npm$firebase$storage$UploadTask extends Promise<
$npm$firebase$storage$UploadTaskSnapshot
> {
snapshot: $npm$firebase$storage$UploadTaskSnapshot;
cancel(): boolean;
on(
event: $npm$firebase$storage$TaskEvent,
...rest: Array<void>
): $npm$firebase$storage$Subscribe;
on(
event: $npm$firebase$storage$TaskEvent,
observerOrNext: | $npm$firebase$storage$Observer
| ((snapshot: $npm$firebase$storage$UploadTaskSnapshot) => void),
onError?: (error: Error) => void,
onComplete?: () => void
): $npm$firebase$storage$Unsubscribe;
pause(): boolean;
resume(): boolean;
}
declare class $npm$firebase$storage$UploadTaskSnapshot {
bytesTransferred: number;
downloadURL?: string;
metadata: $npm$firebase$storage$FullMetadata;
ref: $npm$firebase$storage$Reference;
state: $npm$firebase$storage$TaskState;
task: $npm$firebase$storage$UploadTask;
totalBytes: number;
}
// Exporting the types
declare module 'firebase' {
declare module.exports: {
+apps: Array<$npm$firebase$App>,
initializeApp(
options: $npm$firebase$Config,
name?: string
): $npm$firebase$App,
SDK_VERSION: string,
FirebaseError: $npm$firebase$Error,
FirebaseConfig: $npm$firebase$Config,
FirebaseUser: typeof $npm$firebase$auth$User,
FirebaseUserInfo: typeof $npm$firebase$auth$UserInfo,
app: $Exports<'@firebase/app'>,
auth: $Exports<'@firebase/auth'>,
database: $Exports<'@firebase/database'>,
firestore: $Exports<'@firebase/firestore'>,
messaging: $Exports<'@firebase/messaging'>,
storage: $Exports<'@firebase/storage'>
};
}
declare module 'firebase/app' {
declare module.exports: $Exports<'@firebase/app'>;
}
declare module 'firebase/auth' {
declare module.exports: $Exports<'@firebase/auth'>
}
declare module 'firebase/database' {
declare module.exports: $Exports<'@firebase/database'>;
}
declare module 'firebase/firestore' {
declare module.exports: $Exports<'@firebase/firestore'>;
}
declare module 'firebase/messaging' {
declare module.exports: $Exports<'@firebase/messaging'>;
}
declare module '@firebase/app' {
declare module.exports: {
(name?: string): $npm$firebase$App,
App: typeof $npm$firebase$App
};
}
declare module '@firebase/auth' {
declare module.exports: {
(app?: $npm$firebase$App): $npm$firebase$auth$Auth,
FirebaseAdditionalUserInfo: $npm$firebase$auth$AdditionalUserInfo,
FirebaseUserCredential: $npm$firebase$auth$UserCredential,
ActionCodeInfo: $npm$firebase$auth$ActionCodeInfo,
ApplicationVerifier: $npm$firebase$auth$ApplicationVerifier,
Auth: typeof $npm$firebase$auth$Auth,
AuthCredential: $npm$firebase$auth$AuthCredential,
AuthProvider: $npm$firebase$auth$AuthProvider,
ConfirmationResult: $npm$firebase$auth$ConfirmationResult,
EmailAuthProvider: typeof $npm$firebase$auth$EmailAuthProvider,
Error: $npm$firebase$auth$Error,
FacebookAuthProvider: typeof $npm$firebase$auth$FacebookAuthProvider,
GithubAuthProvider: typeof $npm$firebase$auth$GithubAuthProvider,
GoogleAuthProvider: typeof $npm$firebase$auth$GoogleAuthProvider,
PhoneAuthProvider: typeof $npm$firebase$auth$PhoneAuthProvider,
TwitterAuthProvider: typeof $npm$firebase$auth$TwitterAuthProvider
};
}
declare module 'firebase/storage' {
declare module.exports: $Exports<'firebase/storage'>;
}
declare module '@firebase/database' {
declare module.exports: {
(app?: $npm$firebase$App): $npm$firebase$database$Database,
enableLogging(
logger?: boolean | ((msg: string) => void),
persistent?: boolean
): void,
DataSnapshot: typeof $npm$firebase$database$DataSnapshot,
Database: typeof $npm$firebase$database$Database,
OnDisconnect: typeof $npm$firebase$database$OnDisconnect,
Query: typeof $npm$firebase$database$Query,
Reference: typeof $npm$firebase$database$Reference,
ServerValue: typeof $npm$firebase$database$ServerValue,
ThenableReference: typeof $npm$firebase$database$ThenableReference
};
}
declare module '@firebase/firestore' {
declare module.exports: {
(app?: $npm$firebase$App): $npm$firebase$firestore$Firestore,
Blob: $npm$firebase$firestore$Blob,
CollectionReference: typeof $npm$firebase$firestore$CollectionReference,
DocumentChange: $npm$firebase$firestore$DocumentChange,
DocumentReference: typeof $npm$firebase$firestore$DocumentReference,
DocumentSnapshot: typeof $npm$firebase$firestore$DocumentSnapshot,
FieldPath: typeof $npm$firebase$firestore$FieldPath,
FieldValue: $npm$firebase$firestore$FieldValue,
Firestore: typeof $npm$firebase$firestore$Firestore,
FirestoreError: $npm$firebase$firestore$FirestoreError,
GeoPoint: typeof $npm$firebase$firestore$GeoPoint,
Query: typeof $npm$firebase$firestore$Query,
QueryListenOptions: $npm$firebase$firestore$QueryListenOptions,
QuerySnapshot: typeof $npm$firebase$firestore$QuerySnapshot,
Settings: $npm$firebase$firestore$Settings,
SnapshotMetadata: $npm$firebase$firestore$SnapshotMetadata,
Transaction: $npm$firebase$firestore$Transaction,
WriteBatch: $npm$firebase$firestore$WriteBatch
};
}
declare module '@firebase/messaging' {
declare module.exports: {
(app?: $npm$firebase$App): $npm$firebase$messaging$Messaging,
Messaging: $npm$firebase$messaging$Messaging
};
}
declare module '@firebase/storage' {
declare module.exports: {
(app?: $npm$firebase$App): $npm$firebase$storage$Storage,
Storage: typeof $npm$firebase$storage$Storage,
FullMetadata: typeof $npm$firebase$storage$FullMetadata,
Reference: typeof $npm$firebase$storage$Reference,
SettableMetadata: typeof $npm$firebase$storage$SettableMetadata,
UploadMetadata: typeof $npm$firebase$storage$UploadMetadata,
UploadTask: typeof $npm$firebase$storage$UploadTask,
UploadTaskSnapshot: typeof $npm$firebase$storage$UploadTaskSnapshot
};
}

View File

@@ -0,0 +1,38 @@
// flow-typed signature: c08181a4b3d833ea6a7fac4d3b51da8c
// flow-typed version: <<STUB>>/flat_v2.0.1/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'flat'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'flat' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'flat/test/test' {
declare module.exports: any;
}
// Filename aliases
declare module 'flat/index' {
declare module.exports: $Exports<'flat'>;
}
declare module 'flat/index.js' {
declare module.exports: $Exports<'flat'>;
}
declare module 'flat/test/test.js' {
declare module.exports: $Exports<'flat/test/test'>;
}

View File

@@ -0,0 +1,6 @@
// flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583
// flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x
declare module "flow-bin" {
declare module.exports: string;
}

View File

@@ -0,0 +1,347 @@
// flow-typed signature: 46563508996cf9b11230ca3668322809
// flow-typed version: <<STUB>>/flow-coverage-report_v^0.4.0/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'flow-coverage-report'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'flow-coverage-report' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'flow-coverage-report/assets/codemirror-annotatescrollbar-addon' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/codemirror-javascript-mode' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/codemirror-simplescrollbars-addon' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/codemirror' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/flow-highlight-source' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/index' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/jquery-3.1.0.min' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/semantic-tablesort' {
declare module.exports: any;
}
declare module 'flow-coverage-report/assets/semantic.min' {
declare module.exports: any;
}
declare module 'flow-coverage-report/bin/flow-coverage-report' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/cli/args' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/cli/config' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/cli/index' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/body-coverage-sourcefile' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/body-coverage-summary' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-file-table-head' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-file-table-row' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-meter-bar' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-summary-table' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/footer' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/head' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/components/html-report-page' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/flow' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/index' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/promisified' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/report-html' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/report-json' {
declare module.exports: any;
}
declare module 'flow-coverage-report/dist/lib/report-text' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/cli/args' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/cli/config' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/cli/index' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/body-coverage-sourcefile' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/body-coverage-summary' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/coverage-file-table-head' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/coverage-file-table-row' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/coverage-meter-bar' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/coverage-summary-table' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/footer' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/head' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/components/html-report-page' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/flow' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/index' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/promisified' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/report-html' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/report-json' {
declare module.exports: any;
}
declare module 'flow-coverage-report/src/lib/report-text' {
declare module.exports: any;
}
// Filename aliases
declare module 'flow-coverage-report/assets/codemirror-annotatescrollbar-addon.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/codemirror-annotatescrollbar-addon'>;
}
declare module 'flow-coverage-report/assets/codemirror-javascript-mode.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/codemirror-javascript-mode'>;
}
declare module 'flow-coverage-report/assets/codemirror-simplescrollbars-addon.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/codemirror-simplescrollbars-addon'>;
}
declare module 'flow-coverage-report/assets/codemirror.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/codemirror'>;
}
declare module 'flow-coverage-report/assets/flow-highlight-source.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/flow-highlight-source'>;
}
declare module 'flow-coverage-report/assets/index.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/index'>;
}
declare module 'flow-coverage-report/assets/jquery-3.1.0.min.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/jquery-3.1.0.min'>;
}
declare module 'flow-coverage-report/assets/semantic-tablesort.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/semantic-tablesort'>;
}
declare module 'flow-coverage-report/assets/semantic.min.js' {
declare module.exports: $Exports<'flow-coverage-report/assets/semantic.min'>;
}
declare module 'flow-coverage-report/bin/flow-coverage-report.js' {
declare module.exports: $Exports<'flow-coverage-report/bin/flow-coverage-report'>;
}
declare module 'flow-coverage-report/dist/lib/cli/args.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/cli/args'>;
}
declare module 'flow-coverage-report/dist/lib/cli/config.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/cli/config'>;
}
declare module 'flow-coverage-report/dist/lib/cli/index.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/cli/index'>;
}
declare module 'flow-coverage-report/dist/lib/components/body-coverage-sourcefile.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/body-coverage-sourcefile'>;
}
declare module 'flow-coverage-report/dist/lib/components/body-coverage-summary.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/body-coverage-summary'>;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-file-table-head.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/coverage-file-table-head'>;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-file-table-row.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/coverage-file-table-row'>;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-meter-bar.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/coverage-meter-bar'>;
}
declare module 'flow-coverage-report/dist/lib/components/coverage-summary-table.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/coverage-summary-table'>;
}
declare module 'flow-coverage-report/dist/lib/components/footer.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/footer'>;
}
declare module 'flow-coverage-report/dist/lib/components/head.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/head'>;
}
declare module 'flow-coverage-report/dist/lib/components/html-report-page.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/components/html-report-page'>;
}
declare module 'flow-coverage-report/dist/lib/flow.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/flow'>;
}
declare module 'flow-coverage-report/dist/lib/index.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/index'>;
}
declare module 'flow-coverage-report/dist/lib/promisified.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/promisified'>;
}
declare module 'flow-coverage-report/dist/lib/report-html.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/report-html'>;
}
declare module 'flow-coverage-report/dist/lib/report-json.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/report-json'>;
}
declare module 'flow-coverage-report/dist/lib/report-text.js' {
declare module.exports: $Exports<'flow-coverage-report/dist/lib/report-text'>;
}
declare module 'flow-coverage-report/src/lib/cli/args.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/cli/args'>;
}
declare module 'flow-coverage-report/src/lib/cli/config.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/cli/config'>;
}
declare module 'flow-coverage-report/src/lib/cli/index.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/cli/index'>;
}
declare module 'flow-coverage-report/src/lib/components/body-coverage-sourcefile.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/body-coverage-sourcefile'>;
}
declare module 'flow-coverage-report/src/lib/components/body-coverage-summary.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/body-coverage-summary'>;
}
declare module 'flow-coverage-report/src/lib/components/coverage-file-table-head.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/coverage-file-table-head'>;
}
declare module 'flow-coverage-report/src/lib/components/coverage-file-table-row.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/coverage-file-table-row'>;
}
declare module 'flow-coverage-report/src/lib/components/coverage-meter-bar.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/coverage-meter-bar'>;
}
declare module 'flow-coverage-report/src/lib/components/coverage-summary-table.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/coverage-summary-table'>;
}
declare module 'flow-coverage-report/src/lib/components/footer.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/footer'>;
}
declare module 'flow-coverage-report/src/lib/components/head.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/head'>;
}
declare module 'flow-coverage-report/src/lib/components/html-report-page.jsx' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/components/html-report-page'>;
}
declare module 'flow-coverage-report/src/lib/flow.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/flow'>;
}
declare module 'flow-coverage-report/src/lib/index.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/index'>;
}
declare module 'flow-coverage-report/src/lib/promisified.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/promisified'>;
}
declare module 'flow-coverage-report/src/lib/report-html.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/report-html'>;
}
declare module 'flow-coverage-report/src/lib/report-json.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/report-json'>;
}
declare module 'flow-coverage-report/src/lib/report-text.js' {
declare module.exports: $Exports<'flow-coverage-report/src/lib/report-text'>;
}

View File

@@ -0,0 +1,45 @@
// flow-typed signature: f5182962fc09f09ae79392a2021e40cf
// flow-typed version: <<STUB>>/follow-redirects_v^1.2.3/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'follow-redirects'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'follow-redirects' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'follow-redirects/http' {
declare module.exports: any;
}
declare module 'follow-redirects/https' {
declare module.exports: any;
}
// Filename aliases
declare module 'follow-redirects/http.js' {
declare module.exports: $Exports<'follow-redirects/http'>;
}
declare module 'follow-redirects/https.js' {
declare module.exports: $Exports<'follow-redirects/https'>;
}
declare module 'follow-redirects/index' {
declare module.exports: $Exports<'follow-redirects'>;
}
declare module 'follow-redirects/index.js' {
declare module.exports: $Exports<'follow-redirects'>;
}

View File

@@ -0,0 +1,74 @@
// flow-typed signature: 396303ec1497f2b3e035acdec293dc6e
// flow-typed version: <<STUB>>/fontfaceobserver_v2.0.13/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'fontfaceobserver'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'fontfaceobserver' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'fontfaceobserver/externs' {
declare module.exports: any;
}
declare module 'fontfaceobserver/fontfaceobserver' {
declare module.exports: any;
}
declare module 'fontfaceobserver/fontfaceobserver.standalone' {
declare module.exports: any;
}
declare module 'fontfaceobserver/src/descriptors' {
declare module.exports: any;
}
declare module 'fontfaceobserver/src/observer' {
declare module.exports: any;
}
declare module 'fontfaceobserver/src/ruler' {
declare module.exports: any;
}
declare module 'fontfaceobserver/src/test' {
declare module.exports: any;
}
// Filename aliases
declare module 'fontfaceobserver/externs.js' {
declare module.exports: $Exports<'fontfaceobserver/externs'>;
}
declare module 'fontfaceobserver/fontfaceobserver.js' {
declare module.exports: $Exports<'fontfaceobserver/fontfaceobserver'>;
}
declare module 'fontfaceobserver/fontfaceobserver.standalone.js' {
declare module.exports: $Exports<'fontfaceobserver/fontfaceobserver.standalone'>;
}
declare module 'fontfaceobserver/src/descriptors.js' {
declare module.exports: $Exports<'fontfaceobserver/src/descriptors'>;
}
declare module 'fontfaceobserver/src/observer.js' {
declare module.exports: $Exports<'fontfaceobserver/src/observer'>;
}
declare module 'fontfaceobserver/src/ruler.js' {
declare module.exports: $Exports<'fontfaceobserver/src/ruler'>;
}
declare module 'fontfaceobserver/src/test.js' {
declare module.exports: $Exports<'fontfaceobserver/src/test'>;
}

View File

@@ -0,0 +1,269 @@
// flow-typed signature: 099f08ea079d55c973e866b7b0bdd98c
// flow-typed version: <<STUB>>/i18next_v^10.0.3/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'i18next'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'i18next' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'i18next/dist/commonjs/BackendConnector' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/CacheConnector' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/defaults' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/EventEmitter' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/i18next' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/index' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/Interpolator' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/LanguageUtils' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/logger' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/PluralResolver' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/postProcessor' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/ResourceStore' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/Translator' {
declare module.exports: any;
}
declare module 'i18next/dist/commonjs/utils' {
declare module.exports: any;
}
declare module 'i18next/dist/es/BackendConnector' {
declare module.exports: any;
}
declare module 'i18next/dist/es/CacheConnector' {
declare module.exports: any;
}
declare module 'i18next/dist/es/defaults' {
declare module.exports: any;
}
declare module 'i18next/dist/es/EventEmitter' {
declare module.exports: any;
}
declare module 'i18next/dist/es/i18next' {
declare module.exports: any;
}
declare module 'i18next/dist/es/index' {
declare module.exports: any;
}
declare module 'i18next/dist/es/Interpolator' {
declare module.exports: any;
}
declare module 'i18next/dist/es/LanguageUtils' {
declare module.exports: any;
}
declare module 'i18next/dist/es/logger' {
declare module.exports: any;
}
declare module 'i18next/dist/es/PluralResolver' {
declare module.exports: any;
}
declare module 'i18next/dist/es/postProcessor' {
declare module.exports: any;
}
declare module 'i18next/dist/es/ResourceStore' {
declare module.exports: any;
}
declare module 'i18next/dist/es/Translator' {
declare module.exports: any;
}
declare module 'i18next/dist/es/utils' {
declare module.exports: any;
}
declare module 'i18next/dist/umd/i18next' {
declare module.exports: any;
}
declare module 'i18next/dist/umd/i18next.min' {
declare module.exports: any;
}
declare module 'i18next/i18next' {
declare module.exports: any;
}
declare module 'i18next/i18next.min' {
declare module.exports: any;
}
declare module 'i18next/karma.backward.conf' {
declare module.exports: any;
}
declare module 'i18next/rollup.config' {
declare module.exports: any;
}
// Filename aliases
declare module 'i18next/dist/commonjs/BackendConnector.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/BackendConnector'>;
}
declare module 'i18next/dist/commonjs/CacheConnector.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/CacheConnector'>;
}
declare module 'i18next/dist/commonjs/defaults.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/defaults'>;
}
declare module 'i18next/dist/commonjs/EventEmitter.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/EventEmitter'>;
}
declare module 'i18next/dist/commonjs/i18next.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/i18next'>;
}
declare module 'i18next/dist/commonjs/index.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/index'>;
}
declare module 'i18next/dist/commonjs/Interpolator.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/Interpolator'>;
}
declare module 'i18next/dist/commonjs/LanguageUtils.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/LanguageUtils'>;
}
declare module 'i18next/dist/commonjs/logger.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/logger'>;
}
declare module 'i18next/dist/commonjs/PluralResolver.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/PluralResolver'>;
}
declare module 'i18next/dist/commonjs/postProcessor.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/postProcessor'>;
}
declare module 'i18next/dist/commonjs/ResourceStore.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/ResourceStore'>;
}
declare module 'i18next/dist/commonjs/Translator.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/Translator'>;
}
declare module 'i18next/dist/commonjs/utils.js' {
declare module.exports: $Exports<'i18next/dist/commonjs/utils'>;
}
declare module 'i18next/dist/es/BackendConnector.js' {
declare module.exports: $Exports<'i18next/dist/es/BackendConnector'>;
}
declare module 'i18next/dist/es/CacheConnector.js' {
declare module.exports: $Exports<'i18next/dist/es/CacheConnector'>;
}
declare module 'i18next/dist/es/defaults.js' {
declare module.exports: $Exports<'i18next/dist/es/defaults'>;
}
declare module 'i18next/dist/es/EventEmitter.js' {
declare module.exports: $Exports<'i18next/dist/es/EventEmitter'>;
}
declare module 'i18next/dist/es/i18next.js' {
declare module.exports: $Exports<'i18next/dist/es/i18next'>;
}
declare module 'i18next/dist/es/index.js' {
declare module.exports: $Exports<'i18next/dist/es/index'>;
}
declare module 'i18next/dist/es/Interpolator.js' {
declare module.exports: $Exports<'i18next/dist/es/Interpolator'>;
}
declare module 'i18next/dist/es/LanguageUtils.js' {
declare module.exports: $Exports<'i18next/dist/es/LanguageUtils'>;
}
declare module 'i18next/dist/es/logger.js' {
declare module.exports: $Exports<'i18next/dist/es/logger'>;
}
declare module 'i18next/dist/es/PluralResolver.js' {
declare module.exports: $Exports<'i18next/dist/es/PluralResolver'>;
}
declare module 'i18next/dist/es/postProcessor.js' {
declare module.exports: $Exports<'i18next/dist/es/postProcessor'>;
}
declare module 'i18next/dist/es/ResourceStore.js' {
declare module.exports: $Exports<'i18next/dist/es/ResourceStore'>;
}
declare module 'i18next/dist/es/Translator.js' {
declare module.exports: $Exports<'i18next/dist/es/Translator'>;
}
declare module 'i18next/dist/es/utils.js' {
declare module.exports: $Exports<'i18next/dist/es/utils'>;
}
declare module 'i18next/dist/umd/i18next.js' {
declare module.exports: $Exports<'i18next/dist/umd/i18next'>;
}
declare module 'i18next/dist/umd/i18next.min.js' {
declare module.exports: $Exports<'i18next/dist/umd/i18next.min'>;
}
declare module 'i18next/i18next.js' {
declare module.exports: $Exports<'i18next/i18next'>;
}
declare module 'i18next/i18next.min.js' {
declare module.exports: $Exports<'i18next/i18next.min'>;
}
declare module 'i18next/index' {
declare module.exports: $Exports<'i18next'>;
}
declare module 'i18next/index.js' {
declare module.exports: $Exports<'i18next'>;
}
declare module 'i18next/karma.backward.conf.js' {
declare module.exports: $Exports<'i18next/karma.backward.conf'>;
}
declare module 'i18next/rollup.config.js' {
declare module.exports: $Exports<'i18next/rollup.config'>;
}

View File

@@ -0,0 +1,186 @@
// flow-typed signature: da78e64a7c244746f9e8d4d7ff9cc567
// flow-typed version: <<STUB>>/keen-tracking_v1.1.3/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'keen-tracking'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'keen-tracking' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'keen-tracking/lib/browser-async' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/browser' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/defer-events' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/extend-events' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/helpers/getBrowserProfile' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/helpers/getDatetimeIndex' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/helpers/getDomNodePath' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/helpers/getScreenProfile' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/helpers/getUniqueId' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/helpers/getWindowProfile' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/index' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/record-events-browser' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/record-events-server' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/server' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/base64' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/cookie' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/deepExtend' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/each' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/extend' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/listener' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/parseParams' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/queue' {
declare module.exports: any;
}
declare module 'keen-tracking/lib/utils/timer' {
declare module.exports: any;
}
// Filename aliases
declare module 'keen-tracking/lib/browser-async.js' {
declare module.exports: $Exports<'keen-tracking/lib/browser-async'>;
}
declare module 'keen-tracking/lib/browser.js' {
declare module.exports: $Exports<'keen-tracking/lib/browser'>;
}
declare module 'keen-tracking/lib/defer-events.js' {
declare module.exports: $Exports<'keen-tracking/lib/defer-events'>;
}
declare module 'keen-tracking/lib/extend-events.js' {
declare module.exports: $Exports<'keen-tracking/lib/extend-events'>;
}
declare module 'keen-tracking/lib/helpers/getBrowserProfile.js' {
declare module.exports: $Exports<'keen-tracking/lib/helpers/getBrowserProfile'>;
}
declare module 'keen-tracking/lib/helpers/getDatetimeIndex.js' {
declare module.exports: $Exports<'keen-tracking/lib/helpers/getDatetimeIndex'>;
}
declare module 'keen-tracking/lib/helpers/getDomNodePath.js' {
declare module.exports: $Exports<'keen-tracking/lib/helpers/getDomNodePath'>;
}
declare module 'keen-tracking/lib/helpers/getScreenProfile.js' {
declare module.exports: $Exports<'keen-tracking/lib/helpers/getScreenProfile'>;
}
declare module 'keen-tracking/lib/helpers/getUniqueId.js' {
declare module.exports: $Exports<'keen-tracking/lib/helpers/getUniqueId'>;
}
declare module 'keen-tracking/lib/helpers/getWindowProfile.js' {
declare module.exports: $Exports<'keen-tracking/lib/helpers/getWindowProfile'>;
}
declare module 'keen-tracking/lib/index.js' {
declare module.exports: $Exports<'keen-tracking/lib/index'>;
}
declare module 'keen-tracking/lib/record-events-browser.js' {
declare module.exports: $Exports<'keen-tracking/lib/record-events-browser'>;
}
declare module 'keen-tracking/lib/record-events-server.js' {
declare module.exports: $Exports<'keen-tracking/lib/record-events-server'>;
}
declare module 'keen-tracking/lib/server.js' {
declare module.exports: $Exports<'keen-tracking/lib/server'>;
}
declare module 'keen-tracking/lib/utils/base64.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/base64'>;
}
declare module 'keen-tracking/lib/utils/cookie.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/cookie'>;
}
declare module 'keen-tracking/lib/utils/deepExtend.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/deepExtend'>;
}
declare module 'keen-tracking/lib/utils/each.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/each'>;
}
declare module 'keen-tracking/lib/utils/extend.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/extend'>;
}
declare module 'keen-tracking/lib/utils/listener.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/listener'>;
}
declare module 'keen-tracking/lib/utils/parseParams.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/parseParams'>;
}
declare module 'keen-tracking/lib/utils/queue.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/queue'>;
}
declare module 'keen-tracking/lib/utils/timer.js' {
declare module.exports: $Exports<'keen-tracking/lib/utils/timer'>;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,60 @@
// flow-typed signature: bf1fa1810d5093bae6c018f32f4c8e70
// flow-typed version: <<STUB>>/material-ui-search-bar_v0.4.1/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'material-ui-search-bar'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'material-ui-search-bar' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'material-ui-search-bar/lib/components/SearchBar/index' {
declare module.exports: any;
}
declare module 'material-ui-search-bar/lib/components/SearchBar/SearchBar' {
declare module.exports: any;
}
declare module 'material-ui-search-bar/lib/index' {
declare module.exports: any;
}
declare module 'material-ui-search-bar/lib/styleguide/Wrapper' {
declare module.exports: any;
}
declare module 'material-ui-search-bar/styleguide.config' {
declare module.exports: any;
}
// Filename aliases
declare module 'material-ui-search-bar/lib/components/SearchBar/index.js' {
declare module.exports: $Exports<'material-ui-search-bar/lib/components/SearchBar/index'>;
}
declare module 'material-ui-search-bar/lib/components/SearchBar/SearchBar.js' {
declare module.exports: $Exports<'material-ui-search-bar/lib/components/SearchBar/SearchBar'>;
}
declare module 'material-ui-search-bar/lib/index.js' {
declare module.exports: $Exports<'material-ui-search-bar/lib/index'>;
}
declare module 'material-ui-search-bar/lib/styleguide/Wrapper.js' {
declare module.exports: $Exports<'material-ui-search-bar/lib/styleguide/Wrapper'>;
}
declare module 'material-ui-search-bar/styleguide.config.js' {
declare module.exports: $Exports<'material-ui-search-bar/styleguide.config'>;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,33 @@
// flow-typed signature: f4a9e9fdec9f684ee05fa8c86a59eed3
// flow-typed version: <<STUB>>/node-require-function_v^1.2.0/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'node-require-function'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'node-require-function' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
// Filename aliases
declare module 'node-require-function/index' {
declare module.exports: $Exports<'node-require-function'>;
}
declare module 'node-require-function/index.js' {
declare module.exports: $Exports<'node-require-function'>;
}

View File

@@ -0,0 +1,81 @@
// flow-typed signature: fced349bf59053f05f9951b16824918e
// flow-typed version: <<STUB>>/pixi-simple-gesture_v0.2.2/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'pixi-simple-gesture'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'pixi-simple-gesture' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'pixi-simple-gesture/lib/gestures/pan' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/lib/gestures/pinch' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/lib/gestures/tap' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/lib/index' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/src/gestures/pan' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/src/gestures/pinch' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/src/gestures/tap' {
declare module.exports: any;
}
declare module 'pixi-simple-gesture/src/index' {
declare module.exports: any;
}
// Filename aliases
declare module 'pixi-simple-gesture/lib/gestures/pan.js' {
declare module.exports: $Exports<'pixi-simple-gesture/lib/gestures/pan'>;
}
declare module 'pixi-simple-gesture/lib/gestures/pinch.js' {
declare module.exports: $Exports<'pixi-simple-gesture/lib/gestures/pinch'>;
}
declare module 'pixi-simple-gesture/lib/gestures/tap.js' {
declare module.exports: $Exports<'pixi-simple-gesture/lib/gestures/tap'>;
}
declare module 'pixi-simple-gesture/lib/index.js' {
declare module.exports: $Exports<'pixi-simple-gesture/lib/index'>;
}
declare module 'pixi-simple-gesture/src/gestures/pan.js' {
declare module.exports: $Exports<'pixi-simple-gesture/src/gestures/pan'>;
}
declare module 'pixi-simple-gesture/src/gestures/pinch.js' {
declare module.exports: $Exports<'pixi-simple-gesture/src/gestures/pinch'>;
}
declare module 'pixi-simple-gesture/src/gestures/tap.js' {
declare module.exports: $Exports<'pixi-simple-gesture/src/gestures/tap'>;
}
declare module 'pixi-simple-gesture/src/index.js' {
declare module.exports: $Exports<'pixi-simple-gesture/src/index'>;
}

View File

@@ -0,0 +1,851 @@
// flow-typed signature: 86266ea1d50ccd6f4a86b7cbf9d11f7d
// flow-typed version: <<STUB>>/pixi.js_v3.0.11/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'pixi.js'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'pixi.js' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'pixi.js/bin/pixi' {
declare module.exports: any;
}
declare module 'pixi.js/bin/pixi.min' {
declare module.exports: any;
}
declare module 'pixi.js/src/accessibility/AccessibilityManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/accessibility/accessibleTarget' {
declare module.exports: any;
}
declare module 'pixi.js/src/accessibility/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/const' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/display/Container' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/display/DisplayObject' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/graphics/Graphics' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/graphics/GraphicsData' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/graphics/webgl/GraphicsRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/graphics/webgl/WebGLGraphicsData' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/GroupD8' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/Matrix' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/Point' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/shapes/Circle' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/shapes/Ellipse' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/shapes/Polygon' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/shapes/Rectangle' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/math/shapes/RoundedRectangle' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/particles/ParticleContainer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/particles/webgl/ParticleBuffer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/particles/webgl/ParticleRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/particles/webgl/ParticleShader' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/canvas/CanvasRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasBuffer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasGraphics' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasMaskManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasTinter' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/SystemRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/filters/AbstractFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/filters/FXAAFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/filters/SpriteMaskFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/BlendModeManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/FilterManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/MaskManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/ShaderManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/StencilManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/WebGLManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/ComplexPrimitiveShader' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/PrimitiveShader' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/Shader' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/TextureShader' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/ObjectRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/Quad' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/RenderTarget' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/StencilMaskStack' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/renderers/webgl/WebGLRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/sprites/Sprite' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/sprites/webgl/SpriteRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/text/Text' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/textures/BaseTexture' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/textures/RenderTexture' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/textures/Texture' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/textures/TextureUvs' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/textures/VideoBaseTexture' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/ticker/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/ticker/Ticker' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/utils/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/core/utils/pluginTarget' {
declare module.exports: any;
}
declare module 'pixi.js/src/deprecation' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/BitmapText' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/cacheAsBitmap' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/getChildByName' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/getGlobalPosition' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/MovieClip' {
declare module.exports: any;
}
declare module 'pixi.js/src/extras/TilingSprite' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/ascii/AsciiFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/bloom/BloomFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/blur/BlurDirFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/blur/BlurFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/blur/BlurXFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/blur/BlurYFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/blur/SmartBlurFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/color/ColorMatrixFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/color/ColorStepFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/convolution/ConvolutionFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/crosshatch/CrossHatchFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/displacement/DisplacementFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/dot/DotScreenFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/dropshadow/BlurYTintFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/dropshadow/DropShadowFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/gray/GrayFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/invert/InvertFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/noise/NoiseFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/pixelate/PixelateFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/rgb/RGBSplitFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/sepia/SepiaFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/shockwave/ShockwaveFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftAxisFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftXFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftYFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/filters/twist/TwistFilter' {
declare module.exports: any;
}
declare module 'pixi.js/src/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/interaction/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/interaction/InteractionData' {
declare module.exports: any;
}
declare module 'pixi.js/src/interaction/InteractionManager' {
declare module.exports: any;
}
declare module 'pixi.js/src/interaction/interactiveTarget' {
declare module.exports: any;
}
declare module 'pixi.js/src/loaders/bitmapFontParser' {
declare module.exports: any;
}
declare module 'pixi.js/src/loaders/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/loaders/loader' {
declare module.exports: any;
}
declare module 'pixi.js/src/loaders/spritesheetParser' {
declare module.exports: any;
}
declare module 'pixi.js/src/loaders/textureParser' {
declare module.exports: any;
}
declare module 'pixi.js/src/mesh/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/mesh/Mesh' {
declare module.exports: any;
}
declare module 'pixi.js/src/mesh/Plane' {
declare module.exports: any;
}
declare module 'pixi.js/src/mesh/Rope' {
declare module.exports: any;
}
declare module 'pixi.js/src/mesh/webgl/MeshRenderer' {
declare module.exports: any;
}
declare module 'pixi.js/src/mesh/webgl/MeshShader' {
declare module.exports: any;
}
declare module 'pixi.js/src/polyfill/index' {
declare module.exports: any;
}
declare module 'pixi.js/src/polyfill/Math.sign' {
declare module.exports: any;
}
declare module 'pixi.js/src/polyfill/Object.assign' {
declare module.exports: any;
}
declare module 'pixi.js/src/polyfill/requestAnimationFrame' {
declare module.exports: any;
}
// Filename aliases
declare module 'pixi.js/bin/pixi.js' {
declare module.exports: $Exports<'pixi.js/bin/pixi'>;
}
declare module 'pixi.js/bin/pixi.min.js' {
declare module.exports: $Exports<'pixi.js/bin/pixi.min'>;
}
declare module 'pixi.js/src/accessibility/AccessibilityManager.js' {
declare module.exports: $Exports<'pixi.js/src/accessibility/AccessibilityManager'>;
}
declare module 'pixi.js/src/accessibility/accessibleTarget.js' {
declare module.exports: $Exports<'pixi.js/src/accessibility/accessibleTarget'>;
}
declare module 'pixi.js/src/accessibility/index.js' {
declare module.exports: $Exports<'pixi.js/src/accessibility/index'>;
}
declare module 'pixi.js/src/core/const.js' {
declare module.exports: $Exports<'pixi.js/src/core/const'>;
}
declare module 'pixi.js/src/core/display/Container.js' {
declare module.exports: $Exports<'pixi.js/src/core/display/Container'>;
}
declare module 'pixi.js/src/core/display/DisplayObject.js' {
declare module.exports: $Exports<'pixi.js/src/core/display/DisplayObject'>;
}
declare module 'pixi.js/src/core/graphics/Graphics.js' {
declare module.exports: $Exports<'pixi.js/src/core/graphics/Graphics'>;
}
declare module 'pixi.js/src/core/graphics/GraphicsData.js' {
declare module.exports: $Exports<'pixi.js/src/core/graphics/GraphicsData'>;
}
declare module 'pixi.js/src/core/graphics/webgl/GraphicsRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/graphics/webgl/GraphicsRenderer'>;
}
declare module 'pixi.js/src/core/graphics/webgl/WebGLGraphicsData.js' {
declare module.exports: $Exports<'pixi.js/src/core/graphics/webgl/WebGLGraphicsData'>;
}
declare module 'pixi.js/src/core/index.js' {
declare module.exports: $Exports<'pixi.js/src/core/index'>;
}
declare module 'pixi.js/src/core/math/GroupD8.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/GroupD8'>;
}
declare module 'pixi.js/src/core/math/index.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/index'>;
}
declare module 'pixi.js/src/core/math/Matrix.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/Matrix'>;
}
declare module 'pixi.js/src/core/math/Point.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/Point'>;
}
declare module 'pixi.js/src/core/math/shapes/Circle.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/shapes/Circle'>;
}
declare module 'pixi.js/src/core/math/shapes/Ellipse.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/shapes/Ellipse'>;
}
declare module 'pixi.js/src/core/math/shapes/Polygon.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/shapes/Polygon'>;
}
declare module 'pixi.js/src/core/math/shapes/Rectangle.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/shapes/Rectangle'>;
}
declare module 'pixi.js/src/core/math/shapes/RoundedRectangle.js' {
declare module.exports: $Exports<'pixi.js/src/core/math/shapes/RoundedRectangle'>;
}
declare module 'pixi.js/src/core/particles/ParticleContainer.js' {
declare module.exports: $Exports<'pixi.js/src/core/particles/ParticleContainer'>;
}
declare module 'pixi.js/src/core/particles/webgl/ParticleBuffer.js' {
declare module.exports: $Exports<'pixi.js/src/core/particles/webgl/ParticleBuffer'>;
}
declare module 'pixi.js/src/core/particles/webgl/ParticleRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/particles/webgl/ParticleRenderer'>;
}
declare module 'pixi.js/src/core/particles/webgl/ParticleShader.js' {
declare module.exports: $Exports<'pixi.js/src/core/particles/webgl/ParticleShader'>;
}
declare module 'pixi.js/src/core/renderers/canvas/CanvasRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/canvas/CanvasRenderer'>;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasBuffer.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/canvas/utils/CanvasBuffer'>;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasGraphics.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/canvas/utils/CanvasGraphics'>;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasMaskManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/canvas/utils/CanvasMaskManager'>;
}
declare module 'pixi.js/src/core/renderers/canvas/utils/CanvasTinter.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/canvas/utils/CanvasTinter'>;
}
declare module 'pixi.js/src/core/renderers/SystemRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/SystemRenderer'>;
}
declare module 'pixi.js/src/core/renderers/webgl/filters/AbstractFilter.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/filters/AbstractFilter'>;
}
declare module 'pixi.js/src/core/renderers/webgl/filters/FXAAFilter.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/filters/FXAAFilter'>;
}
declare module 'pixi.js/src/core/renderers/webgl/filters/SpriteMaskFilter.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/filters/SpriteMaskFilter'>;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/BlendModeManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/managers/BlendModeManager'>;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/FilterManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/managers/FilterManager'>;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/MaskManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/managers/MaskManager'>;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/ShaderManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/managers/ShaderManager'>;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/StencilManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/managers/StencilManager'>;
}
declare module 'pixi.js/src/core/renderers/webgl/managers/WebGLManager.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/managers/WebGLManager'>;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/ComplexPrimitiveShader.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/shaders/ComplexPrimitiveShader'>;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/PrimitiveShader.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/shaders/PrimitiveShader'>;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/Shader.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/shaders/Shader'>;
}
declare module 'pixi.js/src/core/renderers/webgl/shaders/TextureShader.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/shaders/TextureShader'>;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/ObjectRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/utils/ObjectRenderer'>;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/Quad.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/utils/Quad'>;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/RenderTarget.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/utils/RenderTarget'>;
}
declare module 'pixi.js/src/core/renderers/webgl/utils/StencilMaskStack.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/utils/StencilMaskStack'>;
}
declare module 'pixi.js/src/core/renderers/webgl/WebGLRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/renderers/webgl/WebGLRenderer'>;
}
declare module 'pixi.js/src/core/sprites/Sprite.js' {
declare module.exports: $Exports<'pixi.js/src/core/sprites/Sprite'>;
}
declare module 'pixi.js/src/core/sprites/webgl/SpriteRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/core/sprites/webgl/SpriteRenderer'>;
}
declare module 'pixi.js/src/core/text/Text.js' {
declare module.exports: $Exports<'pixi.js/src/core/text/Text'>;
}
declare module 'pixi.js/src/core/textures/BaseTexture.js' {
declare module.exports: $Exports<'pixi.js/src/core/textures/BaseTexture'>;
}
declare module 'pixi.js/src/core/textures/RenderTexture.js' {
declare module.exports: $Exports<'pixi.js/src/core/textures/RenderTexture'>;
}
declare module 'pixi.js/src/core/textures/Texture.js' {
declare module.exports: $Exports<'pixi.js/src/core/textures/Texture'>;
}
declare module 'pixi.js/src/core/textures/TextureUvs.js' {
declare module.exports: $Exports<'pixi.js/src/core/textures/TextureUvs'>;
}
declare module 'pixi.js/src/core/textures/VideoBaseTexture.js' {
declare module.exports: $Exports<'pixi.js/src/core/textures/VideoBaseTexture'>;
}
declare module 'pixi.js/src/core/ticker/index.js' {
declare module.exports: $Exports<'pixi.js/src/core/ticker/index'>;
}
declare module 'pixi.js/src/core/ticker/Ticker.js' {
declare module.exports: $Exports<'pixi.js/src/core/ticker/Ticker'>;
}
declare module 'pixi.js/src/core/utils/index.js' {
declare module.exports: $Exports<'pixi.js/src/core/utils/index'>;
}
declare module 'pixi.js/src/core/utils/pluginTarget.js' {
declare module.exports: $Exports<'pixi.js/src/core/utils/pluginTarget'>;
}
declare module 'pixi.js/src/deprecation.js' {
declare module.exports: $Exports<'pixi.js/src/deprecation'>;
}
declare module 'pixi.js/src/extras/BitmapText.js' {
declare module.exports: $Exports<'pixi.js/src/extras/BitmapText'>;
}
declare module 'pixi.js/src/extras/cacheAsBitmap.js' {
declare module.exports: $Exports<'pixi.js/src/extras/cacheAsBitmap'>;
}
declare module 'pixi.js/src/extras/getChildByName.js' {
declare module.exports: $Exports<'pixi.js/src/extras/getChildByName'>;
}
declare module 'pixi.js/src/extras/getGlobalPosition.js' {
declare module.exports: $Exports<'pixi.js/src/extras/getGlobalPosition'>;
}
declare module 'pixi.js/src/extras/index.js' {
declare module.exports: $Exports<'pixi.js/src/extras/index'>;
}
declare module 'pixi.js/src/extras/MovieClip.js' {
declare module.exports: $Exports<'pixi.js/src/extras/MovieClip'>;
}
declare module 'pixi.js/src/extras/TilingSprite.js' {
declare module.exports: $Exports<'pixi.js/src/extras/TilingSprite'>;
}
declare module 'pixi.js/src/filters/ascii/AsciiFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/ascii/AsciiFilter'>;
}
declare module 'pixi.js/src/filters/bloom/BloomFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/bloom/BloomFilter'>;
}
declare module 'pixi.js/src/filters/blur/BlurDirFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/blur/BlurDirFilter'>;
}
declare module 'pixi.js/src/filters/blur/BlurFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/blur/BlurFilter'>;
}
declare module 'pixi.js/src/filters/blur/BlurXFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/blur/BlurXFilter'>;
}
declare module 'pixi.js/src/filters/blur/BlurYFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/blur/BlurYFilter'>;
}
declare module 'pixi.js/src/filters/blur/SmartBlurFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/blur/SmartBlurFilter'>;
}
declare module 'pixi.js/src/filters/color/ColorMatrixFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/color/ColorMatrixFilter'>;
}
declare module 'pixi.js/src/filters/color/ColorStepFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/color/ColorStepFilter'>;
}
declare module 'pixi.js/src/filters/convolution/ConvolutionFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/convolution/ConvolutionFilter'>;
}
declare module 'pixi.js/src/filters/crosshatch/CrossHatchFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/crosshatch/CrossHatchFilter'>;
}
declare module 'pixi.js/src/filters/displacement/DisplacementFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/displacement/DisplacementFilter'>;
}
declare module 'pixi.js/src/filters/dot/DotScreenFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/dot/DotScreenFilter'>;
}
declare module 'pixi.js/src/filters/dropshadow/BlurYTintFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/dropshadow/BlurYTintFilter'>;
}
declare module 'pixi.js/src/filters/dropshadow/DropShadowFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/dropshadow/DropShadowFilter'>;
}
declare module 'pixi.js/src/filters/gray/GrayFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/gray/GrayFilter'>;
}
declare module 'pixi.js/src/filters/index.js' {
declare module.exports: $Exports<'pixi.js/src/filters/index'>;
}
declare module 'pixi.js/src/filters/invert/InvertFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/invert/InvertFilter'>;
}
declare module 'pixi.js/src/filters/noise/NoiseFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/noise/NoiseFilter'>;
}
declare module 'pixi.js/src/filters/pixelate/PixelateFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/pixelate/PixelateFilter'>;
}
declare module 'pixi.js/src/filters/rgb/RGBSplitFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/rgb/RGBSplitFilter'>;
}
declare module 'pixi.js/src/filters/sepia/SepiaFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/sepia/SepiaFilter'>;
}
declare module 'pixi.js/src/filters/shockwave/ShockwaveFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/shockwave/ShockwaveFilter'>;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftAxisFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/tiltshift/TiltShiftAxisFilter'>;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/tiltshift/TiltShiftFilter'>;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftXFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/tiltshift/TiltShiftXFilter'>;
}
declare module 'pixi.js/src/filters/tiltshift/TiltShiftYFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/tiltshift/TiltShiftYFilter'>;
}
declare module 'pixi.js/src/filters/twist/TwistFilter.js' {
declare module.exports: $Exports<'pixi.js/src/filters/twist/TwistFilter'>;
}
declare module 'pixi.js/src/index.js' {
declare module.exports: $Exports<'pixi.js/src/index'>;
}
declare module 'pixi.js/src/interaction/index.js' {
declare module.exports: $Exports<'pixi.js/src/interaction/index'>;
}
declare module 'pixi.js/src/interaction/InteractionData.js' {
declare module.exports: $Exports<'pixi.js/src/interaction/InteractionData'>;
}
declare module 'pixi.js/src/interaction/InteractionManager.js' {
declare module.exports: $Exports<'pixi.js/src/interaction/InteractionManager'>;
}
declare module 'pixi.js/src/interaction/interactiveTarget.js' {
declare module.exports: $Exports<'pixi.js/src/interaction/interactiveTarget'>;
}
declare module 'pixi.js/src/loaders/bitmapFontParser.js' {
declare module.exports: $Exports<'pixi.js/src/loaders/bitmapFontParser'>;
}
declare module 'pixi.js/src/loaders/index.js' {
declare module.exports: $Exports<'pixi.js/src/loaders/index'>;
}
declare module 'pixi.js/src/loaders/loader.js' {
declare module.exports: $Exports<'pixi.js/src/loaders/loader'>;
}
declare module 'pixi.js/src/loaders/spritesheetParser.js' {
declare module.exports: $Exports<'pixi.js/src/loaders/spritesheetParser'>;
}
declare module 'pixi.js/src/loaders/textureParser.js' {
declare module.exports: $Exports<'pixi.js/src/loaders/textureParser'>;
}
declare module 'pixi.js/src/mesh/index.js' {
declare module.exports: $Exports<'pixi.js/src/mesh/index'>;
}
declare module 'pixi.js/src/mesh/Mesh.js' {
declare module.exports: $Exports<'pixi.js/src/mesh/Mesh'>;
}
declare module 'pixi.js/src/mesh/Plane.js' {
declare module.exports: $Exports<'pixi.js/src/mesh/Plane'>;
}
declare module 'pixi.js/src/mesh/Rope.js' {
declare module.exports: $Exports<'pixi.js/src/mesh/Rope'>;
}
declare module 'pixi.js/src/mesh/webgl/MeshRenderer.js' {
declare module.exports: $Exports<'pixi.js/src/mesh/webgl/MeshRenderer'>;
}
declare module 'pixi.js/src/mesh/webgl/MeshShader.js' {
declare module.exports: $Exports<'pixi.js/src/mesh/webgl/MeshShader'>;
}
declare module 'pixi.js/src/polyfill/index.js' {
declare module.exports: $Exports<'pixi.js/src/polyfill/index'>;
}
declare module 'pixi.js/src/polyfill/Math.sign.js' {
declare module.exports: $Exports<'pixi.js/src/polyfill/Math.sign'>;
}
declare module 'pixi.js/src/polyfill/Object.assign.js' {
declare module.exports: $Exports<'pixi.js/src/polyfill/Object.assign'>;
}
declare module 'pixi.js/src/polyfill/requestAnimationFrame.js' {
declare module.exports: $Exports<'pixi.js/src/polyfill/requestAnimationFrame'>;
}

View File

@@ -0,0 +1,178 @@
// flow-typed signature: 4eed8da2dc730dc33e7710b465eaa44b
// flow-typed version: cc7a557b34/prettier_v1.x.x/flow_>=v0.56.x
declare module "prettier" {
declare type AST = Object;
declare type Doc = Object;
declare type FastPath = Object;
declare type PrettierParserName =
| "babylon"
| "flow"
| "typescript"
| "postcss"
| "css"
| "less"
| "scss"
| "json"
| "graphql"
| "markdown"
| "vue";
declare type PrettierParser = {
[name: PrettierParserName]: (text: string, options?: Object) => AST
};
declare type CustomParser = (
text: string,
parsers: PrettierParser,
options: Options
) => AST;
declare type Options = {|
printWidth?: number,
tabWidth?: number,
useTabs?: boolean,
semi?: boolean,
singleQuote?: boolean,
trailingComma?: "none" | "es5" | "all",
bracketSpacing?: boolean,
jsxBracketSameLine?: boolean,
arrowParens?: "avoid" | "always",
rangeStart?: number,
rangeEnd?: number,
parser?: PrettierParserName | CustomParser,
filepath?: string,
requirePragma?: boolean,
insertPragma?: boolean,
proseWrap?: "always" | "never" | "preserve",
plugins?: Array<string | Plugin>
|};
declare type Plugin = {
languages: SupportLanguage,
parsers: { [parserName: string]: Parser },
printers: { [astFormat: string]: Printer }
};
declare type Parser = {
parse: (
text: string,
parsers: { [parserName: string]: Parser },
options: Object
) => AST,
astFormat: string
};
declare type Printer = {
print: (
path: FastPath,
options: Object,
print: (path: FastPath) => Doc
) => Doc,
embed: (
path: FastPath,
print: (path: FastPath) => Doc,
textToDoc: (text: string, options: Object) => Doc,
options: Object
) => ?Doc
};
declare type CursorOptions = {|
cursorOffset: number,
printWidth?: $PropertyType<Options, "printWidth">,
tabWidth?: $PropertyType<Options, "tabWidth">,
useTabs?: $PropertyType<Options, "useTabs">,
semi?: $PropertyType<Options, "semi">,
singleQuote?: $PropertyType<Options, "singleQuote">,
trailingComma?: $PropertyType<Options, "trailingComma">,
bracketSpacing?: $PropertyType<Options, "bracketSpacing">,
jsxBracketSameLine?: $PropertyType<Options, "jsxBracketSameLine">,
arrowParens?: $PropertyType<Options, "arrowParens">,
parser?: $PropertyType<Options, "parser">,
filepath?: $PropertyType<Options, "filepath">,
requirePragma?: $PropertyType<Options, "requirePragma">,
insertPragma?: $PropertyType<Options, "insertPragma">,
proseWrap?: $PropertyType<Options, "proseWrap">,
plugins?: $PropertyType<Options, "plugins">
|};
declare type CursorResult = {|
formatted: string,
cursorOffset: number
|};
declare type ResolveConfigOptions = {|
useCache?: boolean,
config?: string,
editorconfig?: boolean
|};
declare type SupportLanguage = {
name: string,
since: string,
parsers: Array<string>,
group?: string,
tmScope: string,
aceMode: string,
codemirrorMode: string,
codemirrorMimeType: string,
aliases?: Array<string>,
extensions: Array<string>,
filenames?: Array<string>,
linguistLanguageId: number,
vscodeLanguageIds: Array<string>
};
declare type SupportOption = {|
since: string,
type: "int" | "boolean" | "choice" | "path",
deprecated?: string,
redirect?: SupportOptionRedirect,
description: string,
oppositeDescription?: string,
default: SupportOptionValue,
range?: SupportOptionRange,
choices?: SupportOptionChoice
|};
declare type SupportOptionRedirect = {|
options: string,
value: SupportOptionValue
|};
declare type SupportOptionRange = {|
start: number,
end: number,
step: number
|};
declare type SupportOptionChoice = {|
value: boolean | string,
description?: string,
since?: string,
deprecated?: string,
redirect?: SupportOptionValue
|};
declare type SupportOptionValue = number | boolean | string;
declare type SupportInfo = {|
languages: Array<SupportLanguage>,
options: Array<SupportOption>
|};
declare type Prettier = {|
format: (source: string, options?: Options) => string,
check: (source: string, options?: Options) => boolean,
formatWithCursor: (source: string, options: CursorOptions) => CursorResult,
resolveConfig: {
(filePath: string, options?: ResolveConfigOptions): Promise<?Options>,
sync(filePath: string, options?: ResolveConfigOptions): Promise<?Options>
},
clearConfigCache: () => void,
getSupportInfo: (version?: string) => SupportInfo
|};
declare export default Prettier;
}

View File

@@ -0,0 +1,35 @@
// flow-typed signature: d9a983bb1ac458a256c31c139047bdbb
// flow-typed version: 927687984d/prop-types_v15.x.x/flow_>=v0.41.x
type $npm$propTypes$ReactPropsCheckType = (
props: any,
propName: string,
componentName: string,
href?: string) => ?Error;
declare module 'prop-types' {
declare var array: React$PropType$Primitive<Array<any>>;
declare var bool: React$PropType$Primitive<boolean>;
declare var func: React$PropType$Primitive<Function>;
declare var number: React$PropType$Primitive<number>;
declare var object: React$PropType$Primitive<Object>;
declare var string: React$PropType$Primitive<string>;
declare var symbol: React$PropType$Primitive<Symbol>;
declare var any: React$PropType$Primitive<any>;
declare var arrayOf: React$PropType$ArrayOf;
declare var element: React$PropType$Primitive<any>; /* TODO */
declare var instanceOf: React$PropType$InstanceOf;
declare var node: React$PropType$Primitive<any>; /* TODO */
declare var objectOf: React$PropType$ObjectOf;
declare var oneOf: React$PropType$OneOf;
declare var oneOfType: React$PropType$OneOfType;
declare var shape: React$PropType$Shape;
declare function checkPropTypes<V>(
propTypes: $Subtype<{[_: $Keys<V>]: $npm$propTypes$ReactPropsCheckType}>,
values: V,
location: string,
componentName: string,
getStack: ?(() => ?string)
) : void;
}

View File

@@ -0,0 +1,116 @@
// flow-typed signature: 7a531f4e1840543ccd92a6915c3e3b1a
// flow-typed version: <<STUB>>/randomcolor_v^0.5.3/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'randomcolor'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'randomcolor' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'randomcolor/demo/build' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/_dist-editor' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/carbon' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/dummy' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/embed' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/highlight.pack' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/OrbitControls' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/three.min' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/togetherjs' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/tracker' {
declare module.exports: any;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/widget' {
declare module.exports: any;
}
declare module 'randomcolor/demo/tests' {
declare module.exports: any;
}
declare module 'randomcolor/randomColor' {
declare module.exports: any;
}
// Filename aliases
declare module 'randomcolor/demo/build.js' {
declare module.exports: $Exports<'randomcolor/demo/build'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/_dist-editor.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/_dist-editor'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/carbon.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/carbon'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/dummy.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/dummy'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/embed.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/embed'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/highlight.pack.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/highlight.pack'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/OrbitControls.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/OrbitControls'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/three.min.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/three.min'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/togetherjs.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/togetherjs'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/tracker.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/tracker'>;
}
declare module 'randomcolor/demo/Edit fiddle - JSFiddle_files/widget.js' {
declare module.exports: $Exports<'randomcolor/demo/Edit fiddle - JSFiddle_files/widget'>;
}
declare module 'randomcolor/demo/tests.js' {
declare module.exports: $Exports<'randomcolor/demo/tests'>;
}
declare module 'randomcolor/randomColor.js' {
declare module.exports: $Exports<'randomcolor/randomColor'>;
}

View File

@@ -0,0 +1,235 @@
// flow-typed signature: 4850a295b0a6cab60f9421a95997888f
// flow-typed version: 5b150db5b6/raven-js_v3.17.x/flow_>=v0.38.x
type LogLevel = "critical" | "error" | "warning" | "info" | "debug";
type AutoBreadcrumbOptions = {
xhr?: boolean,
console?: boolean,
dom?: boolean,
location?: boolean
};
type RavenInstrumentationOptions = {
tryCatch?: boolean
};
type Breadcrumb = {
message?: string,
category?: string,
level?: LogLevel,
data?: any,
type?: BreadcrumbType
};
type BreadcrumbType = "navigation" | "http";
type RavenOptions = {
/** The log level associated with this event. Default: error */
level?: LogLevel,
/** The name of the logger used by Sentry. Default: javascript */
logger?: string,
/** The environment of the application you are monitoring with Sentry */
environment?: string,
/** The release version of the application you are monitoring with Sentry */
release?: string,
/** The name of the server or device that the client is running on */
serverName?: string,
/** List of messages to be filtered out before being sent to Sentry. */
ignoreErrors?: (RegExp | string)[],
/** Similar to ignoreErrors, but will ignore errors from whole urls patching a regex pattern. */
ignoreUrls?: (RegExp | string)[],
/** The inverse of ignoreUrls. Only report errors from whole urls matching a regex pattern. */
whitelistUrls?: (RegExp | string)[],
/** An array of regex patterns to indicate which urls are a part of your app. */
includePaths?: (RegExp | string)[],
/** Additional data to be tagged onto the error. */
tags?: {
[id: string]: string
},
/** set to true to get the stack trace of your message */
stacktrace?: boolean,
extra?: any,
/** In some cases you may see issues where Sentry groups multiple events together when they should be separate entities. In other cases, Sentry simply doesnt group events together because theyre so sporadic that they never look the same. */
fingerprint?: string[],
/** A function which allows mutation of the data payload right before being sent to Sentry */
dataCallback?: (data: any) => any,
/** A callback function that allows you to apply your own filters to determine if the message should be sent to Sentry. */
shouldSendCallback?: (data: any) => boolean,
/** By default, Raven does not truncate messages. If you need to truncate characters for whatever reason, you may set this to limit the length. */
maxMessageLength?: number,
/** By default, Raven will truncate URLs as they appear in breadcrumbs and other meta interfaces to 250 characters in order to minimize bytes over the wire. This does *not* affect URLs in stack traces. */
maxUrlLength?: number,
/** Override the default HTTP data transport handler. */
transport?: (options: RavenTransportOptions) => void,
/** Allow use of private/secretKey. */
allowSecretKey?: boolean,
/** Enables/disables instrumentation of globals. */
instrument?: boolean | RavenInstrumentationOptions,
/** Enables/disables automatic collection of breadcrumbs. */
autoBreadcrumbs?: boolean | AutoBreadcrumbOptions
};
type RavenTransportOptions = {
url: string,
data: any,
auth: {
sentry_version: string,
sentry_client: string,
sentry_key: string
},
onSuccess: () => void,
onFailure: () => void
};
declare module "raven-js" {
declare type RavenPlugin = {
(raven: Raven, ...args: any[]): Raven
};
declare class Raven {
/** Raven.js version. */
VERSION: string,
Plugins: { [id: string]: RavenPlugin },
/*
* Allow Raven to be configured as soon as it is loaded
* It uses a global RavenConfig = {dsn: '...', config: {}}
*/
afterLoad(): void,
/*
* Allow multiple versions of Raven to be installed.
* Strip Raven from the global context and returns the instance.
*/
noConflict(): this,
/** Configure Raven with a DSN and extra options */
config(dsn: string, options?: RavenOptions): this,
/*
* Installs a global window.onerror error handler
* to capture and report uncaught exceptions.
* At this point, install() is required to be called due
* to the way TraceKit is set up.
*/
install(): this,
/** Adds a plugin to Raven */
addPlugin(plugin: RavenPlugin, ...pluginArgs: any[]): this,
/*
* Wrap code within a context so Raven can capture errors
* reliably across domains that is executed immediately.
*/
context(func: Function, ...args: any[]): void,
context(options: RavenOptions, func: Function, ...args: any[]): void,
/** Wrap code within a context and returns back a new function to be executed */
wrap(func: Function): Function,
wrap(options: RavenOptions, func: Function): Function,
wrap<T: Function>(func: T): T,
wrap<T: Function>(options: RavenOptions, func: T): T,
/** Uninstalls the global error handler. */
uninstall(): this,
/** Manually capture an exception and send it over to Sentry */
captureException(ex: Error, options?: RavenOptions): this,
/** Manually send a message to Sentry */
captureMessage(msg: string, options?: RavenOptions): this,
/** Log a breadcrumb */
captureBreadcrumb(crumb: Breadcrumb): this,
/**
* Clear the user context, removing the user data that would be sent to Sentry.
*/
setUserContext(): this,
/** Set a user to be sent along with the payload. */
setUserContext(user: {
id?: string,
username?: string,
email?: string
}): this,
/** Merge extra attributes to be sent along with the payload. */
setExtraContext(context: Object): this,
/** Merge tags to be sent along with the payload. */
setTagsContext(tags: Object): this,
/** Clear all of the context. */
clearContext(): this,
/** Get a copy of the current context. This cannot be mutated.*/
getContext(): Object,
/** Override the default HTTP data transport handler. */
setTransport(
transportFunction: (options: RavenTransportOptions) => void
): this,
/** Set environment of application */
setEnvironment(environment: string): this,
/** Set release version of application */
setRelease(release: string): this,
/** Get the latest raw exception that was captured by Raven.*/
lastException(): Error,
/** An event id is a globally unique id for the event that was just sent. This event id can be used to find the exact event from within Sentry. */
lastEventId(): string,
/** If you need to conditionally check if raven needs to be initialized or not, you can use the isSetup function. It will return true if Raven is already initialized. */
isSetup(): boolean,
/** Specify a function that allows mutation of the data payload right before being sent to Sentry. */
setDataCallback(data: any, orig?: any): this,
/** Specify a callback function that allows you to mutate or filter breadcrumbs when they are captured. */
setBreadcrumbCallback(data: any, orig?: any): this,
/** Specify a callback function that allows you to apply your own filters to determine if the message should be sent to Sentry. */
setShouldSendCallback(data: any, orig?: any): this,
/** Show Sentry user feedback dialog */
showReportDialog(options?: {
eventId?: string,
dsn?: string,
user?: {
name?: string,
email?: string
}
}): void,
/** Configure Raven DSN */
setDSN(dsn: string): void
}
declare export default Raven
}

View File

@@ -0,0 +1,230 @@
// flow-typed signature: ad7630ebca7749193fedebd877d186a5
// flow-typed version: 9bf16da660/react-color_v2.x.x/flow_>=v0.56.x
declare module "react-color" {
declare export type HexColor = string;
declare export type HSLColor = {|
h: number,
s: number,
l: number,
a?: number
|};
declare export type HSVColor = {|
h: number,
s: number,
v: number,
a?: number
|};
declare export type RGBColor = {|
r: number,
g: number,
b: number,
a?: number
|};
declare export type Color = HexColor | HSLColor | HSVColor | RGBColor;
declare export type ColorResult = {|
hex: HexColor,
hsl: HSLColor,
hsv: HSVColor,
rgb: RGBColor
|};
declare export type ColorChangeHandler = (color: ColorResult) => void;
declare export type ColorPickerProps = {|
color?: Color,
onChange?: ColorChangeHandler,
onChangeComplete?: ColorChangeHandler
|};
declare export type AlphaPickerProps = {|
...ColorPickerProps,
width?: string,
height?: string,
direction?: "horizontal" | "vertical",
renderers?: Object,
pointer?: React$ComponentType<any>
|};
declare export type BlockPickerProps = {|
...ColorPickerProps,
width?: string,
colors?: Array<string>,
triangle?: "hide" | "top",
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type ChromePickerProps = {|
...ColorPickerProps,
disableAlpha?: boolean,
renderers?: Object
|};
declare export type CirclePickerProps = {|
...ColorPickerProps,
width?: string,
colors?: Array<string>,
circleSize?: number,
circleSpacing?: number,
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type CompactPickerProps = {|
...ColorPickerProps,
colors?: Array<string>,
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type GithubPickerProps = {|
...ColorPickerProps,
width?: string,
colors?: Array<string>,
triangle?: "hide" | "top-left" | "top-right",
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type HuePickerProps = {|
...ColorPickerProps,
width?: string,
height?: string,
direction?: "horizontal" | "vertical",
pointer?: React$ComponentType<any>
|};
declare export type MaterialPickerProps = {|
...ColorPickerProps
|};
declare export type PhotoshopPickerProps = {|
...ColorPickerProps,
header?: string,
onAccept?: () => void,
onCancel?: () => void
|};
declare export type SketchPickerProps = {|
...ColorPickerProps,
disableAlpha?: boolean,
presetColors?: Array<string | {| color: string, title: string |}>,
width?: number,
renderers?: Object,
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type SliderPickerProps = {|
...ColorPickerProps,
pointer?: React$ComponentType<any>
|};
declare export type SwatchesPickerProps = {|
...ColorPickerProps,
width?: number,
height?: number,
colors?: Array<Array<string>>,
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type TwitterPickerProps = {|
...ColorPickerProps,
width?: string,
colors?: Array<string>,
triangle?: "hide" | "top-left" | "top-right",
onSwatchHover?: (color: Color, event: SyntheticMouseEvent<*>) => void
|};
declare export type ColorWrapChangeHandler = (
color: Color | ColorResult
) => void;
declare export type InjectedColorProps = {
hex: string,
hsl: HSLColor,
hsv: HSVColor,
rgb: RGBColor,
oldHue: number,
onChange?: ColorWrapChangeHandler,
source: string
};
declare export class AlphaPicker extends React$Component<AlphaPickerProps> {}
declare export class BlockPicker extends React$Component<BlockPickerProps> {}
declare export class ChromePicker extends React$Component<ChromePickerProps> {}
declare export class CirclePicker extends React$Component<CirclePickerProps> {}
declare export class CompactPicker extends React$Component<CompactPickerProps> {}
declare export class GithubPicker extends React$Component<GithubPickerProps> {}
declare export class HuePicker extends React$Component<HuePickerProps> {}
declare export class MaterialPicker extends React$Component<MaterialPickerProps> {}
declare export class PhotoshopPicker extends React$Component<PhotoshopPickerProps> {}
declare export class SketchPicker extends React$Component<SketchPickerProps> {}
declare export class SliderPicker extends React$Component<SliderPickerProps> {}
declare export class SwatchesPicker extends React$Component<SwatchesPickerProps> {}
declare export class TwitterPicker extends React$Component<TwitterPickerProps> {}
declare export function CustomPicker<Props: {}>(
Component: React$ComponentType<InjectedColorProps & $Supertype<Props>>
): React$ComponentType<Props>;
}
declare module "react-color/lib/components/common" {
import type {
HexColor,
RGBColor,
HSLColor,
HSVColor,
ColorChangeHandler
} from "react-color";
declare type PartialColorResult = {|
hex?: HexColor,
hsl?: HSLColor,
hsv?: HSVColor,
rgb?: RGBColor
|};
declare export type AlphaProps = {|
...PartialColorResult,
pointer?: React$ComponentType<any>,
onChange?: ColorChangeHandler
|};
declare export type EditableInputProps = {|
label?: string,
value?: any,
onChange?: ColorChangeHandler,
style?: {|
input?: Object,
label?: Object,
wrap?: Object
|}
|};
declare export type HueProps = {|
...PartialColorResult,
pointer?: React$ComponentType<any>,
onChange?: ColorChangeHandler,
direction?: "horizontal" | "vertical"
|};
declare export type SaturationProps = {|
...PartialColorResult,
pointer?: React$ComponentType<any>,
onChange?: ColorChangeHandler
|};
declare export type CheckboardProps = {|
size?: number,
white?: string,
grey?: string
|};
declare export class Alpha extends React$Component<AlphaProps> {}
declare export class EditableInput extends React$Component<EditableInputProps> {}
declare export class Hue extends React$Component<HueProps> {}
declare export class Saturation extends React$Component<SaturationProps> {}
declare export class Checkboard extends React$Component<CheckboardProps> {}
}

View File

@@ -0,0 +1,21 @@
// flow-typed signature: b517cd8873674b6ac09e799503836168
// flow-typed version: 30815cf324/react-dnd-html5-backend_v2.x.x/flow_>=v0.25.x
declare type $npm$reactDnd$NativeTypes$FILE = "__NATIVE_FILE__";
declare type $npm$reactDnd$NativeTypes$URL = "__NATIVE_URL__";
declare type $npm$reactDnd$NativeTypes$TEXT = "__NATIVE_TEXT__";
declare type $npm$reactDnd$NativeTypes =
| $npm$reactDnd$NativeTypes$FILE
| $npm$reactDnd$NativeTypes$URL
| $npm$reactDnd$NativeTypes$TEXT;
declare module "react-dnd-html5-backend" {
declare module.exports: {
getEmptyImage(): Image,
NativeTypes: {
FILE: $npm$reactDnd$NativeTypes$FILE,
URL: $npm$reactDnd$NativeTypes$URL,
TEXT: $npm$reactDnd$NativeTypes$TEXT
}
};
}

View File

@@ -0,0 +1,207 @@
// flow-typed signature: 6457154c7e96ef3ce4b654781625f315
// flow-typed version: 7bc41826e1/react-dnd_v2.x.x/flow_>=v0.53.x
declare module "react-dnd" {
declare type Identifier = string;
declare type ClientOffset = {
x: number,
y: number
};
declare type ElementOrNode = React$Element<any> | HTMLElement;
declare type DndOptions<P> = {
arePropsEqual?: (props: P, otherProps: P) => boolean
};
declare type ComponentClassWithDefaultProps<D: {}, P: {}, S> = Class<
React$Component<P, S>
> & { defaultProps: D };
declare type _InstanceOf<I, C: Class<I>> = I;
declare type InstanceOf<C> = _InstanceOf<*, C>;
declare class ConnectedComponent<C, I, P> extends React$Component<P> {
static DecoratedComponent: C,
getDecoratedComponentInstance(): I,
getHandlerId(): Identifier,
props: P,
state: void
}
declare type Connector<SP: {}, CP: {}> = (<
P: SP,
D,
S,
C: ComponentClassWithDefaultProps<D, P, S>
>(
component: C
) => Class<
ConnectedComponent<C, InstanceOf<C>, { ...CP } & $Diff<$Diff<P, D>, CP>>
>) &
(<P: SP, S, C: Class<React$Component<P, S>>>(
component: C
) => Class<
ConnectedComponent<C, InstanceOf<C>, { ...CP } & $Diff<P, CP>>
>) &
(<P: SP, C: React$ComponentType<P>>(
component: C
) => Class<ConnectedComponent<C, void, { ...CP } & $Diff<P, CP>>>);
// Drag Source
// ----------------------------------------------------------------------
declare type DragSourceType<P> = Identifier | ((props: P) => Identifier);
declare type DragSourceSpec<P> = {
beginDrag: (
props: P,
monitor: DragSourceMonitor,
component: React$Component<P, any>
) => Object,
endDrag?: (
props: P,
monitor: DragSourceMonitor,
component: ?React$Component<P, any>
) => void,
canDrag?: (props: P, monitor: DragSourceMonitor) => boolean,
isDragging?: (props: P, monitor: DragSourceMonitor) => boolean
};
declare type DragSourceMonitor = {
canDrag: () => boolean,
isDragging: () => boolean,
getItemType: () => Identifier,
getItem: () => Object,
getDropResult: () => Object,
didDrop: () => boolean,
getInitialClientOffset: () => ClientOffset,
getInitialSourceClientOffset: () => ClientOffset,
getClientOffset: () => ClientOffset,
getDifferenceFromInitialOffset: () => ClientOffset,
getSourceClientOffset: () => ClientOffset
};
declare type DragSourceConnector = {
dragSource: () => ConnectDragSource,
dragPreview: () => ConnectDragPreview
};
declare type DragSourceOptions = {
dropEffect?: string
};
declare type DragPreviewOptions = {
captureDraggingState?: boolean,
anchorX?: number,
anchorY?: number
};
declare type ConnectDragSource = <T: ElementOrNode>(
elementOrNode: T,
options?: DragSourceOptions
) => ?T;
declare type ConnectDragPreview = <T: ElementOrNode>(
elementOrNode: T,
options?: DragPreviewOptions
) => ?T;
declare type DragSourceCollector<T> = (
connect: DragSourceConnector,
monitor: DragSourceMonitor
) => T;
declare function DragSource<OP: {}, CP: {}>(
type: DragSourceType<OP>,
spec: DragSourceSpec<OP>,
collect: DragSourceCollector<CP>,
options?: DndOptions<OP>
): Connector<$Supertype<OP & CP>, CP>;
// Drop Target
// ----------------------------------------------------------------------
declare type DropTargetTypes<P> =
| Identifier
| Array<Identifier>
| ((props: P) => Identifier | Array<Identifier>);
declare type DropTargetSpec<P> = {
drop?: (
props: P,
monitor: DropTargetMonitor,
component: React$Component<P, any>
) => ?Object,
hover?: (
props: P,
monitor: DropTargetMonitor,
component: React$Component<P, any>
) => void,
canDrop?: (props: P, monitor: DropTargetMonitor) => boolean
};
declare type DropTargetMonitor = {
canDrop: () => boolean,
isOver: (options?: { shallow: boolean }) => boolean,
getItemType: () => Identifier,
getItem: () => Object,
getDropResult: () => Object,
didDrop: () => boolean,
getInitialClientOffset: () => ClientOffset,
getInitialSourceClientOffset: () => ClientOffset,
getClientOffset: () => ClientOffset,
getDifferenceFromInitialOffset: () => ClientOffset,
getSourceClientOffset: () => ClientOffset
};
declare type DropTargetConnector = {
dropTarget: () => ConnectDropTarget
};
declare type ConnectDropTarget = <T: ElementOrNode>(elementOrNode: T) => ?T;
declare type DropTargetCollector<T> = (
connect: DropTargetConnector,
monitor: DropTargetMonitor
) => T;
declare function DropTarget<OP: {}, CP: {}>(
types: DropTargetTypes<OP>,
spec: DropTargetSpec<OP>,
collect: DropTargetCollector<CP>,
options?: DndOptions<OP>
): Connector<$Supertype<OP & CP>, CP>;
// Drag Layer
// ----------------------------------------------------------------------
declare type DragLayerMonitor = {
isDragging: () => boolean,
getItemType: () => Identifier,
getItem: () => Object,
getInitialClientOffset: () => ClientOffset,
getInitialSourceClientOffset: () => ClientOffset,
getClientOffset: () => ClientOffset,
getDifferenceFromInitialOffset: () => ClientOffset,
getSourceClientOffset: () => ClientOffset
};
declare function DragLayer<OP: {}, CP: {}>(
collect: (monitor: DragLayerMonitor) => CP,
options?: DndOptions<OP>
): Connector<$Supertype<OP & CP>, CP>;
// Drag Drop Context
// ----------------------------------------------------------------------
declare function DragDropContext<OP: {}, CP: {}>(
backend: mixed
): Connector<$Supertype<OP & CP>, CP>;
}

View File

@@ -0,0 +1,74 @@
// flow-typed signature: 2053a0e13bd9f0d6dfe92da06bb17bf1
// flow-typed version: <<STUB>>/react-error-boundary_v^1.2.0/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-error-boundary'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-error-boundary' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-error-boundary/dist/commonjs/ErrorBoundary' {
declare module.exports: any;
}
declare module 'react-error-boundary/dist/commonjs/ErrorBoundaryFallbackComponent' {
declare module.exports: any;
}
declare module 'react-error-boundary/dist/commonjs/index' {
declare module.exports: any;
}
declare module 'react-error-boundary/dist/es/ErrorBoundary' {
declare module.exports: any;
}
declare module 'react-error-boundary/dist/es/ErrorBoundaryFallbackComponent' {
declare module.exports: any;
}
declare module 'react-error-boundary/dist/es/index' {
declare module.exports: any;
}
declare module 'react-error-boundary/dist/umd/react-error-boundary' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-error-boundary/dist/commonjs/ErrorBoundary.js' {
declare module.exports: $Exports<'react-error-boundary/dist/commonjs/ErrorBoundary'>;
}
declare module 'react-error-boundary/dist/commonjs/ErrorBoundaryFallbackComponent.js' {
declare module.exports: $Exports<'react-error-boundary/dist/commonjs/ErrorBoundaryFallbackComponent'>;
}
declare module 'react-error-boundary/dist/commonjs/index.js' {
declare module.exports: $Exports<'react-error-boundary/dist/commonjs/index'>;
}
declare module 'react-error-boundary/dist/es/ErrorBoundary.js' {
declare module.exports: $Exports<'react-error-boundary/dist/es/ErrorBoundary'>;
}
declare module 'react-error-boundary/dist/es/ErrorBoundaryFallbackComponent.js' {
declare module.exports: $Exports<'react-error-boundary/dist/es/ErrorBoundaryFallbackComponent'>;
}
declare module 'react-error-boundary/dist/es/index.js' {
declare module.exports: $Exports<'react-error-boundary/dist/es/index'>;
}
declare module 'react-error-boundary/dist/umd/react-error-boundary.js' {
declare module.exports: $Exports<'react-error-boundary/dist/umd/react-error-boundary'>;
}

View File

@@ -0,0 +1,32 @@
// flow-typed signature: e98d134c3d8467cb461cc6f5a873347b
// flow-typed version: <<STUB>>/react-json-view_v^1.16.1/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-json-view'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-json-view' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-json-view/dist/main' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-json-view/dist/main.js' {
declare module.exports: $Exports<'react-json-view/dist/main'>;
}

View File

@@ -0,0 +1,60 @@
// flow-typed signature: 5d62d94b96d89d9983c19bfe91c84176
// flow-typed version: <<STUB>>/react-measure_v1.4.7/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-measure'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-measure' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-measure/dist/react-measure' {
declare module.exports: any;
}
declare module 'react-measure/dist/react-measure.min' {
declare module.exports: any;
}
declare module 'react-measure/lib/Measure' {
declare module.exports: any;
}
declare module 'react-measure/lib/react-measure' {
declare module.exports: any;
}
declare module 'react-measure/lib/resize-detector' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-measure/dist/react-measure.js' {
declare module.exports: $Exports<'react-measure/dist/react-measure'>;
}
declare module 'react-measure/dist/react-measure.min.js' {
declare module.exports: $Exports<'react-measure/dist/react-measure.min'>;
}
declare module 'react-measure/lib/Measure.js' {
declare module.exports: $Exports<'react-measure/lib/Measure'>;
}
declare module 'react-measure/lib/react-measure.js' {
declare module.exports: $Exports<'react-measure/lib/react-measure'>;
}
declare module 'react-measure/lib/resize-detector.js' {
declare module.exports: $Exports<'react-measure/lib/resize-detector'>;
}

View File

@@ -0,0 +1,67 @@
// flow-typed signature: b5af2c93f639788c17720a345c15cbf4
// flow-typed version: <<STUB>>/react-monaco-editor_v^0.18.0/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-monaco-editor'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-monaco-editor' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-monaco-editor/lib/diff' {
declare module.exports: any;
}
declare module 'react-monaco-editor/lib/editor' {
declare module.exports: any;
}
declare module 'react-monaco-editor/lib/index' {
declare module.exports: any;
}
declare module 'react-monaco-editor/src/diff' {
declare module.exports: any;
}
declare module 'react-monaco-editor/src/editor' {
declare module.exports: any;
}
declare module 'react-monaco-editor/src/index' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-monaco-editor/lib/diff.js' {
declare module.exports: $Exports<'react-monaco-editor/lib/diff'>;
}
declare module 'react-monaco-editor/lib/editor.js' {
declare module.exports: $Exports<'react-monaco-editor/lib/editor'>;
}
declare module 'react-monaco-editor/lib/index.js' {
declare module.exports: $Exports<'react-monaco-editor/lib/index'>;
}
declare module 'react-monaco-editor/src/diff.js' {
declare module.exports: $Exports<'react-monaco-editor/src/diff'>;
}
declare module 'react-monaco-editor/src/editor.js' {
declare module.exports: $Exports<'react-monaco-editor/src/editor'>;
}
declare module 'react-monaco-editor/src/index.js' {
declare module.exports: $Exports<'react-monaco-editor/src/index'>;
}

View File

@@ -0,0 +1,186 @@
// flow-typed signature: a53e4267f7c08c1aab14782e755fcd1f
// flow-typed version: <<STUB>>/react-mosaic-component_v1.0.3/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-mosaic-component'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-mosaic-component' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-mosaic-component/lib/buttons/defaultToolbarControls' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/buttons/ExpandButton' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/buttons/MosaicButton' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/buttons/RemoveButton' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/buttons/ReplaceButton' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/buttons/Separator' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/buttons/SplitButton' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/contextTypes' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/index' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/internalTypes' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/Mosaic' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/MosaicDropTarget' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/MosaicRoot' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/MosaicWindow' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/MosaicZeroState' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/RootDropTargets' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/Split' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/types' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/util/assertNever' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/util/BoundingBox' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/util/mosaicUpdates' {
declare module.exports: any;
}
declare module 'react-mosaic-component/lib/util/mosaicUtilities' {
declare module.exports: any;
}
declare module 'react-mosaic-component/test/registerTsNode' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-mosaic-component/lib/buttons/defaultToolbarControls.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/defaultToolbarControls'>;
}
declare module 'react-mosaic-component/lib/buttons/ExpandButton.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/ExpandButton'>;
}
declare module 'react-mosaic-component/lib/buttons/MosaicButton.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/MosaicButton'>;
}
declare module 'react-mosaic-component/lib/buttons/RemoveButton.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/RemoveButton'>;
}
declare module 'react-mosaic-component/lib/buttons/ReplaceButton.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/ReplaceButton'>;
}
declare module 'react-mosaic-component/lib/buttons/Separator.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/Separator'>;
}
declare module 'react-mosaic-component/lib/buttons/SplitButton.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/buttons/SplitButton'>;
}
declare module 'react-mosaic-component/lib/contextTypes.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/contextTypes'>;
}
declare module 'react-mosaic-component/lib/index.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/index'>;
}
declare module 'react-mosaic-component/lib/internalTypes.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/internalTypes'>;
}
declare module 'react-mosaic-component/lib/Mosaic.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/Mosaic'>;
}
declare module 'react-mosaic-component/lib/MosaicDropTarget.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/MosaicDropTarget'>;
}
declare module 'react-mosaic-component/lib/MosaicRoot.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/MosaicRoot'>;
}
declare module 'react-mosaic-component/lib/MosaicWindow.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/MosaicWindow'>;
}
declare module 'react-mosaic-component/lib/MosaicZeroState.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/MosaicZeroState'>;
}
declare module 'react-mosaic-component/lib/RootDropTargets.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/RootDropTargets'>;
}
declare module 'react-mosaic-component/lib/Split.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/Split'>;
}
declare module 'react-mosaic-component/lib/types.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/types'>;
}
declare module 'react-mosaic-component/lib/util/assertNever.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/util/assertNever'>;
}
declare module 'react-mosaic-component/lib/util/BoundingBox.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/util/BoundingBox'>;
}
declare module 'react-mosaic-component/lib/util/mosaicUpdates.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/util/mosaicUpdates'>;
}
declare module 'react-mosaic-component/lib/util/mosaicUtilities.js' {
declare module.exports: $Exports<'react-mosaic-component/lib/util/mosaicUtilities'>;
}
declare module 'react-mosaic-component/test/registerTsNode.js' {
declare module.exports: $Exports<'react-mosaic-component/test/registerTsNode'>;
}

View File

@@ -0,0 +1,165 @@
// flow-typed signature: c673d3470dbd86f9e85c93025c2755a0
// flow-typed version: <<STUB>>/react-scripts_v1.0.17/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-scripts'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-scripts' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-scripts/bin/react-scripts' {
declare module.exports: any;
}
declare module 'react-scripts/config/env' {
declare module.exports: any;
}
declare module 'react-scripts/config/jest/babelTransform' {
declare module.exports: any;
}
declare module 'react-scripts/config/jest/cssTransform' {
declare module.exports: any;
}
declare module 'react-scripts/config/jest/fileTransform' {
declare module.exports: any;
}
declare module 'react-scripts/config/paths' {
declare module.exports: any;
}
declare module 'react-scripts/config/polyfills' {
declare module.exports: any;
}
declare module 'react-scripts/config/webpack.config.dev' {
declare module.exports: any;
}
declare module 'react-scripts/config/webpack.config.prod' {
declare module.exports: any;
}
declare module 'react-scripts/config/webpackDevServer.config' {
declare module.exports: any;
}
declare module 'react-scripts/scripts/build' {
declare module.exports: any;
}
declare module 'react-scripts/scripts/eject' {
declare module.exports: any;
}
declare module 'react-scripts/scripts/init' {
declare module.exports: any;
}
declare module 'react-scripts/scripts/start' {
declare module.exports: any;
}
declare module 'react-scripts/scripts/test' {
declare module.exports: any;
}
declare module 'react-scripts/scripts/utils/createJestConfig' {
declare module.exports: any;
}
declare module 'react-scripts/template/src/App' {
declare module.exports: any;
}
declare module 'react-scripts/template/src/App.test' {
declare module.exports: any;
}
declare module 'react-scripts/template/src/index' {
declare module.exports: any;
}
declare module 'react-scripts/template/src/registerServiceWorker' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-scripts/bin/react-scripts.js' {
declare module.exports: $Exports<'react-scripts/bin/react-scripts'>;
}
declare module 'react-scripts/config/env.js' {
declare module.exports: $Exports<'react-scripts/config/env'>;
}
declare module 'react-scripts/config/jest/babelTransform.js' {
declare module.exports: $Exports<'react-scripts/config/jest/babelTransform'>;
}
declare module 'react-scripts/config/jest/cssTransform.js' {
declare module.exports: $Exports<'react-scripts/config/jest/cssTransform'>;
}
declare module 'react-scripts/config/jest/fileTransform.js' {
declare module.exports: $Exports<'react-scripts/config/jest/fileTransform'>;
}
declare module 'react-scripts/config/paths.js' {
declare module.exports: $Exports<'react-scripts/config/paths'>;
}
declare module 'react-scripts/config/polyfills.js' {
declare module.exports: $Exports<'react-scripts/config/polyfills'>;
}
declare module 'react-scripts/config/webpack.config.dev.js' {
declare module.exports: $Exports<'react-scripts/config/webpack.config.dev'>;
}
declare module 'react-scripts/config/webpack.config.prod.js' {
declare module.exports: $Exports<'react-scripts/config/webpack.config.prod'>;
}
declare module 'react-scripts/config/webpackDevServer.config.js' {
declare module.exports: $Exports<'react-scripts/config/webpackDevServer.config'>;
}
declare module 'react-scripts/scripts/build.js' {
declare module.exports: $Exports<'react-scripts/scripts/build'>;
}
declare module 'react-scripts/scripts/eject.js' {
declare module.exports: $Exports<'react-scripts/scripts/eject'>;
}
declare module 'react-scripts/scripts/init.js' {
declare module.exports: $Exports<'react-scripts/scripts/init'>;
}
declare module 'react-scripts/scripts/start.js' {
declare module.exports: $Exports<'react-scripts/scripts/start'>;
}
declare module 'react-scripts/scripts/test.js' {
declare module.exports: $Exports<'react-scripts/scripts/test'>;
}
declare module 'react-scripts/scripts/utils/createJestConfig.js' {
declare module.exports: $Exports<'react-scripts/scripts/utils/createJestConfig'>;
}
declare module 'react-scripts/template/src/App.js' {
declare module.exports: $Exports<'react-scripts/template/src/App'>;
}
declare module 'react-scripts/template/src/App.test.js' {
declare module.exports: $Exports<'react-scripts/template/src/App.test'>;
}
declare module 'react-scripts/template/src/index.js' {
declare module.exports: $Exports<'react-scripts/template/src/index'>;
}
declare module 'react-scripts/template/src/registerServiceWorker.js' {
declare module.exports: $Exports<'react-scripts/template/src/registerServiceWorker'>;
}

View File

@@ -0,0 +1,158 @@
// flow-typed signature: f7e3bb082f87b28c1543cbcc643515f6
// flow-typed version: <<STUB>>/react-sortable-hoc_v0.6.8/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-sortable-hoc'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-sortable-hoc' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-sortable-hoc/dist/commonjs/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/commonjs/Manager' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/commonjs/SortableContainer/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/commonjs/SortableElement/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/commonjs/SortableHandle/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/commonjs/utils' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/es6/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/es6/Manager' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/es6/SortableContainer/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/es6/SortableElement/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/es6/SortableHandle/index' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/es6/utils' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/umd/react-sortable-hoc' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/dist/umd/react-sortable-hoc.min' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/examples/basic' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/examples/drag-handle' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/examples/infinite-list' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/examples/virtual-list' {
declare module.exports: any;
}
declare module 'react-sortable-hoc/examples/virtual-table-columns' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-sortable-hoc/dist/commonjs/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/commonjs/index'>;
}
declare module 'react-sortable-hoc/dist/commonjs/Manager.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/commonjs/Manager'>;
}
declare module 'react-sortable-hoc/dist/commonjs/SortableContainer/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/commonjs/SortableContainer/index'>;
}
declare module 'react-sortable-hoc/dist/commonjs/SortableElement/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/commonjs/SortableElement/index'>;
}
declare module 'react-sortable-hoc/dist/commonjs/SortableHandle/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/commonjs/SortableHandle/index'>;
}
declare module 'react-sortable-hoc/dist/commonjs/utils.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/commonjs/utils'>;
}
declare module 'react-sortable-hoc/dist/es6/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/es6/index'>;
}
declare module 'react-sortable-hoc/dist/es6/Manager.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/es6/Manager'>;
}
declare module 'react-sortable-hoc/dist/es6/SortableContainer/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/es6/SortableContainer/index'>;
}
declare module 'react-sortable-hoc/dist/es6/SortableElement/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/es6/SortableElement/index'>;
}
declare module 'react-sortable-hoc/dist/es6/SortableHandle/index.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/es6/SortableHandle/index'>;
}
declare module 'react-sortable-hoc/dist/es6/utils.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/es6/utils'>;
}
declare module 'react-sortable-hoc/dist/umd/react-sortable-hoc.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/umd/react-sortable-hoc'>;
}
declare module 'react-sortable-hoc/dist/umd/react-sortable-hoc.min.js' {
declare module.exports: $Exports<'react-sortable-hoc/dist/umd/react-sortable-hoc.min'>;
}
declare module 'react-sortable-hoc/examples/basic.js' {
declare module.exports: $Exports<'react-sortable-hoc/examples/basic'>;
}
declare module 'react-sortable-hoc/examples/drag-handle.js' {
declare module.exports: $Exports<'react-sortable-hoc/examples/drag-handle'>;
}
declare module 'react-sortable-hoc/examples/infinite-list.js' {
declare module.exports: $Exports<'react-sortable-hoc/examples/infinite-list'>;
}
declare module 'react-sortable-hoc/examples/virtual-list.js' {
declare module.exports: $Exports<'react-sortable-hoc/examples/virtual-list'>;
}
declare module 'react-sortable-hoc/examples/virtual-table-columns.js' {
declare module.exports: $Exports<'react-sortable-hoc/examples/virtual-table-columns'>;
}

View File

@@ -0,0 +1,32 @@
// flow-typed signature: a5c80bc1408d95712c8d26d2657d451b
// flow-typed version: <<STUB>>/react-sortable-tree_v1.5.3/flow_v0.78.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-sortable-tree'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-sortable-tree' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-sortable-tree/dist/main' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-sortable-tree/dist/main.js' {
declare module.exports: $Exports<'react-sortable-tree/dist/main'>;
}

Some files were not shown because too many files have changed in this diff Show More