Difference between revisions of "Widget:Logo"

From Hackerspace ACKspace
Jump to: navigation, search
m (testing flake collision avoidance (might fail mid-air))
m (added drawing)
Line 311: Line 311:
 
     function window_load()
 
     function window_load()
 
     {
 
     {
        if ( debug )
 
        {
 
            console && console.log( "winter:", is_winter() );
 
            console && console.log( "winter holiday:", is_winter_holiday() );
 
        }
 
 
 
         var logo = document.getElementById( "logo" );
 
         var logo = document.getElementById( "logo" );
 
         ctx = logo.getContext("2d");
 
         ctx = logo.getContext("2d");
Line 335: Line 329:
 
         height = logo.height;
 
         height = logo.height;
 
         dynamicImage = ctx.getImageData( 0, 0, width, height );
 
         dynamicImage = ctx.getImageData( 0, 0, width, height );
 +
        if ( debug )
 +
        {
 +
            console && console.log( "winter:", is_winter() );
 +
            console && console.log( "winter holiday:", is_winter_holiday() );
 +
 +
            logo.addEventListener( "mousemove", function( _event )
 +
            {
 +
                if ( _event.buttons !== 4 || _event.which !== 2 )
 +
                    return;
 +
 +
                if ( dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 0 ] === 254
 +
                  && dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 1 ] === 254
 +
                  && dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 2 ] === 254
 +
                  && dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 3 ] === 255 )
 +
                {
 +
                    dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 1 ] = 250;
 +
                    dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 2 ] = 227;
 +
                    dynamicImage.data[ ( _event.offsetX + width * _event.offsetY ) * 4 + 3 ] = 220;
 +
                }
 +
            }, false );
 +
        }
 +
 
         if ( is_winter() )
 
         if ( is_winter() )
 
         {
 
         {

Revision as of 12:58, 21 December 2017

This widget creates an animated themed ACKspace logo.

Created by xopr

Using this widget

To insert this widget, use the following code:

{{#widget:Logo
|image=/w/images/e/e9/ACKsmass_logo.png
|width=600px
|height=200px
|padding=8px
|float=right
}}

This will give the following result:

Notes

  • it will display snow in December - March and will show Christmas lights between 7 December and 7 January
  • image is mandatory, the rest is optional.
    it also must be written without protocol since colon (:) is not allowed, and may be relative, for example: //ackspace.nl/w/images/e/e9/ACKsmass_logo.png or /w/images/e/e9/ACKsmass_logo.png
  • You must provide a unit for the sizes (i.e. px, %, etc.)

Copy to your site

To use this widget on your site, just install MediaWiki Widgets extension and copy full source code of this page to your wiki as Widget:Logo article.