2 |
<html> |
<html> |
3 |
<head> |
<head> |
4 |
<title>PEG 1003</title> |
<title>PEG 1003</title> |
5 |
|
|
6 |
<meta http-equiv="content-type" |
<meta http-equiv="content-type" |
7 |
content="text/html; charset=ISO-8859-1"> |
content="text/html; charset=ISO-8859-1"> |
8 |
</head> |
</head> |
9 |
<body> |
<body> |
10 |
|
|
11 |
<h1>PEG 1003: Fix hierarchical <tt>VobScene</tt>s</h1> |
<h1>PEG 1003: Fix hierarchical <tt>VobScene</tt>s</h1> |
12 |
|
<p><i> |
13 |
|
Author: Tuomas Lukka |
14 |
|
</i></p> |
15 |
|
|
16 |
<p>Hierarchical <tt>VobScene</tt>s need some fixing.<br> |
<p>Hierarchical <tt>VobScene</tt>s need some fixing.<br> |
17 |
</p> |
</p> |
18 |
|
|
19 |
<p>Open issues:<br> |
<p>Open issues:<br> |
20 |
</p> |
</p> |
21 |
|
|
22 |
<ul> |
<ul> |
23 |
<li>Is the integer identifier of the coordinate system into which to place |
<li>Is the integer identifier of the coordinate system into which to place |
24 |
a new coordinate system appropriate?</li> |
a new coordinate system appropriate?</li> |
25 |
<li>Should plain coordinate systems be usable as those ints?</li> |
<li>Should plain coordinate systems be usable as those ints?<br> |
26 |
|
<small>(Benja:) "Plain coordinate systems"?</small> |
27 |
|
</li> |
28 |
|
|
29 |
<ul> |
<ul> |
30 |
<li>What are the semantics there? Current, just translate, is not good. |
<li>What are the semantics there? Current, just translate, is not good. |
31 |
However, using the vob-internal CS is not really nice either, as Vob CSs usually |
However, using the vob-internal CS is not really nice either, as Vob CSs usually |
32 |
are in pixels, and this would be in 10s or 100s of pixels per unit.</li> |
are in pixels, and this would be in 10s or 100s of pixels per unit.<br> |
33 |
|
(Benja:) I think use the parent cs to translate and optionally give a scale |
34 |
|
when creating the sub-cs, and use the parent for clipping. I think this |
35 |
|
serves well in the usual case. |
36 |
|
</li> |
37 |
|
|
38 |
</ul> |
</ul> |
39 |
<li>The most general use case is the PP-like viewport. How is that implemented? |
<li>The most general use case is the PP-like viewport. How is that implemented? |
40 |
You need</li> |
You need |
41 |
|
|
42 |
<ul> |
<ul> |
43 |
<li>clipping</li> |
<li>clipping</li> |
44 |
<li>separate coordinate system for the motion of the clipping rectangle |
<li>separate coordinate system for the motion of the clipping rectangle |
45 |
and the contents</li> |
and the contents</li> |
46 |
|
|
47 |
</ul> |
</ul> |
48 |
|
|
49 |
|
<p>(Benja:) I thought rotation/scaling? The above is extremely easy to do by |
50 |
|
putting two cs into each other, the parent being used for clipping, |
51 |
|
and the child being used for the contents. |
52 |
|
</p> |
53 |
|
|
54 |
|
</li> |
55 |
|
|
56 |
</ul> |
</ul> |
57 |
Possible solutions:<br> |
Possible solutions:<br> |
58 |
<ul> |
<ul> |
60 |
system defines a clip rectangle. How about specifying the coordinate system |
system defines a clip rectangle. How about specifying the coordinate system |
61 |
to clip to when creating a (any) coordinate system, as well as the coordinate |
to clip to when creating a (any) coordinate system, as well as the coordinate |
62 |
system into whose coordinates the given coordinate system should go.<br> |
system into whose coordinates the given coordinate system should go.<br> |
63 |
|
<small>(Benja:) This doesn't serve well in the usual viewport case, where |
64 |
|
you have: |
65 |
|
<ul> |
66 |
|
<li>A thing you want to view (e.g. a PP paper, the contents |
67 |
|
of a cell)</li> |
68 |
|
<li>A place inside that thing where your focus is (you want to |
69 |
|
view the stuff around the focus)</li> |
70 |
|
<li>An area on the screen where you want to show the viewport |
71 |
|
(so that the focus is shown in the middle of the viewport, |
72 |
|
and as much of the viewed thing is shown around the focus |
73 |
|
as fits in the viewport). |
74 |
|
</ul> |
75 |
|
Calculating the position of the viewed thing relative to the viewport |
76 |
|
is easier than calculating the absolute position of the viewed thing |
77 |
|
on the screen: to calculate the position relative to the viewport, |
78 |
|
you don't need to know the viewport's position, just the focus; |
79 |
|
to calculate the absolute position on the screen, you need both, |
80 |
|
essentally translating the focus coordinates by the viewport's. |
81 |
|
<br><br> |
82 |
|
Therefore, I think that there is no need to special-case this in |
83 |
|
the API, as it's easier to do with two nested cs. |
84 |
|
</small> |
85 |
</li> |
</li> |
86 |
</ul> |
</ul> |
87 |
<br> |
<br> |