[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Optional support for GDI+ on Windows (emacs-28)

From: Juan José García-Ripoll
Subject: Re: Optional support for GDI+ on Windows (emacs-28)
Date: Tue, 31 Mar 2020 17:35:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt)

Eli Zaretskii <address@hidden> writes:

>> From: Juan José García-Ripoll
>>  <address@hidden>
>> Date: Mon, 30 Mar 2020 21:26:52 +0200
>> Here is a more canonical patch for the Windows port:
> Thanks.  Was this version supposed to take care of the review
> comments to the previous one?  If so, perhaps you sent the wrong
> patch, because it looks like all the issues are still there in this
> version.

Regarding your comments:

* I do not know what is supposed to replace the code regarding search
  for terminal background colors. If this code is wrong, it is also
  wrong in the code that uses the PNG library (src/image.c).
      if (STRINGP (specified_bg)
          ? FRAME_TERMINAL (f)->defined_color_hook (f,
                                                    SSDATA (specified_bg),
          : (FRAME_TERMINAL (f)->query_frame_background_color (f, &color),

* Regarding the use of WCHAR in filenames, because this component only
  works when GDI+ is linked in, w32_unicode_filenames is always 1 and
  there is no need for additional translations.

* Regarding the use of pointers to string data, once more, I am using
  the same code that is used in the image.c file to extract the image
  data from the user's input. If that code is wrong, then it is so in
  the PNG driver
        /* Read from memory.  */
      tbr.bytes = SDATA (specified_data);
      tbr.len = SBYTES (specified_data);
      tbr.index = 0;
  in the JPEG driver
      jpeg_memory_src (&mgr->cinfo, SDATA (specified_data),
                     SBYTES (specified_data));
  in the GIF driver, etc, etc.

* Regarding stylistic conventions, all have been fixed.

* Regarding the use of HAVE_NTGUI and unconditional removal of
  PNG/JPEG/etc, it has been replaced with a flag HAVE_GDIPLUS which is
  optionally selected at configuration time with --with-gdiplus, which
  defaults to NO.

* All declarations have been changed to ANSI C99

* The static variable has to be initialized to 0 because it explicitely
  describes a condition (library has not been initiated) that is

* I replaced the use of float with double. You might want to do the same
  with nsimage.c if that is a problem.

* All fprintf() are removed except for a piece of code that is currently
  commented out, but which is needed to have a look at the installed decoders.

So, what exactly is missing?

Juan José García Ripoll

reply via email to

[Prev in Thread] Current Thread [Next in Thread]