Menu

#146 Keyword parameter GET_DECOMPOSED is not allowed in the DEVICE procedure

closed
nobody
5
2018-04-19
2016-08-02
uborka
No

Hi All,

first of all, thanks for your hard work making GDL more and more feature rich. However, lately I found a missing feature, without which I cannot use many of my IDL programs in GDL (e.g. which are using the Coyote library). The following command gives the following error (typed in just after start and reproducible both in the Workbench or at the command line):

GDL> DEVICE, GET_DECOMPOSED=decomposed
% DEVICE: Keyword GET_DECOMPOSED not allowed for call to: DEVICE
% Execution halted at: $MAIN$

It is weird, that using the #device command prints the following in GDL:
GDL> #device
Internal PROCEDURE : DEVICE,CLOSE_FILE,FILENAME,LANDSCAPE,PORTRAIT,DECOMPOSED,GET_DECOMPOSED,Z_BUFFERING,SET_RESOLUTION,SET_CHARACTER_SIZE,XSIZE,YSIZE,COLOR,GET_PAGE_SIZE,GET_SCREEN_SIZE,INCHES,WINDOW_STATE,SCALE_FACTOR,XOFFSET,YOFFSET,ENCAPSULATED,GET_GRAPHICS_FUNCTION,SET_GRAPHICS_FUNCTION,CURSOR_STANDARD,CURSOR_ORIGINAL,CURSOR_CROSSHAIR,RETAIN,BITS_PER_PIXEL,GET_WINDOW_POSITION,GET_PIXEL_DEPTH,GET_VISUAL_DEPTH,GET_VISUAL_NAME,GET_WRITE_MASK,COPY

For me, this means, that there IS a GET_DECOMPOSED keyword implemented, but somehow it is not working as I would expect. What could be the problem?

However, running the same command in IDL (version 8.4) gives the following result:

IDL> DEVICE,GET_DECOMPOSED=decomposed
IDL> print,decomposed
1

It seems to me, that the feature set of the DEVICE procedure is unchanged since version 6.1. Could you please add this feature?

Thanks for your help!

Best regards,
uborka

Related

Feature Requests: #146

