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
5f806ddf
Unverified
Commit
5f806ddf
authored
Nov 02, 2019
by
Mike Gabriel
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'uli42-pr/simplify_nxglyph' into 3.6.x
Attributes GH PR #865:
https://github.com/ArcticaProject/nx-libs/pull/865
parents
03d31d2a
fcbd2710
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
38 deletions
+45
-38
NXglyph.c
nx-X11/programs/Xserver/hw/nxagent/NXglyph.c
+32
-20
NXglyphcurs.c
nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
+13
-18
No files found.
nx-X11/programs/Xserver/hw/nxagent/NXglyph.c
View file @
5f806ddf
...
...
@@ -161,30 +161,35 @@ AddGlyph (GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id)
CheckDuplicates
(
&
globalGlyphs
[
glyphSet
->
fdepth
],
"AddGlyph bottom"
);
}
GlyphPtr
FindGlyph
(
GlyphSetPtr
glyphSet
,
Glyph
id
)
GlyphPtr
FindGlyph
(
GlyphSetPtr
glyphSet
,
Glyph
id
)
{
GlyphRefPtr
gr
;
GlyphPtr
glyph
;
gr
=
FindGlyphRef
(
&
glyphSet
->
hash
,
id
,
FALSE
,
0
);
glyph
=
gr
->
glyph
;
if
(
glyph
==
DeletedGlyph
)
{
glyph
=
0
;
}
else
if
(
gr
->
corruptedGlyph
==
1
)
{
#ifdef DEBUG
fprintf
(
stderr
,
"FindGlyphRef: Going to synchronize the glyph [%p] for glyphset [%p].
\n
"
,
GlyphPtr
glyph
;
#ifdef NXAGENT_SERVER
GlyphRefPtr
gr
=
FindGlyphRef
(
&
glyphSet
->
hash
,
id
,
FALSE
,
0
);
glyph
=
gr
->
glyph
;
#else
glyph
=
FindGlyphRef
(
&
glyphSet
->
hash
,
id
,
FALSE
,
0
)
->
glyph
;
#endif
if
(
glyph
==
DeletedGlyph
)
{
glyph
=
0
;
}
#ifdef NXAGENT_SERVER
else
if
(
gr
->
corruptedGlyph
==
1
)
{
#ifdef DEBUG
fprintf
(
stderr
,
"FindGlyphRef: Going to synchronize the glyph [%p] for glyphset [%p].
\n
"
,
(
void
*
)
glyph
,
(
void
*
)
glyphSet
);
#endif
#endif
nxagentAddGlyphs
(
glyphSet
,
&
id
,
&
(
glyph
->
info
),
1
,
nxagentAddGlyphs
(
glyphSet
,
&
id
,
&
(
glyph
->
info
),
1
,
(
CARD8
*
)(
glyph
+
1
),
glyph
->
size
-
sizeof
(
xGlyphInfo
));
}
}
#endif
return
glyph
;
return
glyph
;
}
Bool
...
...
@@ -269,18 +274,21 @@ miGlyphs (CARD8 op,
BoxRec
extents
;
CARD32
component_alpha
;
#ifdef NXAGENT_SERVER
/*
* Get rid of the warning.
*/
extents
.
x1
=
0
;
extents
.
y1
=
0
;
#endif
if
(
maskFormat
)
{
GCPtr
pGC
;
xRectangle
rect
;
#ifdef NXAGENT_SERVER
if
(
nxagentGlyphsExtents
!=
NullBox
)
{
memcpy
(
&
extents
,
nxagentGlyphsExtents
,
sizeof
(
BoxRec
));
...
...
@@ -293,6 +301,9 @@ miGlyphs (CARD8 op,
memcpy
(
nxagentGlyphsExtents
,
&
extents
,
sizeof
(
BoxRec
));
}
#else
GlyphExtents
(
nlist
,
list
,
glyphs
,
&
extents
);
#endif
if
(
extents
.
x2
<=
extents
.
x1
||
extents
.
y2
<=
extents
.
y1
)
return
;
...
...
@@ -364,6 +375,7 @@ miGlyphs (CARD8 op,
glyph
->
info
.
width
,
glyph
->
info
.
height
,
0
,
0
,
-
1
,
(
void
*
)
(
glyph
+
1
));
#ifdef NXAGENT_SERVER
/*
* The following line fixes a problem with glyphs that appeared
* as clipped. It was a side effect due the validate function
...
...
@@ -373,7 +385,7 @@ miGlyphs (CARD8 op,
*/
pPicture
->
pDrawable
->
serialNumber
=
NEXT_SERIAL_NUMBER
;
#endif
pPixmap
->
drawable
.
serialNumber
=
NEXT_SERIAL_NUMBER
;
if
(
maskFormat
)
{
...
...
nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
View file @
5f806ddf
...
...
@@ -100,6 +100,7 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, uns
PixmapPtr
ppix
;
long
nby
;
char
*
pbits
;
ChangeGCVal
gcval
[
3
];
unsigned
char
char2b
[
2
];
/* turn glyph index into a protocol-format char2b */
...
...
@@ -114,7 +115,8 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, uns
/* zeroing the (pad) bits seems to help some ddx cursor handling */
bzero
(
pbits
,
nby
);
ppix
=
fbCreatePixmap
(
pScreen
,
cm
->
width
,
cm
->
height
,
1
,
ppix
=
fbCreatePixmap
(
pScreen
,
cm
->
width
,
cm
->
height
,
1
,
CREATE_PIXMAP_USAGE_SCRATCH
);
pGC
=
GetScratchGC
(
1
,
pScreen
);
if
(
!
ppix
||
!
pGC
)
...
...
@@ -143,28 +145,21 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, uns
rect
.
width
=
cm
->
width
;
rect
.
height
=
cm
->
height
;
pGC
->
stateChanges
|=
GCFunction
|
GCForeground
|
GCFont
;
pGC
->
alu
=
GXcopy
;
pGC
->
fgPixel
=
0
;
pfont
->
refcnt
++
;
if
(
pGC
->
font
)
CloseFont
(
pGC
->
font
,
(
Font
)
0
);
pGC
->
font
=
pfont
;
/* fill the pixmap with 0 */
gcval
[
0
].
val
=
GXcopy
;
gcval
[
1
].
val
=
0
;
gcval
[
2
].
ptr
=
(
void
*
)
pfont
;
dixChangeGC
(
NullClient
,
pGC
,
GCFunction
|
GCForeground
|
GCFont
,
NULL
,
gcval
);
ValidateGC
((
DrawablePtr
)
ppix
,
pGC
);
fbPolyFillRect
((
DrawablePtr
)
ppix
,
pGC
,
1
,
&
rect
);
/* draw the glyph */
pGC
->
fgPixel
=
1
;
pGC
->
stateChanges
|=
GCForeground
;
gcval
[
0
].
val
=
1
;
dixChangeGC
(
NullClient
,
pGC
,
GCForeground
,
NULL
,
gcval
);
ValidateGC
((
DrawablePtr
)
ppix
,
pGC
);
miPolyText16
((
DrawablePtr
)
ppix
,
pGC
,
(
int
)
cm
->
xhot
,
(
int
)
cm
->
yhot
,
(
int
)
1
,
(
unsigned
short
*
)
char2b
);
miPolyText16
((
DrawablePtr
)
ppix
,
pGC
,
(
int
)
cm
->
xhot
,
(
int
)
cm
->
yhot
,
(
int
)
1
,
(
unsigned
short
*
)
char2b
);
fbGetImage
((
DrawablePtr
)
ppix
,
0
,
0
,
cm
->
width
,
cm
->
height
,
XYPixmap
,
1
,
pbits
);
*
ppbits
=
(
unsigned
char
*
)
pbits
;
...
...
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