Skip to content

Commit

Permalink
adding options from querry, adding more themes and right snaping to h…
Browse files Browse the repository at this point in the history
…alfscreen size
  • Loading branch information
patriciogonzalezvivo committed May 13, 2016
1 parent 280aaca commit e04e45a
Show file tree
Hide file tree
Showing 10 changed files with 104 additions and 29 deletions.
1 change: 0 additions & 1 deletion README.md
Expand Up @@ -58,7 +58,6 @@ This is a list of all the **options** you can set up:
| ```watchHash```| bool | Listen to changes on the wash path to load files |```false```|
| ```frag_header``` | string| Adds a hidden header to every shader before compiling |```""```|
| ```frag_footer``` | string| Adds a hidden footer to every shader before compiling |```""```|
| ```theme``` | string| Codemirror Themes |```"default"```|

## Some of the features features

Expand Down
2 changes: 1 addition & 1 deletion build/glslEditor.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build/glslEditor.css.map

Large diffs are not rendered by default.

52 changes: 40 additions & 12 deletions build/glslEditor.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions index.html
Expand Up @@ -33,6 +33,7 @@
fileDrops: true,
menu: true
});
document.body.style.backgroundColor = window.getComputedStyle(glslEditor.editor.getWrapperElement(),null).getPropertyValue('background-color');
</script>
<script>
(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
Expand Down
16 changes: 16 additions & 0 deletions src/css/glslEditor.css
Expand Up @@ -33,12 +33,28 @@
@import 'codemirror/addon/hint/show-hint.css';

/* Themes */
@import 'codemirror/theme/ambiance.css';
@import 'codemirror/theme/base16-dark.css';
@import 'codemirror/theme/base16-light.css';
@import 'codemirror/theme/dracula.css';
@import 'codemirror/theme/eclipse.css';
@import 'codemirror/theme/elegant.css';
@import 'codemirror/theme/icecoder.css';
@import 'codemirror/theme/lesser-dark.css';
@import 'codemirror/theme/material.css';
@import 'codemirror/theme/mdn-like.css';
@import 'codemirror/theme/midnight.css';
@import 'codemirror/theme/monokai.css';
@import 'codemirror/theme/neat.css';
@import 'codemirror/theme/neo.css';
@import 'codemirror/theme/pastel-on-dark.css';
@import 'codemirror/theme/railscasts.css';
@import 'codemirror/theme/seti.css';
@import 'codemirror/theme/solarized.css';
@import 'codemirror/theme/tomorrow-night-bright.css';
@import 'codemirror/theme/tomorrow-night-eighties.css';
@import 'codemirror/theme/ttcn.css';
@import 'codemirror/theme/yeti.css';

/* Elements */
@import '_menu';
Expand Down
11 changes: 6 additions & 5 deletions src/js/GlslEditor.js
Expand Up @@ -68,6 +68,7 @@ export default class GlslEditor {
if (!this.options.imgs) {
this.options.imgs = [];
}

if (this.container.hasAttribute('data-textures')) {
let imgList = this.container.getAttribute('data-textures').split(',');
for (let i in imgList) {
Expand Down Expand Up @@ -95,6 +96,11 @@ export default class GlslEditor {
this.options.frag_footer = '';
}

// Listen to hash changes
if (this.options.watchHash) {
new HashWatch(this);
}

// Load UI
if (this.options.menu) {
this.menu = new Menu(this);
Expand All @@ -105,11 +111,6 @@ export default class GlslEditor {
this.bufferManager = new BufferManager(this);
}

// Listen to hash changes
if (this.options.watchHash) {
new HashWatch(this);
}

// Listen to file drops
if (this.options.fileDrops) {
new FileDrop(this);
Expand Down
6 changes: 5 additions & 1 deletion src/js/core/Shader.js
Expand Up @@ -31,6 +31,10 @@ export default class Shader {
resize: main.options.canvas_resizable,
snap: main.options.canvas_snapable
});
}

if (main.options.canvas_size === 'halfscreen') {
this.canvasDOM.snapRight();
}
}
}
}
27 changes: 19 additions & 8 deletions src/js/io/HashWatch.js
Expand Up @@ -35,15 +35,26 @@ export default class HashWatch {

let query = parseQuery(window.location.search.slice(1));
if (query) {
if (query.log) {
if (this.main.bufferManager) {
let logs = query.log.split(',');
for (let i in logs) {
this.main.open('https://thebookofshaders.com/log/' + logs[i] + '.frag', logs[i]);
for (let key in query) {
if ( key === 'log') {
if (this.main.bufferManager) {
let logs = query.log.split(',');
for (let i in logs) {
this.main.open('https://thebookofshaders.com/log/' + logs[i] + '.frag', logs[i]);
}
}
}
else {
this.main.open('https://thebookofshaders.com/log/' + query.log + '.frag', query.log);
else {
this.main.open('https://thebookofshaders.com/log/' + query.log + '.frag', query.log);
}
} else {
let value = query[key];
if (value === 'true' || value === 'false') {
value = (value == 'true');
}
else if (parseFloat(value)) {
value = parseFloat(value);
}
this.main.options[key] = value;
}
}
}
Expand Down
15 changes: 15 additions & 0 deletions src/js/tools/interactiveDom.js
Expand Up @@ -253,6 +253,8 @@ export function subscribeInteractiveDom (dom, options) {
}
animate();



function onUp(e) {
calc(e);

Expand Down Expand Up @@ -297,5 +299,18 @@ export function subscribeInteractiveDom (dom, options) {
clicked = null;
}

dom.snapRight = function () {
var snapped = {
width: dom.width,
height: dom.height
};

setBounds(dom, window.innerWidth / 2, 0, window.innerWidth / 2, window.innerHeight);
preSnapped = snapped;
// hintHide();
dom.trigger('move', { finish: true, el: dom });
dom.trigger('resize', { finish: true, el: dom });
}

return dom;
}

0 comments on commit e04e45a

Please sign in to comment.