public/ckeditor/4.4dev/plugins/magicline/plugin.js
function checkMouse( mouse ) {
				that.debug.groupStart( 'CheckMouse' ); // %REMOVE_LINE%
				that.debug.startTimer(); // %REMOVE_LINE%

				that.mouse = mouse;
				that.trigger = null;

				checkMouseTimer = null;
				updateWindowSize( that );

				if ( checkMouseTimeoutPending 								//	-> There must be an event pending.
					&& !that.hiddenMode 									// 	-> Can't be in hidden mode.
					&& editor.focusManager.hasFocus 						// 	-> Editor must have focus.
					&& !that.line.mouseNear() 								// 	-> Mouse pointer can't be close to the box.
					&& ( that.element = elementFromMouse( that, true ) ) ) 	// 	-> There must be valid element.
				{
					// If trigger exists, and trigger is correct -> show the box.
					// Don't show the line if trigger is a descendant of some tabu-list element.
					if ( ( that.trigger = triggerEditable( that ) || triggerEdge( that ) || triggerExpand( that ) ) &&
						!isInTabu( that, that.trigger.upper || that.trigger.lower ) ) {
						that.line.attach().place();
					}

					// Otherwise remove the box
					else {
						that.trigger = null;
						that.line.detach();
					}

					that.debug.showTrigger( that.trigger ); // %REMOVE_LINE%
					that.debug.mousePos( mouse.y, that.element ); // %REMOVE_LINE%

					checkMouseTimeoutPending = false;
				}

				that.debug.stopTimer(); // %REMOVE_LINE%
				that.debug.groupEnd(); // %REMOVE_LINE%
			}
function checkMouse( mouse ) {
				that.debug.groupStart( 'CheckMouse' ); // %REMOVE_LINE%
				that.debug.startTimer(); // %REMOVE_LINE%

				that.mouse = mouse;
				that.trigger = null;

				checkMouseTimer = null;
				updateWindowSize( that );

				if ( checkMouseTimeoutPending 								//	-> There must be an event pending.
					&& !that.hiddenMode 									// 	-> Can't be in hidden mode.
					&& editor.focusManager.hasFocus 						// 	-> Editor must have focus.
					&& !that.line.mouseNear() 								// 	-> Mouse pointer can't be close to the box.
					&& ( that.element = elementFromMouse( that, true ) ) ) 	// 	-> There must be valid element.
				{
					// If trigger exists, and trigger is correct -> show the box.
					// Don't show the line if trigger is a descendant of some tabu-list element.
					if ( ( that.trigger = triggerEditable( that ) || triggerEdge( that ) || triggerExpand( that ) ) &&
						!isInTabu( that, that.trigger.upper || that.trigger.lower ) ) {
						that.line.attach().place();
					}

					// Otherwise remove the box
					else {
						that.trigger = null;
						that.line.detach();
					}

					that.debug.showTrigger( that.trigger ); // %REMOVE_LINE%
					that.debug.mousePos( mouse.y, that.element ); // %REMOVE_LINE%

					checkMouseTimeoutPending = false;
				}

				that.debug.stopTimer(); // %REMOVE_LINE%
				that.debug.groupEnd(); // %REMOVE_LINE%
			}
function checkMouse ( mouse ) { that . debug . groupStart ( 'CheckMouse' ) ; // %REMOVE_LINE%
 that . debug . startTimer ( ) ; // %REMOVE_LINE%
 that . mouse = mouse ; that . trigger = null ; checkMouseTimer = null ; updateWindowSize ( that ) ; if ( checkMouseTimeoutPending //	-> There must be an event pending.
 && ! that . hiddenMode // 	-> Can't be in hidden mode.
 && editor . focusManager . hasFocus // 	-> Editor must have focus.
 && ! that . line . mouseNear ( ) // 	-> Mouse pointer can't be close to the box.
 && ( that . element = elementFromMouse ( that , true ) ) ) // 	-> There must be valid element.
 { // If trigger exists, and trigger is correct -> show the box.
 // Don't show the line if trigger is a descendant of some tabu-list element.
 if ( ( that . trigger = triggerEditable ( that ) || triggerEdge ( that ) || triggerExpand ( that ) ) && ! isInTabu ( that , that . trigger . upper || that . trigger . lower ) ) { that . line . attach ( ) . place ( ) ; } // Otherwise remove the box
 else { that . trigger = null ; that . line . detach ( ) ; } that . debug . showTrigger ( that . trigger ) ; // %REMOVE_LINE%
 that . debug . mousePos ( mouse . y , that . element ) ; // %REMOVE_LINE%
 checkMouseTimeoutPending = false ; } that . debug . stopTimer ( ) ; // %REMOVE_LINE%
 that . debug . groupEnd ( ) ; // %REMOVE_LINE%
 }
This method handles mousemove mouse for box toggling. It uses mouse position to determine underlying element, then it tries to use different trigger type in order to place the box in correct place. The following procedure is executed periodically.
This method handles mousemove mouse for box toggling . It uses mouse position to determine underlying element then it tries to use different trigger type in order to place the box in correct place . The following procedure is executed periodically .