keystone_image 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        data/.gitignore
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -17,15 +17,16 @@ Add this line to your application.html.erb to load up the relevant javascripts: | |
| 17 17 | 
             
                  <%= keystone_image %>
         | 
| 18 18 | 
             
                <% end %>
         | 
| 19 19 |  | 
| 20 | 
            -
             | 
| 20 | 
            +
            The keystone_image view helper takes options to override the default settings listed at the top of jquery.keystone-image.js:
         | 
| 21 21 |  | 
| 22 | 
            -
                 | 
| 22 | 
            +
                <%= keystone_image 'toogle_overlay_keycode' => 49, 'overlay_opacity' => 0.2 %>
         | 
| 23 23 |  | 
| 24 24 |  | 
| 25 25 | 
             
            ## Usage
         | 
| 26 26 | 
             
            - in the webpage, press 'alt/option + 2' to toggle the dropbox - drag and drop any image into it
         | 
| 27 27 | 
             
            - press 'alt/option + 1' to toggle keystone image on/off
         | 
| 28 28 | 
             
            - to move the keystone image, hold alt + one of 3/4/5/6 keys - hold shift to move faster
         | 
| 29 | 
            +
            - alt + 7 re-centers the keystone image
         | 
| 29 30 |  | 
| 30 31 |  | 
| 31 32 | 
             
            ## Limitations
         | 
| @@ -9,7 +9,9 @@ | |
| 9 9 | 
             
                                'up_keycode': 51,               // alt/option + 3
         | 
| 10 10 | 
             
                                'down_keycode': 52,             // alt/option + 4
         | 
| 11 11 | 
             
                                'left_keycode': 53,             // alt/option + 5
         | 
| 12 | 
            -
                                'right_keycode': 54 | 
| 12 | 
            +
                                'right_keycode': 54,            // alt/option + 6
         | 
| 13 | 
            +
                                'recenter_overlay': 55,         // alt/option + 7
         | 
| 14 | 
            +
                                'overlay_opacity': 0.5}
         | 
| 13 15 |  | 
| 14 16 | 
             
                $.extend(settings, setting_overrides);
         | 
| 15 17 |  | 
| @@ -35,7 +37,7 @@ | |
| 35 37 | 
             
                body.append('<div id="keystone_image_dropbox" style="display: none; position: fixed; z-index: 10000; top: 80px; bottom: 80px; left: 80px; right: 80px; background: rgba(0,0,255,0.9); border: 4px dashed black; color: white; text-align: center; font-size: 24px;">Keystone Image - Drag and Drop Image Here</div>');
         | 
| 36 38 | 
             
                var dropbox = $('#keystone_image_dropbox');
         | 
| 37 39 |  | 
| 38 | 
            -
                body.append('<img id="keystone_image_overlay" style="display: none; position: absolute; z-index: 9000; opacity:  | 
| 40 | 
            +
                body.append('<img id="keystone_image_overlay" style="display: none; position: absolute; z-index: 9000; opacity: ' + settings.overlay_opacity + '; pointer-events: none;" />');
         | 
| 39 41 | 
             
                var image = $('#keystone_image_overlay');
         | 
| 40 42 | 
             
                image.attr('src', localStorage['keystone_image_data_url']);
         | 
| 41 43 | 
             
                if(localStorage['keystone_image_overlay_display_status'] == 't')
         | 
| @@ -63,6 +65,28 @@ | |
| 63 65 | 
             
                  localStorage['keystone_image_overlay_display_status'] = (image.css('display') == 'none') ? 't' : 'f';
         | 
| 64 66 | 
             
                }
         | 
| 65 67 |  | 
| 68 | 
            +
                function recenter_overlay() {
         | 
| 69 | 
            +
                  var viewport = $(window);
         | 
| 70 | 
            +
                  var viewport_width = viewport.width();
         | 
| 71 | 
            +
                  var viewport_height = viewport.height();
         | 
| 72 | 
            +
                  var viewport_center_x = Math.round(viewport_width / 2);
         | 
| 73 | 
            +
                  var viewport_center_y = $(window).scrollTop() + Math.round(viewport_height / 2);
         | 
| 74 | 
            +
                  
         | 
| 75 | 
            +
                  localStorage['keystone_image_pos_x'] = viewport_center_x - Math.round(image.width() / 2);
         | 
| 76 | 
            +
                  localStorage['keystone_image_pos_y'] = viewport_center_y - Math.round(image.height() / 2);
         | 
| 77 | 
            +
                  
         | 
| 78 | 
            +
                  // Don't place the image beyond the top of the webpage
         | 
| 79 | 
            +
                  if(localStorage['keystone_image_pos_y'] < 0)
         | 
| 80 | 
            +
                    localStorage['keystone_image_pos_y'] = 0;
         | 
| 81 | 
            +
                  
         | 
| 82 | 
            +
                  // Don't place the image beyond the bottom of the webpage
         | 
| 83 | 
            +
                  var max_pos_y = $(body).outerHeight(true) - image.height();
         | 
| 84 | 
            +
                  if(localStorage['keystone_image_pos_y'] > max_pos_y)
         | 
| 85 | 
            +
                    localStorage['keystone_image_pos_y'] = max_pos_y;
         | 
| 86 | 
            +
                  
         | 
| 87 | 
            +
                  translate_image();
         | 
| 88 | 
            +
                }
         | 
| 89 | 
            +
                
         | 
| 66 90 |  | 
| 67 91 |  | 
| 68 92 |  | 
| @@ -93,6 +117,10 @@ | |
| 93 117 | 
             
                    case settings.right_keycode:
         | 
| 94 118 | 
             
                      update_image_position('x', position_delta);
         | 
