Derive from GlModelViewer

Signed-off-by: Justin Georgi <justin.georgi@gmail.com>
This commit is contained in:
2026-05-08 18:52:24 -07:00
parent 69717a97c7
commit 576b04d58d
5 changed files with 290 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
<?php
namespace MediaWiki\Extension\AnatImageViewer;
use ImageHandler;
use BitmapMetadataHandler;
use Html;
class AnatImageHandler extends ImageHandler {
private const ANNOT_VERSION = '0.1';
/**
* Model cannot be displayed directly in a browser but can be rendered.
*
* @param File $file
* @return bool
*/
public function mustRender( $file ) {
return true;
}
/**
* Model can be rendered.
*
* @param File $file
* @return bool
*/
public function canRender( $file ) {
return true;
}
/**
* Get a MediaTransformOutput object representing the transformed output.
*
* @param File $image
* @param string $dstPath Filesystem destination path
* @param string $dstUrl Destination URL to use in output HTML
* @param array $params Arbitrary set of parameters validated by $this->validateParam()
* @param int $flags A bitfield, may contain self::TRANSFORM_LATER
* @return MediaTransformOutput
*/
public function doTransform($image, $dstPath, $dstUrl, $params, $flags = 0) {
return new AnatImageTransformOutput($image, $params);
}
/**
* Small helper function to display information on the browser console
*
* Usage:
* echo '<script>';
* self::console_log('logged string');
* echo '</script>';
*
* @param $data information to display
* @param bool $add_script_tags true to put information is inside complete script tag
*/
public static function console_log($data, $add_script_tags = false) {
$command = 'console.log('. json_encode($data, JSON_HEX_TAG).');';
if ($add_script_tags) {
$command = '<script>'. $command . '</script>';
}
echo $command;
}
}