UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

78 lines (77 loc) 3.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.watermarkHelpers = void 0; var Rect_1 = require("../Core/Rect"); var Size_1 = require("../types/Size"); var WatermarkPosition_1 = require("../types/WatermarkPosition"); function calcPosition(chartWidth, chartHeight, position, isRelativeToCanvas, seriesViewRectInput, viewportSizeInput) { var seriesViewRect = seriesViewRectInput !== null && seriesViewRectInput !== void 0 ? seriesViewRectInput : Rect_1.Rect.create(0, 0, chartWidth, chartHeight); var viewportSize = viewportSizeInput !== null && viewportSizeInput !== void 0 ? viewportSizeInput : new Size_1.Size(chartWidth, chartHeight); var isWideScreen = chartWidth > 500; var wmWidth = 0; var wmHeight = 0; var horizontalOffset = 0; var verticalOffset = 0; // logoWidth, logoHeight and textWidth use the same values as in cpp SCRTRenderContext::DrawWaterMark() method if (isWideScreen) { var logoWidth = 32; var logoHeight = 42; var textWidth = 124; wmWidth = logoWidth + textWidth; wmHeight = logoHeight; horizontalOffset = 5; verticalOffset = 10; } else { var logoWidth = 16; var logoHeight = 21; var textWidth = 63; wmWidth = logoWidth + textWidth; wmHeight = logoHeight; horizontalOffset = 3; verticalOffset = 6; } var left = seriesViewRect.x + horizontalOffset; var bottom = chartHeight - (seriesViewRect.top + seriesViewRect.height) + verticalOffset; if (isRelativeToCanvas) { switch (position) { case WatermarkPosition_1.EWatermarkPosition.BottomRight: left = chartWidth - wmWidth - horizontalOffset; bottom = chartHeight - viewportSize.height + verticalOffset; break; case WatermarkPosition_1.EWatermarkPosition.TopLeft: left = horizontalOffset; bottom = chartHeight - (verticalOffset + wmHeight); break; case WatermarkPosition_1.EWatermarkPosition.TopRight: left = chartWidth - wmWidth - horizontalOffset; bottom = chartHeight - (verticalOffset + wmHeight); break; case WatermarkPosition_1.EWatermarkPosition.BottomLeft: left = horizontalOffset; bottom = chartHeight - viewportSize.height + verticalOffset; break; } } else { switch (position) { case WatermarkPosition_1.EWatermarkPosition.BottomRight: left = seriesViewRect.left + seriesViewRect.width - wmWidth - horizontalOffset; break; case WatermarkPosition_1.EWatermarkPosition.TopLeft: bottom = chartHeight - (seriesViewRect.top + verticalOffset + wmHeight); break; case WatermarkPosition_1.EWatermarkPosition.TopRight: left = seriesViewRect.left + seriesViewRect.width - wmWidth - horizontalOffset; bottom = chartHeight - (seriesViewRect.top + verticalOffset + wmHeight); break; case WatermarkPosition_1.EWatermarkPosition.BottomLeft: default: break; } } return { left: left, bottom: bottom }; } exports.watermarkHelpers = { calcPosition: calcPosition };