[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/pgtk 330a346 012/100: Migrate to Emacs_GC
From: |
Yuuki Harano |
Subject: |
feature/pgtk 330a346 012/100: Migrate to Emacs_GC |
Date: |
Tue, 24 Nov 2020 08:02:26 -0500 (EST) |
branch: feature/pgtk
commit 330a346ca734d39c0233ef899e044d05e0e1ebe9
Author: Yuuki Harano <masm+github@masm11.me>
Commit: Jeff Walsh <fejfighter@gmail.com>
Migrate to Emacs_GC
* ../src/xfaces.c (x_create_gc, x_free_gc):
* ../src/pgtkterm.h (struct pgtk_output, struct pgtk_output):
* ../src/pgtkterm.c (x_set_cursor_gc, x_set_mouse_face_gc)
(x_setup_relief_color, x_draw_image_foreground_1)
(x_draw_image_foreground)
(pgtk_cr_draw_image, pgtk_draw_fringe_bitmap)
(pgtk_begin_cr_clip, pgtk_set_cr_source_with_gc_foreground)
(pgtk_set_cr_source_with_gc_background):
* ../src/pgtkgui.h:
* ../src/dispextern.h (struct glyph_string): clean up XGCValues emulation
XGCValues, GC 廃止。
Emacs_GC に統一。
---
src/dispextern.h | 2 +-
src/pgtkgui.h | 21 +--------------------
src/pgtkterm.c | 14 +++++++-------
src/pgtkterm.h | 8 ++++----
src/xfaces.c | 8 ++++----
5 files changed, 17 insertions(+), 36 deletions(-)
diff --git a/src/dispextern.h b/src/dispextern.h
index 35e1210..126f2cb 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1402,7 +1402,7 @@ struct glyph_string
HDC hdc;
#endif
#if defined (HAVE_PGTK)
- XGCValues xgcv;
+ Emacs_GC xgcv;
#endif
/* A pointer to the first glyph in the string. This glyph
diff --git a/src/pgtkgui.h b/src/pgtkgui.h
index 27e94b2..e7e614e 100644
--- a/src/pgtkgui.h
+++ b/src/pgtkgui.h
@@ -43,26 +43,7 @@ typedef unichar XChar2b;
(*(chp) & 0x00ff)
-/* XXX: xfaces requires these structures, but the question is are we
- forced to use them? */
-typedef struct _XGCValues
-{
- unsigned long foreground;
- unsigned long background;
- void *font;
-} XGCValues;
-
-typedef XGCValues * GC;
-
-#define GCForeground 0x01
-#define GCBackground 0x02
-#define GCFont 0x03
-
-typedef void *Pixmap;
-
-typedef void *Cursor;
-
-#define No_Cursor (0)
+typedef void *Emacs_Cursor;
typedef void * Color;
typedef int Window;
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index ed8d7e8..9fbf41c 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -754,7 +754,7 @@ x_set_cursor_gc (struct glyph_string *s)
else
{
/* Cursor on non-default face: must merge. */
- XGCValues xgcv;
+ Emacs_GC xgcv;
PGTK_TRACE("x_set_cursor_gc: 2.");
xgcv.background = FRAME_X_OUTPUT(s->f)->cursor_color;
@@ -815,7 +815,7 @@ x_set_mouse_face_gc (struct glyph_string *s)
{
/* Otherwise construct scratch_cursor_gc with values from FACE
except for FONT. */
- XGCValues xgcv;
+ Emacs_GC xgcv;
xgcv.background = s->face->background;
xgcv.foreground = s->face->foreground;
@@ -1433,7 +1433,7 @@ static void
x_setup_relief_color (struct frame *f, struct relief *relief, double factor,
int delta, unsigned long default_pixel)
{
- XGCValues xgcv;
+ Emacs_GC xgcv;
struct pgtk_output *di = FRAME_X_OUTPUT(f);
unsigned long pixel;
unsigned long background = di->relief_background;
@@ -3107,7 +3107,7 @@ pgtk_clip_to_row (struct window *w, struct glyph_row *row,
}
static void
-pgtk_cr_draw_image (struct frame *f, GC gc, cairo_pattern_t *image,
+pgtk_cr_draw_image (struct frame *f, Emacs_GC *gc, cairo_pattern_t *image,
int src_x, int src_y, int width, int height,
int dest_x, int dest_y, bool overlay_p)
{
@@ -3198,7 +3198,7 @@ pgtk_draw_fringe_bitmap (struct window *w, struct
glyph_row *row, struct draw_fr
PGTK_TRACE("which: %d, max_fringe_bmp: %d.", p->which, max_fringe_bmp);
if (p->which && p->which < max_fringe_bmp)
{
- XGCValues gcv;
+ Emacs_GC gcv;
PGTK_TRACE("cursor_p=%d.", p->cursor_p);
PGTK_TRACE("overlay_p_p=%d.", p->overlay_p);
@@ -6356,14 +6356,14 @@ pgtk_end_cr_clip (struct frame *f)
}
void
-pgtk_set_cr_source_with_gc_foreground (struct frame *f, XGCValues *gc)
+pgtk_set_cr_source_with_gc_foreground (struct frame *f, Emacs_GC *gc)
{
PGTK_TRACE("pgtk_set_cr_source_with_gc_foreground: %08lx", gc->foreground);
pgtk_set_cr_source_with_color(f, gc->foreground);
}
void
-pgtk_set_cr_source_with_gc_background (struct frame *f, XGCValues *gc)
+pgtk_set_cr_source_with_gc_background (struct frame *f, Emacs_GC *gc)
{
PGTK_TRACE("pgtk_set_cr_source_with_gc_background: %08lx", gc->background);
pgtk_set_cr_source_with_color(f, gc->background);
diff --git a/src/pgtkterm.h b/src/pgtkterm.h
index 10dc9fc..622b5ef 100644
--- a/src/pgtkterm.h
+++ b/src/pgtkterm.h
@@ -255,7 +255,7 @@ struct pgtk_output
mapped to display an hourglass cursor. */
GtkWidget *hourglass_widget;
- XGCValues cursor_xgcv;
+ Emacs_GC cursor_xgcv;
/* lord knows why Emacs needs to know about our Window ids.. */
Window window_desc, parent_desc;
@@ -349,7 +349,7 @@ struct pgtk_output
/* Relief GCs, colors etc. */
struct relief
{
- XGCValues xgcv;
+ Emacs_GC xgcv;
unsigned long pixel;
}
black_relief, white_relief;
@@ -542,8 +542,8 @@ extern int pgtk_select (int nfds, fd_set *readfds, fd_set
*writefds,
/* Cairo related functions implemented in pgtkterm.c */
extern cairo_t *pgtk_begin_cr_clip (struct frame *f);
extern void pgtk_end_cr_clip (struct frame *f);
-extern void pgtk_set_cr_source_with_gc_foreground (struct frame *f, XGCValues
*gc);
-extern void pgtk_set_cr_source_with_gc_background (struct frame *f, XGCValues
*gc);
+extern void pgtk_set_cr_source_with_gc_foreground (struct frame *f, Emacs_GC
*gc);
+extern void pgtk_set_cr_source_with_gc_background (struct frame *f, Emacs_GC
*gc);
extern void pgtk_set_cr_source_with_color (struct frame *f, unsigned long
color);
extern void pgtk_cr_draw_frame (cairo_t *cr, struct frame *f);
extern void pgtk_cr_destroy_surface(struct frame *f);
diff --git a/src/xfaces.c b/src/xfaces.c
index a84e521..7f26610 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -578,18 +578,18 @@ x_free_gc (struct frame *f, Emacs_GC *gc)
#ifdef HAVE_PGTK
/* PGTK emulation of GCs */
-static GC
+static Emacs_GC *
x_create_gc (struct frame *f,
unsigned long mask,
- XGCValues *xgcv)
+ Emacs_GC *xgcv)
{
- GC gc = xmalloc (sizeof *gc);
+ Emacs_GC *gc = xmalloc (sizeof *gc);
*gc = *xgcv;
return gc;
}
static void
-x_free_gc (struct frame *f, GC gc)
+x_free_gc (struct frame *f, Emacs_GC *gc)
{
xfree (gc);
}
- feature/pgtk 6957f94 024/100: Add PGTK support for fullscreen, (continued)
- feature/pgtk 6957f94 024/100: Add PGTK support for fullscreen, Yuuki Harano, 2020/11/24
- feature/pgtk ae3bb14 029/100: implement restacking and cleanup frame z order, Yuuki Harano, 2020/11/24
- feature/pgtk 49645df 047/100: minimize gtkutil.c differences., Yuuki Harano, 2020/11/24
- feature/pgtk d2a29e8 040/100: emacsclient should use both of DISPLAY and WAYLAND_DISPLAY., Yuuki Harano, 2020/11/24
- feature/pgtk be47e34 077/100: Re-port image drawing code from X, Yuuki Harano, 2020/11/24
- feature/pgtk 0b69b73 085/100: Fix crash when child frame updates toolbar, Yuuki Harano, 2020/11/24
- feature/pgtk 1d549fa 015/100: Add support for make-frame-(in)visible, Yuuki Harano, 2020/11/24
- feature/pgtk 19da22e 018/100: Add support for handing the internal border, Yuuki Harano, 2020/11/24
- feature/pgtk e021e23 043/100: End Resize flickering by copying surface rather than just clearing, Yuuki Harano, 2020/11/24
- feature/pgtk fd61a86 030/100: improve some efficiency - simplify draws, Yuuki Harano, 2020/11/24
- feature/pgtk 330a346 012/100: Migrate to Emacs_GC,
Yuuki Harano <=
- feature/pgtk b1cc62c 037/100: Add support for Jpeglib, Yuuki Harano, 2020/11/24
- feature/pgtk fe2297c 055/100: * pgtkmenu.c (set_frame_menubar): fix empty menu., Yuuki Harano, 2020/11/24
- feature/pgtk a167e23 057/100: * src/pgtkmenu.c (set_frame_menubar): Suppress gcc warning, Yuuki Harano, 2020/11/24
- feature/pgtk 5a72a07 053/100: * pgtk-win.el: fix compile-time warnings., Yuuki Harano, 2020/11/24
- feature/pgtk bb6862d 089/100: Fix crash on drag and drop, Yuuki Harano, 2020/11/24
- feature/pgtk e405404 095/100: Fix startup failure on svg-unsupported environments, Yuuki Harano, 2020/11/24