| 95 119 | 
             
                      break;
         | 
| 120 | 
            +
                    case settings.recenter_overlay:;
         | 
| 121 | 
            +
                      recenter_overlay();
         | 
| 122 | 
            +
                      image.fadeIn(100);
         | 
| 123 | 
            +
                      break;
         | 
| 96 124 | 
             
                    }
         | 
| 97 125 | 
             
                });
         | 
| 98 126 |  | 
| @@ -102,9 +130,6 @@ | |
| 102 130 | 
             
                }
         | 
| 103 131 |  | 
| 104 132 | 
             
                function on_drop(e) {
         | 
| 105 | 
            -
                  e.stopPropagation();
         | 
| 106 | 
            -
                  e.preventDefault();
         | 
| 107 | 
            -
                  
         | 
| 108 133 | 
             
                  if(!e.dataTransfer || !e.dataTransfer.files) {
         | 
| 109 134 | 
             
                    alert('Sorry, your browser is incompatible.');
         | 
| 110 135 | 
             
                    return false;
         | 
| @@ -125,6 +150,7 @@ | |
| 125 150 | 
             
                  reader.onload = function(e) {
         | 
| 126 151 | 
             
                    image[0].src = localStorage['keystone_image_data_url'] = e.target.result;
         | 
| 127 152 | 
             
                    dropbox.hide();
         | 
| 153 | 
            +
                    recenter_overlay();
         | 
| 128 154 | 
             
                    image.show();
         | 
| 129 155 | 
             
                  };
         | 
| 130 156 | 
             
                  reader.readAsDataURL(e.dataTransfer.files[0]);
         | 
| @@ -137,5 +163,6 @@ | |
| 137 163 | 
             
                dropbox.bind('dragover', stop_event);
         | 
| 138 164 | 
             
                dropbox.bind('dragleave', stop_event);
         | 
| 139 165 | 
             
                dropbox.bind('drop', on_drop);
         | 
| 166 | 
            +
                dropbox.bind('drop', stop_event);
         | 
| 140 167 | 
             
              }
         | 
| 141 168 | 
             
            })(jQuery);
         | 
    
        data/keystone_image.gemspec
    CHANGED
    
    | @@ -8,8 +8,8 @@ Gem::Specification.new do |gem| | |
| 8 8 | 
             
              gem.version       = KeystoneImage::VERSION
         | 
| 9 9 | 
             
              gem.authors       = ["Vincent Woo"]
         | 
| 10 10 | 
             
              gem.email         = ["contact@undefinedrange.com"]
         | 
| 11 | 
            -
              gem.description   = %q{ | 
| 12 | 
            -
              gem.summary       = %q{ | 
| 11 | 
            +
              gem.description   = %q{Keystone Image overlays a semi-transparent wireframe/design image over everything in the web browser viewport. Handy when converting a PSD from a graphic designer into a webpage to ensure pixel perfect layouts.}
         | 
| 12 | 
            +
              gem.summary       = %q{Keystone Image overlays a semi-transparent wireframe/design image over everything in the web browser viewport.}
         | 
| 13 13 | 
             
              gem.homepage      = "https://github.com/vwoo/keystone_image"
         | 
| 14 14 |  | 
| 15 15 | 
             
              gem.files         = `git ls-files`.split($/)
         | 
    
        data/lib/keystone_image.rb
    CHANGED
    
    | @@ -7,8 +7,9 @@ module KeystoneImage | |
| 7 7 | 
             
              end
         | 
| 8 8 |  | 
| 9 9 | 
             
              module Helpers
         | 
| 10 | 
            -
                def keystone_image
         | 
| 11 | 
            -
                  javascript_include_tag('jquery.keystone-image', 'keystone-image-init', :defer => true)
         | 
| 10 | 
            +
                def keystone_image(options={})
         | 
| 11 | 
            +
                  html = javascript_include_tag('jquery.keystone-image', 'keystone-image-init', :defer => true)
         | 
| 12 | 
            +
                  html + %Q!<meta name='keystone-image-options' content='#{options.to_json}'>!.html_safe
         | 
| 12 13 | 
             
                end
         | 
| 13 14 | 
             
              end
         | 
| 14 15 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: keystone_image
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 25
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 0
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.0. | 
| 9 | 
            +
              - 3
         | 
| 10 | 
            +
              version: 0.0.3
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Vincent Woo
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2013- | 
| 18 | 
            +
            date: 2013-03-05 00:00:00 Z
         | 
| 19 19 | 
             
            dependencies: 
         | 
| 20 20 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 21 21 | 
             
              name: jquery-rails
         | 
| @@ -33,7 +33,7 @@ dependencies: | |
| 33 33 | 
             
                    version: 1.0.13
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              version_requirements: *id001
         | 
| 36 | 
            -
            description:  | 
| 36 | 
            +
            description: Keystone Image overlays a semi-transparent wireframe/design image over everything in the web browser viewport. Handy when converting a PSD from a graphic designer into a webpage to ensure pixel perfect layouts.
         | 
| 37 37 | 
             
            email: 
         | 
| 38 38 | 
             
            - contact@undefinedrange.com
         | 
| 39 39 | 
             
            executables: []
         | 
| @@ -85,6 +85,6 @@ rubyforge_project: | |
| 85 85 | 
             
            rubygems_version: 1.8.25
         | 
| 86 86 | 
             
            signing_key: 
         | 
| 87 87 | 
             
            specification_version: 3
         | 
| 88 | 
            -
            summary:  | 
| 88 | 
            +
            summary: Keystone Image overlays a semi-transparent wireframe/design image over everything in the web browser viewport.
         | 
| 89 89 | 
             
            test_files: []
         | 
| 90 90 |  |