whole_func_string: function(event, g, contextB) {
        // prevents mouse drags from selecting page text.
        if (event.preventDefault) {
          event.preventDefault();  // Firefox, Chrome, etc.
        } else {
          event.returnValue = false;  // IE
          event.cancelBubble = true;
        }
  
        var canvasPos = utils.findPos(g.canvas_);
        contextB.px = canvasPos.x;
        contextB.py = canvasPos.y;
        contextB.dragStartX = utils.dragGetX_(event, contextB);
        contextB.dragStartY = utils.dragGetY_(event, contextB);
        contextB.cancelNextDblclick = false;
        contextB.tarp.cover();
      }
func_code_string: function(event, g, contextB) {
        // prevents mouse drags from selecting page text.
        if (event.preventDefault) {
          event.preventDefault();  // Firefox, Chrome, etc.
        } else {
          event.returnValue = false;  // IE
          event.cancelBubble = true;
        }
  
        var canvasPos = utils.findPos(g.canvas_);
        contextB.px = canvasPos.x;
        contextB.py = canvasPos.y;
        contextB.dragStartX = utils.dragGetX_(event, contextB);
        contextB.dragStartY = utils.dragGetY_(event, contextB);
        contextB.cancelNextDblclick = false;
        contextB.tarp.cover();
      }
func_documentation_string: contextB is the same thing as this context object but renamed.