Discussion

  • uborka

    uborka - 2016-08-02

    Sorry, I forgot to mention, that I use Windows 10, 64 bit operating system.

     
  • Alain C.

    Alain C. - 2016-08-02

    excuse me, which version of GDL do you use ?

    GDL> print, !gdl
    { 0.9.6 CVS Aug 2 2016 1470088800}

    because GET_DECOMPOSED is implemented since a while !

    (might be good to try a CVS version in a Linux Virtual Machine
    in your MSwin OS ?)

     
  • GregJung

    GregJung - 2016-08-05

    I can confirm this behavior in the CVS build for windows. Its OK in my own version which is only a little modified w.r.t. the relevant routines.

     
  • uborka

    uborka - 2016-08-08

    I have the released 0.9.6 Windows build.

    GDL> print,!gdl
    {

    0.9.6

    Jan 5 2016
    1451948400
    }

    Can you link a tutorial on how to build the CVS version for windows? I would give it a try. :)

    EDIT: I also checked the situation on Linux, and it seems, that this is a Windows issue, since device,GET_DECOMPOSED=decomposed works on Linux even with the 0.9.4 release (which is the standard repo release right now for Ubuntu 14.04):

    GDL> device,GET_DECOMPOSED=decomposed
    GDL> print,decomposed
    1
    GDL> print,!gdl
    { 0.9.4 Mar 6 2014 1394060400}

     

    Last edit: uborka 2016-08-08
  • uborka

    uborka - 2016-08-29

    Hey Guys,

    any update on this? Please, tell me there are some good news!

    Cheers!
    Uborka

     
  • Sylwester Arabas

    Greg, Jeongbin, could you please provide us with an update on this issue (as it seems Windows-only)? Thanks!

     
  • giloo

    giloo - 2018-04-18

    should be OK as window's devices (win, wxWidgets) are of class GraphicsMultiDevice wich implements GetDecomposed()

     
    • GregJung

      GregJung - 2018-04-18

      If the "legacy" drivers are deployed, the same issue arises in the git
      version. For the new scheme,
      when the environment GDL_USE_WX is set to "yes", then wx is in charge of
      the plotting and get_decomposed
      keyword works.

      If we wish, I have a set of routines that can be used to implement this in
      legacy gdlwinsream.

      Greg

      greg@Homerw7 ~

      $ export GDL_USE_WX=YES

      greg@Homerw7 ~
      $ gdlgit

      GDL - GNU Data Language, Version 0.9.8 svn

      % Compiled module: PATH_SEP.
      GDL> device,get_decomp=tst
      GDL> print,tst
      1

      greg@Homerw7 ~

      $ export -n GDL_USE_WX

      greg@Homerw7 ~

      $ gdlgit

      GDL - GNU Data Language, Version 0.9.8 svn

      • For basic information type HELP,/INFO
      • Please report bugs, feature or help requests and patches at:

      http://sourceforge.net/projects/gnudatalanguage/

      % Compiled module: PATH_SEP.

      GDL> device,get_decomp=tst

      % DEVICE: Keyword GET_DECOMPOSED not allowed for call to: DEVICE

      % Execution halted at: $MAIN$


      If we wish, I have a set of routines that can be used to implement this in
      legacy gdlwinsream.

      greg@Homerw7 ~

      $ export GDL_USE_WX=YES

      greg@Homerw7 ~

      $ gdlgvj

      GDL - GNU Data Language, Version 0.9.7 (/f/gdl )

      • For basic information type HELP,/INFO
      • Using WxWidgets as graphics library (windows and widgets).

      • Please report bugs, feature or help requests and patches at:

      http://sourceforge.net/projects/gnudatalanguage/

      % Compiled module: PATH_SEP.

      GDL> device,get_decomp=tst & print,tst

             1
      

      On Wed, Apr 18, 2018 at 7:23 AM, giloo gilles-duvert@users.sourceforge.net
      wrote:

      should be OK as window's devices (win, wxWidgets) are of class
      GraphicsMultiDevice wich implements GetDecomposed()


      Status: open
      Group: Next Release (example)
      Labels: DEVICE procedure GET_DECOMPOSED keyword
      Created: Tue Aug 02, 2016 09:12 AM UTC by uborka
      Last Updated: Tue Apr 17, 2018 05:18 PM UTC
      Owner: nobody

      Hi All,

      first of all, thanks for your hard work making GDL more and more feature
      rich. However, lately I found a missing feature, without which I cannot use
      many of my IDL programs in GDL (e.g. which are using the Coyote library).
      The following command gives the following error (typed in just after start
      and reproducible both in the Workbench or at the command line):

      GDL> DEVICE, GET_DECOMPOSED=decomposed
      % DEVICE: Keyword GET_DECOMPOSED not allowed for call to: DEVICE
      % Execution halted at: $MAIN$

      It is weird, that using the #device command prints the following in GDL:
      GDL> #device
      Internal PROCEDURE : DEVICE,CLOSE_FILE,FILENAME,
      LANDSCAPE,PORTRAIT,DECOMPOSED,GET_DECOMPOSED,Z_BUFFERING,
      SET_RESOLUTION,SET_CHARACTER_SIZE,XSIZE,YSIZE,COLOR,GET_
      PAGE_SIZE,GET_SCREEN_SIZE,INCHES,WINDOW_STATE,SCALE_
      FACTOR,XOFFSET,YOFFSET,ENCAPSULATED,GET_GRAPHICS_FUNCTION,SET_GRAPHICS_
      FUNCTION,CURSOR_STANDARD,CURSOR_ORIGINAL,CURSOR_CROSSHAIR,RETAIN,BITS_PER_
      PIXEL,GET_WINDOW_POSITION,GET_PIXEL_DEPTH,GET_VISUAL_DEPTH,
      GET_VISUAL_NAME,GET_WRITE_MASK,COPY

      For me, this means, that there IS a GET_DECOMPOSED keyword implemented,
      but somehow it is not working as I would expect. What could be the problem?

      However, running the same command in IDL (version 8.4) gives the following
      result:

      IDL> DEVICE,GET_DECOMPOSED=decomposed
      IDL> print,decomposed
      1

      It seems to me, that the feature set of the DEVICE procedure is unchanged
      since version 6.1. Could you please add this feature?

      Thanks for your help!

      Best regards,
      uborka


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/gnudatalanguage/feature-requests/146/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Feature Requests: #146

  • Sylwester Arabas

    • status: open --> closed
     
  • Sylwester Arabas

    Closing then as fixed.

     

Log in to post a comment.

MongoDB Logo MongoDB