[Implemented] misc stuff for the PB library system

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

[Implemented] misc stuff for the PB library system

Post by Danilo »

  • WindowOutput() and ImageOutput() should get a number as argument,
    like SpriteOutput(#sprite) and TextureOutput(#texture)
  • DrawText() is the only 2D-Drawing function that doesnt have
    an optional Color parameter, so i would say its missing
  • The Font library should get a command to get the height of
    a Font, lets say: FontHeight(#Font)
    FontHeight() should return the height of a Font in pixels. Not the
    height that you specify in LoadFont() -> it should return the biggest
    height of the font, which means from top to bottom.
    For Example 'T' goes to the top, 's' is normal and 'g' goes to the bottom.
    Know what i´m trying to say? ;)
  • FontID() should get a parameter FontID(#font)
  • ImageHeight(), ImageWidth() and ImageDepth() should all
    get a parameter #image, same like point 1 -> ImageHeight(#image) ...
  • DisableMenuItem() requires the #Menu as first parameter to
    specify in which menu i want to disable which item.
    Atm we can only use 1 menu with it, always the last created
    menu is used.
  • AddStatusBarField(Width) needs a parameter #statusbar to know
    which statusbar is used atm.
    DeleteStatusBarField(#statusbar, field) would be nice, to add and
    remove fields at runtime like required.
  • WindowX()/Y(), WindowMouseX()/Y(), WindowWidth()/Height(),
    ResizeWindow(), MoveWindow(), DetachMenu() and ActivateWindow()
    should all get a parameter #window, like AddKeyboardShortcut(),
    CloseWindow(), HideWindow(), and so on...

    Its needed to get a system into PureBasic! Some commands have
    the #window parameter, others dont have it and rely on the current
    window specified with UseWindow()!
  • ExamineJoystick() should return the number of joysticks available.
    All other joystick functions should use #joystick as first parameter
    then.
  • Docs for MouseX(), MouseY() and the other functions say its
    Windows and Amiga only, but it works on Linux too.
    The docs should get updated to really show which functions are
    available on which platform and whats not available.
  • WindowMouseX() and WindowMouseY() should return the co-ordinates
    relatively to the client area, because PB uses the client area for
    everything and the border+titlebar sizes can always be different.
  • new commands ScreenWidth() and ScreenHeight() should return
    the width and height for the opened (windowed)screen (0 if no screen is opened)
And all this please for all versions of PureBasic, or at least for
Linux and Windows (and for 3.91 final please ;))!

Thanks for listening!
cya,
...Danilo
...:-=< http://codedan.net/work >=-:...
-= FaceBook.com/DaniloKrahn =-
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6166
Joined: Sat May 17, 2003 11:31 am
Contact:

Post by blueznl »

i second all of thy wishes, my lord danilo...

(think half of them i requested as well, does that mean that great minds think half alike? or that half minds think alike? :-))
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB)
( The path to enlightenment and the PureBasic Survival Guide right here... )
Post Reply