forked from 12to11/12to11
Remove broken tests in subcompositor.c
These tests have already been superseeded by the more comprehensive tests in subsurface_tests.c (and to a lesser extent under tests/*.c in general), and do not build anymore. * subcompositor.c (TEST_STATIC): Remove define. (IsTargetAttached, ClearPreviouslyTransformed, struct _View) (struct _Subcompositor, MakeSubcompositor, MakeView) (SubcompositorInsert, SubcompositorInsertBefore) (SubcompositorInsertAfter, ViewInsert, ViewInsertAfter) (ViewInsertBefore, ViewInsertStart, ViewUnparent) (ViewSetSubcompositor, PrintView, PrintSubcompositor, TestView) (TestSubcompositor, main): Delete all code under #ifdef TEST.
This commit is contained in:
parent
bf568311a6
commit
18d18aabb5
1 changed files with 11 additions and 267 deletions
278
subcompositor.c
278
subcompositor.c
|
@ -17,8 +17,6 @@ for more details.
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with 12to11. If not, see <https://www.gnu.org/licenses/>. */
|
along with 12to11. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -26,22 +24,6 @@ along with 12to11. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include "compositor.h"
|
#include "compositor.h"
|
||||||
|
|
||||||
#define TEST_STATIC
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef int Bool;
|
|
||||||
|
|
||||||
#define True 1
|
|
||||||
#define False 0
|
|
||||||
|
|
||||||
typedef struct _View View;
|
|
||||||
typedef struct _List List;
|
|
||||||
typedef struct _Subcompositor Subcompositor;
|
|
||||||
|
|
||||||
#define TEST_STATIC static
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* This module implements a "subcompositor" that composites together
|
/* This module implements a "subcompositor" that composites together
|
||||||
the contents of hierarchies of "views", each of which have attached
|
the contents of hierarchies of "views", each of which have attached
|
||||||
ExtBuffers and other assorted state.
|
ExtBuffers and other assorted state.
|
||||||
|
@ -178,8 +160,6 @@ enum
|
||||||
#define IsTargetAttached(subcompositor) \
|
#define IsTargetAttached(subcompositor) \
|
||||||
((subcompositor)->state & SubcompositorIsTargetAttached)
|
((subcompositor)->state & SubcompositorIsTargetAttached)
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
/* This means that the view and all its inferiors should be
|
/* This means that the view and all its inferiors should be
|
||||||
|
@ -226,8 +206,6 @@ enum
|
||||||
#define ClearPreviouslyTransformed(view) \
|
#define ClearPreviouslyTransformed(view) \
|
||||||
((view)->flags &= ~ViewIsPreviouslyTransformed)
|
((view)->flags &= ~ViewIsPreviouslyTransformed)
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _List
|
struct _List
|
||||||
{
|
{
|
||||||
/* Pointer to the next element of this list.
|
/* Pointer to the next element of this list.
|
||||||
|
@ -270,7 +248,6 @@ struct _View
|
||||||
|
|
||||||
/* Buffer data. */
|
/* Buffer data. */
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* Width and height of the view. Not valid until
|
/* Width and height of the view. Not valid until
|
||||||
ViewAfterSizeUpdate! */
|
ViewAfterSizeUpdate! */
|
||||||
int width, height;
|
int width, height;
|
||||||
|
@ -317,10 +294,6 @@ struct _View
|
||||||
/* Fractional offset applied to the view contents and damage during
|
/* Fractional offset applied to the view contents and damage during
|
||||||
compositing. */
|
compositing. */
|
||||||
double fract_x, fract_y;
|
double fract_x, fract_y;
|
||||||
#else
|
|
||||||
/* Label used during tests. */
|
|
||||||
const char *label;
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Subcompositor
|
struct _Subcompositor
|
||||||
|
@ -331,7 +304,6 @@ struct _Subcompositor
|
||||||
/* Toplevel children of this subcompositor. */
|
/* Toplevel children of this subcompositor. */
|
||||||
List *children, *last_children;
|
List *children, *last_children;
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* Target this subcompositor draws to. */
|
/* Target this subcompositor draws to. */
|
||||||
RenderTarget target;
|
RenderTarget target;
|
||||||
|
|
||||||
|
@ -388,14 +360,11 @@ struct _Subcompositor
|
||||||
|
|
||||||
/* An additional offset to apply when drawing to the target. */
|
/* An additional offset to apply when drawing to the target. */
|
||||||
int tx, ty;
|
int tx, ty;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Various flags describing the state of this subcompositor. */
|
/* Various flags describing the state of this subcompositor. */
|
||||||
int state;
|
int state;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
DoMinX = 1,
|
DoMinX = 1,
|
||||||
|
@ -405,8 +374,6 @@ enum
|
||||||
DoAll = 0xf,
|
DoAll = 0xf,
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* "Four corners" damage simplification algorithm. If the number of
|
/* "Four corners" damage simplification algorithm. If the number of
|
||||||
rectangles in the damage exceeds some preset number, then the
|
rectangles in the damage exceeds some preset number, then the
|
||||||
damage is considered too complicated to draw efficiently.
|
damage is considered too complicated to draw efficiently.
|
||||||
|
@ -581,7 +548,7 @@ ListUnlink (List *start, List *end)
|
||||||
end->next = start;
|
end->next = start;
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC Subcompositor *
|
Subcompositor *
|
||||||
MakeSubcompositor (void)
|
MakeSubcompositor (void)
|
||||||
{
|
{
|
||||||
Subcompositor *subcompositor;
|
Subcompositor *subcompositor;
|
||||||
|
@ -603,7 +570,7 @@ MakeSubcompositor (void)
|
||||||
return subcompositor;
|
return subcompositor;
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC View *
|
View *
|
||||||
MakeView (void)
|
MakeView (void)
|
||||||
{
|
{
|
||||||
View *view;
|
View *view;
|
||||||
|
@ -624,7 +591,6 @@ MakeView (void)
|
||||||
view->children = ListInit (NULL);
|
view->children = ListInit (NULL);
|
||||||
view->children_last = view->children;
|
view->children_last = view->children;
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
view->buffer = NULL;
|
view->buffer = NULL;
|
||||||
|
|
||||||
pixman_region32_init (&view->damage);
|
pixman_region32_init (&view->damage);
|
||||||
|
@ -632,13 +598,10 @@ MakeView (void)
|
||||||
pixman_region32_init (&view->input);
|
pixman_region32_init (&view->input);
|
||||||
|
|
||||||
view->transform = Normal;
|
view->transform = Normal;
|
||||||
#endif
|
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ViewMaxX (View *view)
|
ViewMaxX (View *view)
|
||||||
{
|
{
|
||||||
|
@ -780,10 +743,6 @@ SubcompositorUpdateBoundsForInsert (Subcompositor *subcompositor,
|
||||||
subcompositor->max_y = ViewMaxY (view);
|
subcompositor->max_y = ViewMaxY (view);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
void
|
void
|
||||||
SubcompositorSetTarget (Subcompositor *compositor,
|
SubcompositorSetTarget (Subcompositor *compositor,
|
||||||
RenderTarget *target_in)
|
RenderTarget *target_in)
|
||||||
|
@ -801,8 +760,6 @@ SubcompositorSetTarget (Subcompositor *compositor,
|
||||||
SetGarbaged (compositor);
|
SetGarbaged (compositor);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SkipSlug(list, view, next) \
|
#define SkipSlug(list, view, next) \
|
||||||
{ \
|
{ \
|
||||||
if (!list->view) \
|
if (!list->view) \
|
||||||
|
@ -898,7 +855,7 @@ DamageIncludingInferiors (View *parent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
SubcompositorInsert (Subcompositor *compositor, View *view)
|
SubcompositorInsert (Subcompositor *compositor, View *view)
|
||||||
{
|
{
|
||||||
/* Link view into the list of children. */
|
/* Link view into the list of children. */
|
||||||
|
@ -908,7 +865,6 @@ SubcompositorInsert (Subcompositor *compositor, View *view)
|
||||||
ListRelinkBefore (view->link, view->inferior,
|
ListRelinkBefore (view->link, view->inferior,
|
||||||
compositor->last);
|
compositor->last);
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* And update bounds. */
|
/* And update bounds. */
|
||||||
SubcompositorUpdateBoundsForInsert (compositor, view);
|
SubcompositorUpdateBoundsForInsert (compositor, view);
|
||||||
|
|
||||||
|
@ -916,10 +872,9 @@ SubcompositorInsert (Subcompositor *compositor, View *view)
|
||||||
inferior of the view. */
|
inferior of the view. */
|
||||||
if (!IsGarbaged (compositor))
|
if (!IsGarbaged (compositor))
|
||||||
DamageIncludingInferiors (view);
|
DamageIncludingInferiors (view);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
SubcompositorInsertBefore (Subcompositor *compositor, View *view,
|
SubcompositorInsertBefore (Subcompositor *compositor, View *view,
|
||||||
View *sibling)
|
View *sibling)
|
||||||
{
|
{
|
||||||
|
@ -930,7 +885,6 @@ SubcompositorInsertBefore (Subcompositor *compositor, View *view,
|
||||||
/* Make view's inferiors part of the compositor. */
|
/* Make view's inferiors part of the compositor. */
|
||||||
ListRelinkBefore (view->link, view->inferior, sibling->link);
|
ListRelinkBefore (view->link, view->inferior, sibling->link);
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* And update bounds. */
|
/* And update bounds. */
|
||||||
SubcompositorUpdateBoundsForInsert (compositor, view);
|
SubcompositorUpdateBoundsForInsert (compositor, view);
|
||||||
|
|
||||||
|
@ -938,10 +892,9 @@ SubcompositorInsertBefore (Subcompositor *compositor, View *view,
|
||||||
inferior of the view. */
|
inferior of the view. */
|
||||||
if (!IsGarbaged (compositor))
|
if (!IsGarbaged (compositor))
|
||||||
DamageIncludingInferiors (view);
|
DamageIncludingInferiors (view);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
SubcompositorInsertAfter (Subcompositor *compositor, View *view,
|
SubcompositorInsertAfter (Subcompositor *compositor, View *view,
|
||||||
View *sibling)
|
View *sibling)
|
||||||
{
|
{
|
||||||
|
@ -951,7 +904,6 @@ SubcompositorInsertAfter (Subcompositor *compositor, View *view,
|
||||||
/* Make view's inferiors part of the compositor. */
|
/* Make view's inferiors part of the compositor. */
|
||||||
ListRelinkAfter (view->link, view->inferior, sibling->inferior);
|
ListRelinkAfter (view->link, view->inferior, sibling->inferior);
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* And update bounds. */
|
/* And update bounds. */
|
||||||
SubcompositorUpdateBoundsForInsert (compositor, view);
|
SubcompositorUpdateBoundsForInsert (compositor, view);
|
||||||
|
|
||||||
|
@ -959,10 +911,8 @@ SubcompositorInsertAfter (Subcompositor *compositor, View *view,
|
||||||
inferior of the view. */
|
inferior of the view. */
|
||||||
if (!IsGarbaged (compositor))
|
if (!IsGarbaged (compositor))
|
||||||
DamageIncludingInferiors (view);
|
DamageIncludingInferiors (view);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
ViewVisibilityState (View *view, Bool *mapped)
|
ViewVisibilityState (View *view, Bool *mapped)
|
||||||
|
@ -1076,9 +1026,7 @@ ViewUpdateBoundsForInsert (View *view)
|
||||||
view);
|
view);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
void
|
||||||
|
|
||||||
TEST_STATIC void
|
|
||||||
ViewInsert (View *view, View *child)
|
ViewInsert (View *view, View *child)
|
||||||
{
|
{
|
||||||
View *parent;
|
View *parent;
|
||||||
|
@ -1109,7 +1057,6 @@ ViewInsert (View *view, View *child)
|
||||||
/* Now that the view hierarchy has been changed, garbage the
|
/* Now that the view hierarchy has been changed, garbage the
|
||||||
subcompositor. */
|
subcompositor. */
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* Also update the absolute positions of the child. */
|
/* Also update the absolute positions of the child. */
|
||||||
child->abs_x = view->abs_x + child->x;
|
child->abs_x = view->abs_x + child->x;
|
||||||
child->abs_y = view->abs_y + child->y;
|
child->abs_y = view->abs_y + child->y;
|
||||||
|
@ -1123,10 +1070,9 @@ ViewInsert (View *view, View *child)
|
||||||
if (view->subcompositor
|
if (view->subcompositor
|
||||||
&& !IsGarbaged (view->subcompositor))
|
&& !IsGarbaged (view->subcompositor))
|
||||||
DamageIncludingInferiors (view);
|
DamageIncludingInferiors (view);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
ViewInsertAfter (View *view, View *child, View *sibling)
|
ViewInsertAfter (View *view, View *child, View *sibling)
|
||||||
{
|
{
|
||||||
View *parent;
|
View *parent;
|
||||||
|
@ -1161,7 +1107,6 @@ ViewInsertAfter (View *view, View *child, View *sibling)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* Also update the absolute positions of the child. */
|
/* Also update the absolute positions of the child. */
|
||||||
child->abs_x = view->abs_x + child->x;
|
child->abs_x = view->abs_x + child->x;
|
||||||
child->abs_y = view->abs_y + child->y;
|
child->abs_y = view->abs_y + child->y;
|
||||||
|
@ -1175,10 +1120,9 @@ ViewInsertAfter (View *view, View *child, View *sibling)
|
||||||
if (view->subcompositor
|
if (view->subcompositor
|
||||||
&& !IsGarbaged (view->subcompositor))
|
&& !IsGarbaged (view->subcompositor))
|
||||||
DamageIncludingInferiors (view);
|
DamageIncludingInferiors (view);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
ViewInsertBefore (View *view, View *child, View *sibling)
|
ViewInsertBefore (View *view, View *child, View *sibling)
|
||||||
{
|
{
|
||||||
/* Make child's parent view. */
|
/* Make child's parent view. */
|
||||||
|
@ -1191,7 +1135,6 @@ ViewInsertBefore (View *view, View *child, View *sibling)
|
||||||
ListRelinkBefore (child->link, child->inferior,
|
ListRelinkBefore (child->link, child->inferior,
|
||||||
sibling->link);
|
sibling->link);
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
/* Also update the absolute positions of the child. */
|
/* Also update the absolute positions of the child. */
|
||||||
child->abs_x = view->abs_x + child->x;
|
child->abs_x = view->abs_x + child->x;
|
||||||
child->abs_y = view->abs_y + child->y;
|
child->abs_y = view->abs_y + child->y;
|
||||||
|
@ -1206,13 +1149,12 @@ ViewInsertBefore (View *view, View *child, View *sibling)
|
||||||
if (view->subcompositor
|
if (view->subcompositor
|
||||||
&& !IsGarbaged (view->subcompositor))
|
&& !IsGarbaged (view->subcompositor))
|
||||||
DamageIncludingInferiors (view);
|
DamageIncludingInferiors (view);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Inserting inferiors before a sibling can never bump the inferior
|
/* Inserting inferiors before a sibling can never bump the inferior
|
||||||
pointer. */
|
pointer. */
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
ViewInsertStart (View *view, View *child)
|
ViewInsertStart (View *view, View *child)
|
||||||
{
|
{
|
||||||
/* If view has no children, just call ViewInsert. Note that
|
/* If view has no children, just call ViewInsert. Note that
|
||||||
|
@ -1225,7 +1167,7 @@ ViewInsertStart (View *view, View *child)
|
||||||
view->children->next->view);
|
view->children->next->view);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
ViewUnparent (View *child)
|
ViewUnparent (View *child)
|
||||||
{
|
{
|
||||||
View *parent;
|
View *parent;
|
||||||
|
@ -1275,12 +1217,10 @@ ViewUnparent (View *child)
|
||||||
children. This is done after unlinking, because
|
children. This is done after unlinking, because
|
||||||
ViewRecomputeChildren will otherwise try to operate on the
|
ViewRecomputeChildren will otherwise try to operate on the
|
||||||
subcompositor. */
|
subcompositor. */
|
||||||
#ifndef TEST
|
|
||||||
child->abs_x = child->x;
|
child->abs_x = child->x;
|
||||||
child->abs_y = child->y;
|
child->abs_y = child->y;
|
||||||
|
|
||||||
ViewRecomputeChildren (child, NULL);
|
ViewRecomputeChildren (child, NULL);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Now that the view hierarchy has been changed, garbage the
|
/* Now that the view hierarchy has been changed, garbage the
|
||||||
subcompositor. TODO: an optimization for removing views would be
|
subcompositor. TODO: an optimization for removing views would be
|
||||||
|
@ -1288,7 +1228,6 @@ ViewUnparent (View *child)
|
||||||
view bounds did not change. */
|
view bounds did not change. */
|
||||||
if (child->subcompositor)
|
if (child->subcompositor)
|
||||||
{
|
{
|
||||||
#ifndef TEST
|
|
||||||
/* Update the bounds of the subcompositor. */
|
/* Update the bounds of the subcompositor. */
|
||||||
SubcompositorUpdateBounds (child->subcompositor, DoAll);
|
SubcompositorUpdateBounds (child->subcompositor, DoAll);
|
||||||
|
|
||||||
|
@ -1298,7 +1237,6 @@ ViewUnparent (View *child)
|
||||||
pixman_region32_union (&child->subcompositor->additional_damage,
|
pixman_region32_union (&child->subcompositor->additional_damage,
|
||||||
&child->subcompositor->additional_damage,
|
&child->subcompositor->additional_damage,
|
||||||
&damage);
|
&damage);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (attached && child->subcompositor)
|
if (attached && child->subcompositor)
|
||||||
|
@ -1306,7 +1244,7 @@ ViewUnparent (View *child)
|
||||||
pixman_region32_fini (&damage);
|
pixman_region32_fini (&damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_STATIC void
|
void
|
||||||
ViewSetSubcompositor (View *view, Subcompositor *subcompositor)
|
ViewSetSubcompositor (View *view, Subcompositor *subcompositor)
|
||||||
{
|
{
|
||||||
List *list;
|
List *list;
|
||||||
|
@ -1326,200 +1264,8 @@ ViewSetSubcompositor (View *view, Subcompositor *subcompositor)
|
||||||
while (list != view->link);
|
while (list != view->link);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TEST
|
|
||||||
|
|
||||||
/* The depth of the current view being printed. */
|
|
||||||
|
|
||||||
static int print_level;
|
|
||||||
|
|
||||||
static void
|
|
||||||
PrintView (View *view)
|
|
||||||
{
|
|
||||||
List *list;
|
|
||||||
|
|
||||||
printf ("%*c%s\n", print_level * 2, ' ',
|
|
||||||
view->label);
|
|
||||||
|
|
||||||
print_level++;
|
|
||||||
list = view->children;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (list->view)
|
|
||||||
PrintView (list->view);
|
|
||||||
list = list->next;
|
|
||||||
}
|
|
||||||
while (list != view->children);
|
|
||||||
print_level--;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
PrintSubcompositor (Subcompositor *compositor)
|
|
||||||
{
|
|
||||||
List *list;
|
|
||||||
|
|
||||||
list = compositor->children;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (list->view)
|
|
||||||
PrintView (list->view);
|
|
||||||
list = list->next;
|
|
||||||
}
|
|
||||||
while (list != compositor->children);
|
|
||||||
|
|
||||||
list = compositor->inferiors;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (list->view)
|
|
||||||
printf ("[%s], ", list->view->label);
|
|
||||||
list = list->next;
|
|
||||||
fflush (stdout);
|
|
||||||
}
|
|
||||||
while (list != compositor->inferiors);
|
|
||||||
|
|
||||||
fflush (stdout);
|
|
||||||
printf ("\n");
|
|
||||||
fflush (stdout);
|
|
||||||
|
|
||||||
for (list = compositor->last->last;
|
|
||||||
list != compositor->last; list = list->last)
|
|
||||||
{
|
|
||||||
if (list->view)
|
|
||||||
printf ("(%s), ", list->view->label);
|
|
||||||
fflush (stdout);
|
|
||||||
}
|
|
||||||
printf ("\n");
|
|
||||||
fflush (stdout);
|
|
||||||
}
|
|
||||||
|
|
||||||
static View *
|
|
||||||
TestView (Subcompositor *compositor, const char *label)
|
|
||||||
{
|
|
||||||
View *view;
|
|
||||||
|
|
||||||
view = MakeView ();
|
|
||||||
view->label = label;
|
|
||||||
|
|
||||||
ViewSetSubcompositor (view, compositor);
|
|
||||||
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
TestSubcompositor (void)
|
|
||||||
{
|
|
||||||
Subcompositor *compositor;
|
|
||||||
View *a, *b, *c, *d, *e, *f, *g, *h, *i, *j;
|
|
||||||
View *k, *l, *m, *n, *o, *p;
|
|
||||||
|
|
||||||
compositor = MakeSubcompositor ();
|
|
||||||
a = TestView (compositor, "A");
|
|
||||||
b = TestView (compositor, "B");
|
|
||||||
c = TestView (compositor, "C");
|
|
||||||
d = TestView (compositor, "D");
|
|
||||||
e = TestView (compositor, "E");
|
|
||||||
f = TestView (compositor, "F");
|
|
||||||
g = TestView (compositor, "G");
|
|
||||||
h = TestView (compositor, "H");
|
|
||||||
i = TestView (compositor, "I");
|
|
||||||
j = TestView (compositor, "J");
|
|
||||||
k = TestView (compositor, "K");
|
|
||||||
l = TestView (compositor, "L");
|
|
||||||
m = TestView (compositor, "M");
|
|
||||||
n = TestView (compositor, "N");
|
|
||||||
o = TestView (compositor, "O");
|
|
||||||
p = TestView (compositor, "P");
|
|
||||||
|
|
||||||
printf ("SubcompositorInsert (COMPOSITOR, A)\n");
|
|
||||||
SubcompositorInsert (compositor, a);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
printf ("ViewInsert (A, D)\n");
|
|
||||||
ViewInsert (a, d);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
printf ("ViewInsert (A, E)\n");
|
|
||||||
ViewInsert (a, e);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
printf ("ViewInsert (B, F)\n");
|
|
||||||
ViewInsert (b, f);
|
|
||||||
printf ("ViewInsert (B, G)\n");
|
|
||||||
ViewInsert (b, g);
|
|
||||||
printf ("SubcompositorInsert (COMPOSITOR, B)\n");
|
|
||||||
SubcompositorInsert (compositor, b);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
printf ("ViewInsert (C, H)\n");
|
|
||||||
ViewInsert (c, h);
|
|
||||||
printf ("SubcompositorInsert (COMPOSITOR, C)\n");
|
|
||||||
SubcompositorInsert (compositor, c);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
printf ("ViewInsert (C, I)\n");
|
|
||||||
ViewInsert (c, i);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsert (A, J)\n");
|
|
||||||
ViewInsert (a, j);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewUnparent (A)\n");
|
|
||||||
ViewUnparent (a);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewUnparent (C)\n");
|
|
||||||
ViewUnparent (c);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewUnparent (G)\n");
|
|
||||||
ViewUnparent (g);
|
|
||||||
printf ("ViewUnparent (J)\n");
|
|
||||||
ViewUnparent (j);
|
|
||||||
printf ("ViewInsert (G, J)\n");
|
|
||||||
ViewInsert (g, j);
|
|
||||||
printf ("SubcompositorInsert (COMPOSITOR, G)\n");
|
|
||||||
SubcompositorInsert (compositor, g);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsertBefore (G, C, J)\n");
|
|
||||||
ViewInsertBefore (g, c, j);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsertAfter (C, A, H)\n");
|
|
||||||
ViewInsertAfter (c, a, h);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsert (K, L)\n");
|
|
||||||
ViewInsert (k, l);
|
|
||||||
|
|
||||||
printf ("SubcompositorInsertBefore (COMPOSITOR, K, G)\n");
|
|
||||||
SubcompositorInsertBefore (compositor, k, g);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("SubcompositorInsertAfter (COMPOSITOR, M, B)\n");
|
|
||||||
SubcompositorInsertAfter (compositor, m, b);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsert (M, N)\n");
|
|
||||||
ViewInsert (m, n);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsertStart (M, O)\n");
|
|
||||||
ViewInsertStart (m, o);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
|
|
||||||
printf ("ViewInsertStart (L, P)\n");
|
|
||||||
ViewInsertStart (l, p);
|
|
||||||
PrintSubcompositor (compositor);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
TestSubcompositor ();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef TEST
|
|
||||||
|
|
||||||
/* Notice that VIEW's size has changed, while VIEW itself has not
|
/* Notice that VIEW's size has changed, while VIEW itself has not
|
||||||
moved. Recompute the max_x, min_x, min_y, and max_y of its
|
moved. Recompute the max_x, min_x, min_y, and max_y of its
|
||||||
subcompositor. In addition, run the view's resize function, if
|
subcompositor. In addition, run the view's resize function, if
|
||||||
|
@ -3513,5 +3259,3 @@ SubcompositorHeight (Subcompositor *subcompositor)
|
||||||
{
|
{
|
||||||
return subcompositor->max_y - subcompositor->min_y + 1;
|
return subcompositor->max_y - subcompositor->min_y + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue