kaxe 1.6.1.dev0__tar.gz → 1.6.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kaxe-1.6.1.dev0/src/kaxe.egg-info → kaxe-1.6.2}/PKG-INFO +1 -1
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/pyproject.toml +1 -1
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/color.py +26 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/map.py +50 -31
- {kaxe-1.6.1.dev0 → kaxe-1.6.2/src/kaxe.egg-info}/PKG-INFO +1 -1
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/LICENSE +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/MANIFEST.in +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/README.md +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/setup.cfg +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/_require_3d.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/chart/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/chart/bar.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/chart/box.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/chart/pie.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/chart/qqplot.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/axis.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/bounds.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/backend.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/camera.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/helper.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/hud.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/objects/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/objects/color.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/objects/line.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/objects/point.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/objects/pointer.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/objects/triangle.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/openglrender.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/d3/translator.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/draw.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/fileloader.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/helper.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/ipython_display.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/legend.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/line.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/marker.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/profiler.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/progress.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/round.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/shapes.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/styles.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/svg.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/svg_pdf.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/symbol.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/text.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/core/window.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/data/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/data/excel.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/_lazy.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/arrow.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/bubble.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/contour.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/equation.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/fill.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/function.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/inequality.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/parameter.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/pillar.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d2/point.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d3/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d3/base.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d3/function.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d3/mesh.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d3/point.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/d3/potato.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/function.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/legend.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/mapdata.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/point.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/objects/text.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/_lazy.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/box.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/constants.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/d3/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/d3/axes.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/d3/geometry.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/d3/plot3d.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/d3/variants.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/double.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/empty.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/grid.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/log.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/polar.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/standard.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/themes.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/zoom.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/plot/zoom_connector.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/codec.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/context.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/document.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/registry.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/sample.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/sampled_curve.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/serializers.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/project/window.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/__init__.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-semibold.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-semiboldoblique.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.classical-serif-italic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-bolditalic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-italic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-bold.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-boldoblique.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-demi-condensed-demicondensed.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-medium.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-oblique.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-bold.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-bolditalic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-boldslanted.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-romanslanted.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-upright-italic-uprightitalic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bold.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bolditalic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-italic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-light.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-lightoblique.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-regular.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-italic.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-medium.ttf +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/readme.txt +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/logo-small.png +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/symbolcross.png +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/symboldonut.png +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/symbollollipop.png +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/symboltriangle.png +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe.egg-info/SOURCES.txt +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe.egg-info/dependency_links.txt +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe.egg-info/requires.txt +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe.egg-info/top_level.txt +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/tests/test.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/tests/test2.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/tests/test3.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/tests/test_4.py +0 -0
- {kaxe-1.6.1.dev0 → kaxe-1.6.2}/tests/test_5.py +0 -0
|
@@ -134,6 +134,32 @@ class Colormap:
|
|
|
134
134
|
x -= x0
|
|
135
135
|
return tuple(round(i) for i in (1 - x) * self.colorGradientSteps[x0] + (x) * self.colorGradientSteps[x1])
|
|
136
136
|
|
|
137
|
+
def map_array(self, values: np.ndarray, start: Union[int, float], end: Union[int, float]) -> np.ndarray:
|
|
138
|
+
"""
|
|
139
|
+
Map a numeric array to RGBA colors using this colormap.
|
|
140
|
+
|
|
141
|
+
Returns an array with shape ``(*values.shape, 4)`` and dtype ``uint8``.
|
|
142
|
+
"""
|
|
143
|
+
steps = np.asarray(self.colorGradientSteps, dtype=np.float64)
|
|
144
|
+
if end == start:
|
|
145
|
+
return np.broadcast_to(steps[0].astype(np.uint8), (*values.shape, 4)).copy()
|
|
146
|
+
|
|
147
|
+
n = len(steps) - 1
|
|
148
|
+
t = (values - start) / (end - start) * n
|
|
149
|
+
t = np.clip(t, 0, n)
|
|
150
|
+
i0 = np.floor(t).astype(np.intp)
|
|
151
|
+
i1 = np.minimum(i0 + 1, n)
|
|
152
|
+
frac = (t - i0)[..., np.newaxis]
|
|
153
|
+
colors = np.round((1 - frac) * steps[i0] + frac * steps[i1]).astype(np.uint8)
|
|
154
|
+
|
|
155
|
+
below = values < start
|
|
156
|
+
above = values > end
|
|
157
|
+
if np.any(below):
|
|
158
|
+
colors[below] = steps[0].astype(np.uint8)
|
|
159
|
+
if np.any(above):
|
|
160
|
+
colors[above] = steps[-1].astype(np.uint8)
|
|
161
|
+
return colors
|
|
162
|
+
|
|
137
163
|
def setAlpha(self, alpha255):
|
|
138
164
|
"""
|
|
139
165
|
Update the alpha (transparency) value for each color in the color gradient steps.
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import numpy as np
|
|
3
3
|
from ..mapdata import heatcolormap
|
|
4
4
|
import math
|
|
5
|
+
from PIL import Image
|
|
5
6
|
from ...core.shapes import shapes
|
|
6
7
|
from ...core.text import Text
|
|
7
8
|
from ...core.round import koundTeX
|
|
@@ -297,37 +298,55 @@ class HeatMap:
|
|
|
297
298
|
)
|
|
298
299
|
|
|
299
300
|
def finalize(self, parent):
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
301
|
+
nrows = len(self.data)
|
|
302
|
+
if nrows == 0:
|
|
303
|
+
return
|
|
304
|
+
ncols = len(self.data[0])
|
|
305
|
+
if ncols == 0:
|
|
306
|
+
return
|
|
307
|
+
|
|
308
|
+
x0, y0 = self.position
|
|
309
|
+
x1 = x0 + ncols * self.unitPerPixel[0]
|
|
310
|
+
y1 = y0 + nrows * self.unitPerPixel[1]
|
|
311
|
+
|
|
312
|
+
px0, py0 = parent.pixel(x0, y0)
|
|
313
|
+
px1, py1 = parent.pixel(x1, y1)
|
|
314
|
+
|
|
315
|
+
left = int(math.floor(px0))
|
|
316
|
+
bottom = int(math.floor(py0))
|
|
317
|
+
right = int(math.ceil(px1))
|
|
318
|
+
top = int(math.ceil(py1))
|
|
319
|
+
pw = max(right - left, 1)
|
|
320
|
+
ph = max(top - bottom, 1)
|
|
321
|
+
|
|
322
|
+
rgba = self.cmap.map_array(
|
|
323
|
+
np.asarray(self.data, dtype=np.float64),
|
|
324
|
+
self.minValue,
|
|
325
|
+
self.maxValue,
|
|
326
|
+
)
|
|
327
|
+
rgba = rgba[::-1]
|
|
328
|
+
|
|
329
|
+
img = Image.fromarray(rgba)
|
|
330
|
+
if (pw, ph) != (ncols, nrows):
|
|
331
|
+
img = img.resize((pw, ph), Image.NEAREST)
|
|
332
|
+
|
|
333
|
+
wb = parent.windowBox
|
|
334
|
+
clip_l = max(left, wb[0])
|
|
335
|
+
clip_b = max(bottom, wb[1])
|
|
336
|
+
clip_r = min(left + pw, wb[2])
|
|
337
|
+
clip_t = min(bottom + ph, wb[3])
|
|
338
|
+
if clip_l >= clip_r or clip_b >= clip_t:
|
|
339
|
+
return
|
|
340
|
+
|
|
341
|
+
if (clip_l, clip_b, clip_r, clip_t) != (left, bottom, left + pw, bottom + ph):
|
|
342
|
+
src_left = clip_l - left
|
|
343
|
+
src_right = clip_r - left
|
|
344
|
+
src_top = ph - (clip_t - bottom)
|
|
345
|
+
src_bottom = ph - (clip_b - bottom)
|
|
346
|
+
img = img.crop((src_left, src_top, src_right, src_bottom))
|
|
347
|
+
left, bottom = clip_l, clip_b
|
|
348
|
+
|
|
349
|
+
self.img = shapes.ImageArray(np.asarray(img), left, bottom, batch=self.batch)
|
|
331
350
|
|
|
332
351
|
|
|
333
352
|
def addColorScale(self, parent, digits=64):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.bright-semibold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-bolditalic.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-italic.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-medium.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-oblique.ttf
RENAMED
|
File without changes
|
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-bolditalic.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.1.dev0 → kaxe-1.6.2}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|