Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
95940104
Commit
95940104
authored
Oct 22, 2019
by
Ulrich Sibiller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GCOps.c: scope improvements
parent
0e2b7479
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
62 deletions
+41
-62
GCOps.c
nx-X11/programs/Xserver/hw/nxagent/GCOps.c
+41
-62
No files found.
nx-X11/programs/Xserver/hw/nxagent/GCOps.c
View file @
95940104
...
...
@@ -216,17 +216,12 @@ RegionPtr nxagentBitBlitHelper(GC *pGC)
int
nxagentWindowIsPopup
(
DrawablePtr
pDrawable
)
{
WindowPtr
parent
;
int
windowIsPopup
;
int
level
;
if
(
pDrawable
->
type
!=
DRAWABLE_WINDOW
)
{
return
0
;
}
windowIsPopup
=
0
;
int
windowIsPopup
=
0
;
if
(((
WindowPtr
)
pDrawable
)
->
overrideRedirect
==
1
)
{
...
...
@@ -234,7 +229,7 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable)
}
else
{
parent
=
((
WindowPtr
)
pDrawable
)
->
parent
;
WindowPtr
parent
=
((
WindowPtr
)
pDrawable
)
->
parent
;
/*
* Go up on the tree until a parent
...
...
@@ -243,7 +238,7 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable)
* up children's popup.
*/
level
=
0
;
int
level
=
0
;
while
(
parent
!=
NULL
&&
++
level
<=
4
)
{
...
...
@@ -255,7 +250,6 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable)
if
(
parent
->
overrideRedirect
==
1
)
{
windowIsPopup
=
1
;
break
;
}
...
...
@@ -280,10 +274,6 @@ int nxagentDeferCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr
pGC
,
int
srcx
,
int
srcy
,
int
width
,
int
height
,
int
dstx
,
int
dsty
)
{
RegionPtr
pSrcRegion
;
RegionPtr
pClipRegion
,
pCorruptedRegion
;
RegionRec
corruptedRegion
,
tmpRegion
;
/*
* If the destination drawable is a popup
* window, we try to synchronize the source
...
...
@@ -306,7 +296,7 @@ FIXME: The popup could be synchronized with one
nxagentPixmapContainTrapezoids
((
PixmapPtr
)
pSrcDrawable
)
==
1
&&
nxagentWindowIsPopup
(
pDstDrawable
)
==
1
)
{
pSrcRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
RegionPtr
pSrcRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
#ifdef DEBUG
fprintf
(
stderr
,
"nxagentDeferCopyArea: Copying to a popup menu. Source region [%d,%d,%d,%d].
\n
"
,
...
...
@@ -314,6 +304,8 @@ FIXME: The popup could be synchronized with one
pSrcRegion
->
extents
.
x2
,
pSrcRegion
->
extents
.
y2
);
#endif
RegionRec
corruptedRegion
;
RegionInit
(
&
corruptedRegion
,
NullBox
,
1
);
RegionIntersect
(
&
corruptedRegion
,
...
...
@@ -349,7 +341,7 @@ FIXME: The popup could be synchronized with one
if
((
pDstDrawable
->
type
==
DRAWABLE_PIXMAP
&&
nxagentOption
(
DeferLevel
)
>
0
)
||
nxagentOption
(
DeferLevel
)
>=
3
)
{
pClipRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
RegionPtr
pClipRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
/*
...
...
@@ -360,7 +352,7 @@ FIXME: The popup could be synchronized with one
* narrow the destination.
*/
pCorruptedRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
RegionPtr
pCorruptedRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
#ifdef DEBUG
...
...
@@ -393,6 +385,8 @@ FIXME: The popup could be synchronized with one
}
else
{
RegionRec
tmpRegion
;
RegionInit
(
&
tmpRegion
,
NullBox
,
1
);
#ifdef DEBUG
...
...
@@ -455,10 +449,6 @@ FIXME: The popup could be synchronized with one
if
(
RegionNil
(
pClipRegion
)
==
0
)
{
GCPtr
targetGC
;
CARD32
targetAttributes
[
2
];
Bool
pClipRegionFree
=
True
;
/*
...
...
@@ -468,7 +458,7 @@ FIXME: The popup could be synchronized with one
* setting a new clip mask.
*/
targetGC
=
GetScratchGC
(
pDstDrawable
->
depth
,
pDstDrawable
->
pScreen
);
GCPtr
targetGC
=
GetScratchGC
(
pDstDrawable
->
depth
,
pDstDrawable
->
pScreen
);
ValidateGC
(
pDstDrawable
,
targetGC
);
...
...
@@ -495,6 +485,8 @@ FIXME: The popup could be synchronized with one
}
else
{
CARD32
targetAttributes
[
2
];
/*
* Setting the clip mask origin. This
* operation must precede the clip chan-
...
...
@@ -563,7 +555,9 @@ FIXME: The popup could be synchronized with one
}
else
{
pSrcRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
RegionPtr
pSrcRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
RegionRec
corruptedRegion
;
#ifdef DEBUG
fprintf
(
stderr
,
"nxagentDeferCopyArea: Source region [%d,%d,%d,%d].
\n
"
,
...
...
@@ -598,12 +592,6 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr
pGC
,
int
srcx
,
int
srcy
,
int
width
,
int
height
,
int
dstx
,
int
dsty
)
{
int
leftPad
=
0
;
unsigned
int
format
;
unsigned
long
planeMask
=
0xffffffff
;
RegionPtr
pDstRegion
;
int
skip
=
0
;
#ifdef TEST
...
...
@@ -754,13 +742,14 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
nxagentIsShmPixmap
((
PixmapPtr
)
pSrcDrawable
))
{
char
*
data
;
int
depth
,
length
;
depth
=
pSrcDrawable
->
depth
;
int
depth
=
pSrcDrawable
->
depth
;
format
=
(
depth
==
1
)
?
XYPixmap
:
ZPixmap
;
unsigned
int
format
=
(
depth
==
1
)
?
XYPixmap
:
ZPixmap
;
length
=
nxagentImageLength
(
width
,
height
,
format
,
leftPad
,
depth
);
int
leftPad
=
0
;
int
length
=
nxagentImageLength
(
width
,
height
,
format
,
leftPad
,
depth
);
if
((
data
=
malloc
(
length
))
==
NULL
)
{
...
...
@@ -771,6 +760,8 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
return
NullRegion
;
}
unsigned
long
planeMask
=
0xffffffff
;
fbGetImage
(
nxagentVirtualDrawable
(
pSrcDrawable
),
srcx
,
srcy
,
width
,
height
,
format
,
planeMask
,
data
);
/*
...
...
@@ -831,7 +822,7 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
if
(
nxagentDrawableStatus
(
pDstDrawable
)
==
NotSynchronized
)
{
pDstRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
RegionPtr
pDstRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
nxagentUnmarkCorruptedRegion
(
pDstDrawable
,
pDstRegion
);
...
...
@@ -918,13 +909,6 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr
pGC
,
int
srcx
,
int
srcy
,
int
width
,
int
height
,
int
dstx
,
int
dsty
,
unsigned
long
plane
)
{
unsigned
int
format
;
int
leftPad
=
0
;
unsigned
long
planeMask
=
0xffffffff
;
RegionPtr
pSrcRegion
,
pDstRegion
;
RegionRec
corruptedRegion
;
int
skip
=
0
;
#ifdef TEST
...
...
@@ -974,13 +958,14 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
nxagentIsShmPixmap
((
PixmapPtr
)
pSrcDrawable
))
{
char
*
data
;
int
depth
,
length
;
depth
=
pSrcDrawable
->
depth
;
int
depth
=
pSrcDrawable
->
depth
;
format
=
(
depth
==
1
)
?
XYPixmap
:
ZPixmap
;
unsigned
int
format
=
(
depth
==
1
)
?
XYPixmap
:
ZPixmap
;
int
leftPad
=
0
;
length
=
nxagentImageLength
(
width
,
height
,
format
,
leftPad
,
depth
);
int
length
=
nxagentImageLength
(
width
,
height
,
format
,
leftPad
,
depth
);
if
((
data
=
malloc
(
length
))
==
NULL
)
{
...
...
@@ -991,6 +976,8 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
return
0
;
}
unsigned
long
planeMask
=
0xffffffff
;
fbGetImage
(
nxagentVirtualDrawable
(
pSrcDrawable
),
srcx
,
srcy
,
width
,
height
,
format
,
planeMask
,
data
);
/*
...
...
@@ -1024,7 +1011,7 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
if
(
pDstDrawable
->
type
==
DRAWABLE_PIXMAP
&&
nxagentOption
(
DeferLevel
)
>
0
)
{
pDstRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
RegionPtr
pDstRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
nxagentMarkCorruptedRegion
(
pDstDrawable
,
pDstRegion
);
...
...
@@ -1034,7 +1021,9 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
}
else
{
pSrcRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
RegionPtr
pSrcRegion
=
nxagentCreateRegion
(
pSrcDrawable
,
NULL
,
srcx
,
srcy
,
width
,
height
);
RegionRec
corruptedRegion
;
RegionInit
(
&
corruptedRegion
,
NullBox
,
1
);
...
...
@@ -1050,7 +1039,7 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
nxagentSynchronizeRegion
(
pSrcDrawable
,
&
corruptedRegion
/*pSrcRegion*/
,
NEVER_BREAK
,
NULL
);
pDstRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
RegionPtr
pDstRegion
=
nxagentCreateRegion
(
pDstDrawable
,
pGC
,
dstx
,
dsty
,
width
,
height
);
nxagentUnmarkCorruptedRegion
(
pDstDrawable
,
pDstRegion
);
...
...
@@ -1471,8 +1460,6 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape,
if
(
mode
==
CoordModeOrigin
)
{
int
i
;
mode
=
CoordModePrevious
;
newPoints
=
malloc
(
nPoints
*
sizeof
(
xPoint
));
...
...
@@ -1491,7 +1478,7 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape,
* tive to the previous point.
*/
for
(
i
=
1
;
i
<
nPoints
;
i
++
)
for
(
i
nt
i
=
1
;
i
<
nPoints
;
i
++
)
{
newPoints
[
i
].
x
=
pPoints
[
i
].
x
-
pPoints
[
i
-
1
].
x
;
newPoints
[
i
].
y
=
pPoints
[
i
].
y
-
pPoints
[
i
-
1
].
y
;
...
...
@@ -1551,10 +1538,6 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape,
void
nxagentPolyFillRect
(
DrawablePtr
pDrawable
,
GCPtr
pGC
,
int
nRectangles
,
xRectangle
*
pRectangles
)
{
RegionPtr
rectRegion
;
int
inheritCorruptedRegion
;
#ifdef TEST
if
(
nRectangles
==
1
)
...
...
@@ -1594,7 +1577,7 @@ void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC,
* intersecting the target will be cleared.
*/
inheritCorruptedRegion
=
0
;
in
t
in
heritCorruptedRegion
=
0
;
if
(
pGC
->
fillStyle
==
FillTiled
&&
pGC
->
tileIsPixel
==
0
&&
pGC
->
tile
.
pixmap
!=
NULL
)
...
...
@@ -1616,7 +1599,7 @@ void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC,
if
(
inheritCorruptedRegion
==
1
||
nxagentDrawableStatus
(
pDrawable
)
==
NotSynchronized
)
{
rectRegion
=
RegionFromRects
(
nRectangles
,
pRectangles
,
CT_REGION
);
RegionPtr
rectRegion
=
RegionFromRects
(
nRectangles
,
pRectangles
,
CT_REGION
);
if
(
pGC
->
clientClip
!=
NULL
)
{
...
...
@@ -1784,8 +1767,6 @@ void nxagentPolyFillArc(DrawablePtr pDrawable, GCPtr pGC,
int
nxagentPolyText8
(
DrawablePtr
pDrawable
,
GCPtr
pGC
,
int
x
,
int
y
,
int
count
,
char
*
string
)
{
int
width
;
/*
* While the session is suspended
* the font structure is NULL.
...
...
@@ -1796,7 +1777,7 @@ int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x,
return
x
;
}
width
=
XTextWidth
(
nxagentFontStruct
(
pGC
->
font
),
string
,
count
);
int
width
=
XTextWidth
(
nxagentFontStruct
(
pGC
->
font
),
string
,
count
);
if
(
nxagentGCTrap
==
1
)
{
...
...
@@ -1857,8 +1838,6 @@ int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x,
int
nxagentPolyText16
(
DrawablePtr
pDrawable
,
GCPtr
pGC
,
int
x
,
int
y
,
int
count
,
unsigned
short
*
string
)
{
int
width
;
/*
* While the session is suspended
* the font structure is NULL.
...
...
@@ -1869,7 +1848,7 @@ int nxagentPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x,
return
x
;
}
width
=
XTextWidth16
(
nxagentFontStruct
(
pGC
->
font
),
(
XChar2b
*
)
string
,
count
);
int
width
=
XTextWidth16
(
nxagentFontStruct
(
pGC
->
font
),
(
XChar2b
*
)
string
,
count
);
if
(
nxagentGCTrap
==
1
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment