Open In App

Fabric.js ActiveSelection lockMovementX Property

Last Updated : 28 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Fabric.js is a JavaScript library that is used to work with canvas. The canvas ActiveSelection is one of the class of fabric.js that is used to create ActiveSelection instances. The canvas ActiveSelection means the ActiveSelection is movable and can be stretched according to requirement. In this article, we will be using lockMovementX property to lock the horizontal movement.

First import the fabric.js library. After importing the library, create a canvas block in the body tag which will contain the ActiveSelection. After this, initialize an instance of Canvas and ActiveSelection class provided by Fabric.JS and use the lockMovementX property to lock the horizontal movement.

Syntax:

fabric.ActiveSelection(ActiveSelection, {
    lockMovementX : boolean
});

Parameters: This property takes a single parameter as mentioned above and described below:

  • lockMovementX: This parameter takes a boolean value. It specifies whether to lock horizontal movement of canvas.

Example: This example uses FabricJS to set the lockMovementX property of the canvas ActiveSelection as shown in the below example.

HTML




<!DOCTYPE html> 
<html
  
<head>
   <!-- FabricJS CDN -->
   <script src
   </script
</head
  
<body
   <div style="text-align: center;width: 400px;"
      <h1 style="color: green;"
         GeeksforGeeks 
      </h1>
      <b
         Fabric.js | ActiveSelection lockMovementX Property 
      </b
  
   </div
  
   <div style="text-align: center;"
      <canvas id="canvas" width="500" height="500"
            style="border:1px solid green;"
      </canvas
   </div
   <img src
        width="100" height="100" id="my-image"
        style="display: none;">
   <script
      var canvas = new fabric.Canvas("canvas"); 
    
      // Initiate a Rect instance  
      var rectangle = new fabric.Rect({  
        width: 200,  
        height: 100,  
      });  
      canvas.add(rectangle); 
  
      var geek = new fabric.IText('GeeksforGeeks', {
      });
      canvas.add(geek);
      canvas.centerObject(geek); 
  
      var gfg = new fabric.ActiveSelection(canvas.getObjects(), {
        lockMovementX  : true
      });
        
      canvas.setActiveObject(gfg);
      canvas.requestRenderAll();
      canvas.centerObject(gfg); 
   </script
</body
  
</html>


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads