Remove rGuiLayout tool

Moved to own repo: https://github.com/raysan5/rguilayout
This commit is contained in:
Ray 2018-08-17 20:46:54 +02:00
parent c9b2ef9164
commit 70bc8d47b3
44 changed files with 0 additions and 10988 deletions

View File

@ -1,45 +0,0 @@
<img align="left" src="logo/rguilayout_256x256.png" width=256>
# rGuiLayout
A simple and easy-to-use tool to create raygui-based layouts. Useful for fast tools development. The perfect companion for [rGuiStyler](https://github.com/raysan5/raygui/tree/master/tools/rGuiStyler) tool.
<br>
<br>
<br>
<br>
## Features
- **+25 controls available to define your imgui layout**
- Place controls visually and move/scale them freely
- Snap to grid mode for maximum precission
- Save/Load your layout as **.rgl (text or binary mode)**
- Import **.rgs** files ([rGuiStyler](https://github.com/raysan5/raygui/tree/master/tools/rGuiStyler)) to customize visual style (drag&drop)
- **Export layout directly as plain C code, ready to edit and compile!**
- Multiple code generation options to customize exported code
- Supports image loading to be used as tracemap
- Autovisible right controls panel for quick selection
- Anchors mode support to link your controls
- Controls text edition and name edition (for exported variables)
- **+10 predefined layout available for reference**
- **Completely portable (single file)**
- Free and open source
## Usage
The tool is pretty intuitive to use, it mostly works with mouse and several key shortcuts that can be seen just pressing TAB key once program is open. Use mouse wheel to select desired control or RightMouseButton to open controls panel.
You can drag&drop .rgl files for layout loading and also .rgs files (rGuiStyler) for layout style loading. To export created layout as C code, just pres LCTRL+ENTER, you can configure multiple export options to generate the code.
To compile the code, you need raygui library (single-file header-only) and raylib v2.0 library, not yet released on itch.io but already available for early adopters on raylib GitHub, ready to be compiled.
## Screenshots
![rGuiLayout](screenshots/screenshot000.png)
## License
rGuiLayout is free and open source software. rGuiLayout source code is licensed under an unmodified zlib/libpng license. Check [LICENSE](LICENSE) for further details.
Despite being completely free, consider a small donation for the development efforts or contributing to raylib patreon to help the author keep working on free software for games development.
*Copyright (c) 2017-2018 raylib technologies ([@raysan5](https://twitter.com/raysan5))*

View File

@ -1,23 +0,0 @@
Control | DefaultName | #GenVars | Generated variables (sufixes)
-----------------------------------------------------------------------
WINDOWBOX WindowBox001 1 bool {name}Active
GROUPBOX GroupBox001 0 -
LINE Line001 0 -
PANEL Panel001 0 -
LABEL Label001 0 [!] const char *{name}Text --> Only if defined to be exported
BUTTON Button001 0 [!] void {name}() func
TOGGLE Toggle001 1 bool {name}Active
TOGGLEGROUP ToggleGroup001 3 const char *{name}TextList[], const int {name}Count, int {name}Active
CHECKBOX CheckBox001 1 bool {name}Checked
COMBOBOX ComboBox001 3 const char *{name}TextList[], const int {name}Count, int {name}Active
DROPDOWNBOX DropdownBox001 3 const char *{name}TextList[], const int {name}Count, int {name}Active
SPINNER Spinner001 1 int {name}Value
VALUEBOX ValueBox001 1 int {name}Value
TEXTBOX TextBox001 2 char *{name}Text, int {name}TextSize
SLIDER Slider001 1 float {name}Value, const float {name}MinValue, const float {name}MaxValue
SLIDERBAR SliderBar001 1 float {name}Value, const float {name}MinValue, const float {name}MaxValue
PROGRESSBAR ProgressBar001 1 float {name}Value
STATUSBAR StatusBar 1 char *{name}Text
LISTVIEW ListView001 3 const char *{name}TextList[], const int {name}Count, int {name}Active
COLORPICKER ColorPicker001 1 Color {name}Value
DUMMYREC DummyRec001 0 -

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,35 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 20
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 generateWindow 0 0 400 225 1 Generate Code Options - layout
c 001 4 lblName 10 35 65 25 1 Name:
c 002 13 toolName 75 35 135 25 1 tool_name
c 003 4 lblVersion 225 35 50 25 1 Version:
c 004 13 toolVersion 275 35 115 25 1 1.2.0-dev
c 005 4 lblWindowSize 10 65 65 25 1 Window size:
c 006 12 width 75 65 60 25 1 File name:
c 007 4 lblx 140 65 10 25 1 x
c 008 12 height 150 65 60 25 1 Untitled
c 009 4 lblCompany 225 65 50 25 1 Company:
c 010 13 company 275 65 115 25 1 raysan5
c 011 4 lblDescription 10 95 65 25 1 Description:
c 012 13 toolDescription 75 95 315 55 1 tool_description
c 013 8 defineRecs 10 160 15 15 1 Define Rectangles
c 014 8 defineTexts 10 180 15 15 1 Define text const
c 015 8 exportAnchors 140 160 15 15 1 Export anchors
c 016 8 exportAnchor0 140 180 15 15 1 Export anchor 0
c 017 8 fullComments 140 200 15 15 1 Full comments
c 018 5 GenerateCode 275 185 115 30 1 Generate Code
c 019 8 cropWindow 10 200 15 15 1 Crop to Window

View File

@ -1,36 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 21
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 generateWindow 0 0 400 225 1 Generate Code Options - layout
c 001 4 lblName 10 35 65 25 1 Name:
c 002 13 toolName 75 35 135 25 1 tool_name
c 003 4 lblVersion 225 35 50 25 1 Version:
c 004 13 toolVersion 275 35 115 25 1 1.2.0-dev
c 005 4 lblWindowSize 10 65 65 25 1 Window size:
c 006 12 width 75 65 60 25 1 File name:
c 007 4 lblx 140 65 10 25 1 x
c 008 12 height 150 65 60 25 1 Untitled
c 009 4 lblCompany 225 65 50 25 1 Company:
c 010 13 company 275 65 115 25 1 raysan5
c 011 4 lblDescription 10 95 65 25 1 Description:
c 012 13 toolDescription 75 95 315 55 1 tool_description
c 013 8 defineRecs 10 160 15 15 1 Define Rectangles
c 014 8 defineTexts 10 180 15 15 1 Define text const
c 015 8 fullVariables 10 200 15 15 1 Full variables
c 016 8 exportAnchors 140 160 15 15 1 Export anchors
c 017 8 exportAnchor0 140 180 15 15 1 Export anchor 0
c 018 8 fullComments 140 200 15 15 1 Full comments
c 019 8 cropWindow 275 160 15 15 1 Crop to Window
c 020 5 GenerateCode 275 185 115 30 1 Generate Code

View File

@ -1,31 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 16
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 editWindow 0 0 170 445 1 Image Edit Tools
c 001 6 flipH 10 35 70 25 1 Flip H
c 002 6 flipV 90 35 70 25 1 Flip V
c 003 5 RotateCCW 10 70 70 25 1 Rotate CCW
c 004 5 RotateCW 90 70 70 25 1 Rotate CW
c 005 5 ImagePOT 10 105 150 25 1 Make Power Of Two
c 006 5 ImageAlphaClear 10 140 150 25 1 Clear Transparent Pixels
c 007 5 ImageCrop 10 175 150 25 1 Crop Transparent Border
c 008 5 ImageAlphaMultiply 10 210 150 25 1 Pre-Multiply Alpha
c 009 5 ImageMipmaps 10 245 150 25 1 Generate Mipmaps
c 010 5 ImageNormalmap 10 280 150 25 1 Generate Normalmap
c 011 5 ImagetDithering 10 315 150 25 1 Compute Dithering
c 012 2 line01 10 340 150 20 1
c 013 5 ImageResize 10 360 150 25 1 Resize Image
c 014 2 line02 10 385 150 20 1
c 015 5 ExportImage 10 405 150 25 1 Export Image

View File

@ -1,23 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 8
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 exportWindow 0 0 220 190 1 Image Export Options
c 001 4 lblFileFormat 10 35 60 25 1 File format:
c 002 9 fileFormat 80 35 130 25 1 Laser/Shoot
c 003 4 lblPixelFormat 10 70 63 25 1 Pixel format:
c 004 9 pixelFormat 80 70 130 25 1 SAMPLE TEXT
c 005 4 lblFileName 10 105 50 25 1 File name:
c 006 13 fileName 80 105 130 25 1 Untitled
c 007 5 ExportImage 10 145 200 30 1 Export Image

View File

@ -1,32 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 17
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 0 0 0
a 002 50 50 1
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 infoWindow 0 0 170 245 2 Image Info
c 001 4 lblSize 10 30 80 20 2 Size:
c 002 4 size 95 30 65 20 2 256 x 256
c 003 4 lblPixelFormat 10 50 80 20 2 Pixel format:
c 004 4 pixelFormat 95 50 65 20 2 R8G8B8A8
c 005 4 lblDataSize 10 70 80 20 2 Data size:
c 006 4 dataSize 95 70 70 20 2 262144 bytes
c 007 4 lblMipmaps 10 90 80 20 2 Mipmap levels:
c 008 4 mipmaps 95 90 70 20 2 01
c 009 4 lblScaleFilter 10 110 80 20 2 Scale filter:
c 010 4 scaleFilter 95 110 70 20 2 BILINEAR
c 011 1 groupSelectedPixel 10 145 150 85 2 Selected Pixel
c 012 20 pixelBox 20 155 65 65 2 <pixel>
c 013 4 compR 100 155 50 20 2 R: 205
c 014 4 compG 100 170 50 20 2 G: 150
c 015 4 compB 100 185 50 20 2 B: 80
c 016 4 compA 100 200 50 20 2 A: 255

View File

@ -1,39 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 24
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 importWindow 0 0 200 465 1 Image RAW Import Options
c 001 4 lblImportFile 10 30 65 20 1 Import file:
c 002 4 fileName 85 30 75 20 1 Untitled.raw
c 003 4 lblFileSize 10 50 65 20 1 File size:
c 004 4 fileSize 85 50 75 20 1 2132421 bytes
c 005 1 resolutionBox 10 85 180 80 1 Resolution
c 006 4 lblWidth 20 100 33 25 1 Width:
c 007 12 width 60 100 80 25 1 SAMPLE TEXT
c 008 4 lblPixels 145 100 30 25 1 pixels
c 009 4 lblHeight 20 130 33 25 1 Height:
c 010 12 height 60 130 80 25 1 SAMPLE TEXT
c 011 4 lblPixels 145 130 30 25 1 pixels
c 012 1 pixelFormatBox 10 180 180 160 1 Pixel Format
c 013 9 pixelFormat 20 195 160 25 1 SAMPLE TEXT
c 014 2 line 20 220 160 20 1
c 015 4 lblChannels 20 235 50 20 1 Channels:
c 016 7 channels 20 255 159 25 1 Bit Depth:
c 017 4 lblBitDepth 20 285 50 20 1 Bit Depth:
c 018 7 bitDepth 20 305 159 25 1 Bit Depth:
c 019 1 headerBox 10 355 180 50 1 Header
c 020 4 lblSize 25 370 27 25 1 Size:
c 021 12 headerSize 55 370 85 25 1 SAMPLE TEXT
c 022 4 lblBytes 145 370 30 25 1 bytes
c 023 5 ImportRAW 10 420 180 30 1 Import RAW

View File

@ -1,34 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 19
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 205 160 1
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 resizeWindow 0 0 220 210 1 Image Resize Options
c 001 4 lblResize 10 35 60 25 1 Resize:
c 002 12 width 75 35 60 25 1
c 003 4 lblx 140 35 15 25 1 x
c 004 12 height 150 35 60 25 1
c 005 4 lblAlgorythm 10 70 65 25 1 Algorythm:
c 006 9 algorythm 75 70 135 25 1
c 007 8 lockAspect 20 110 15 15 1 Lock Aspect Ratio
c 008 8 canvasResize 20 135 15 15 1 Canvas Resize
c 009 8 checkTopLeft 0 0 15 15 2
c 010 8 checkTop 14 0 15 15 2
c 011 8 checkTopRight 28 0 15 15 2
c 012 8 checkLeft 0 14 15 15 2
c 013 8 checkCenter 14 14 15 15 2
c 014 8 checkRight 28 14 15 15 2
c 015 8 checkBottomLeft 0 28 15 15 2
c 016 8 checkBottom 14 28 15 15 2
c 017 8 checkBottomRight 28 28 15 15 2
c 018 5 ResizeImage 10 165 200 30 1 Resize Image

View File

@ -1,19 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 4
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 225 175 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 0 messageWindow 0 0 325 125 1 rGuiLayout - GuiMessageBox
c 001 4 lblMsg01 35 40 255 25 1 Are you ready to create the most amazing tools?
c 002 5 SureButton 25 75 120 30 1 Sure!
c 003 5 ContinueButton 180 75 120 30 1 Continue!

View File

@ -1,37 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 22
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 100 50 1
a 002 0 0 0
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 3 controlsPanel -10 -10 150 865 1
c 001 0 WindowBox 0 0 130 50 1 WindowBox
c 002 1 GroupBox 0 60 130 30 1 GroupBox
c 003 2 Line 0 95 130 20 1
c 004 3 Panel 0 120 130 35 1
c 005 4 Label 0 160 131 25 1 Label (SAMPLE TEXT)
c 006 5 Button 0 190 130 30 1 Button
c 007 6 Toggle 0 230 90 25 1 Toggle
c 008 8 CheckBox 105 235 15 15 1
c 009 7 ToggleGroup 0 265 130 25 1
c 010 9 ComboBox 0 300 130 25 1
c 011 10 DropdownBox 0 335 130 25 1
c 012 11 Spinner 0 370 130 25 1
c 013 12 ValueBox 0 405 130 25 1
c 014 13 TextBox 0 440 130 25 1 TextBox
c 015 14 Slider 0 475 130 15 1
c 016 15 SliderBar 0 500 130 15 1
c 017 16 ProgressBar 0 525 130 15 1
c 018 17 StatusBar 0 550 130 25 1 StatusBar
c 019 18 ListView 0 585 130 75 1
c 020 19 ColorPicker 0 670 100 100 1
c 021 20 DummyRec 0 810 130 30 1 DummyRec

View File

@ -1,78 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 63
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 165 90 1
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 20 version 25 15 80 20 1 Version
c 001 5 PickupCoin 10 45 95 20 1 Pickup/Coin
c 002 5 LaserShoot 10 70 95 20 1 Laser/Shoot
c 003 5 Explosion 10 95 95 20 1 Explosion
c 004 5 Powerup 10 120 95 20 1 Powerup
c 005 5 HitHurt 10 145 95 20 1 Hit/Hurt
c 006 5 Jump 10 170 95 20 1 Jump
c 007 5 BlipSelect 10 195 95 20 1 Blip/Select
c 008 4 lblInfo01 15 235 90 20 1 based on sfxr by
c 009 4 lblInfo02 10 248 98 20 1 Tomas Pettersson
c 010 4 lblInfo03 20 280 85 20 1 www.github.com/
c 011 4 lblInfo04 20 295 85 20 1 raysan5/raygui
c 012 4 lblInfo05 20 320 85 20 1 www.github.com/
c 013 4 lblInfo06 20 335 85 20 1 raysan5/raylib
c 014 5 Mutate 10 365 95 20 1 Mutate
c 015 5 Randomize 10 390 95 20 1 Randomize
c 016 7 waveType 115 15 265 20 1
c 017 6 screenSize 440 65 95 20 0 Screen Size x2
c 018 4 lblVolume 390 45 95 20 1 VOLUME: 60%
c 019 15 volume 390 65 95 10 1
c 020 5 PlaySound 390 81 95 20 1 Play Sound
c 021 8 playOnChange 390 115 10 10 1 Play on change
c 022 4 lblPoweredBy 390 135 80 20 1 powered by
c 023 20 logo 390 153 95 95 1 LOGO
c 024 4 lblRaylibDotCom 405 250 70 20 1 www.raylib.com
c 025 5 LoadSound 390 280 95 20 1 Load Sound
c 026 5 SaveSound 390 305 95 20 1 Save Sound
c 027 9 sampleRate 390 340 95 20 1
c 028 9 sampleSize 390 364 95 20 1
c 029 5 ExportWav 390 389 95 20 1 Export Wav
c 030 1 GroupBox098 0 0 265 71 2
c 031 1 GroupBox099 0 70 265 96 2
c 032 1 GroupBox100 0 165 265 36 2
c 033 1 GroupBox102 0 200 265 36 2
c 034 1 GroupBox101 0 235 265 21 2
c 035 1 GroupBox104 0 255 265 36 2
c 036 1 GroupBox103 0 290 265 85 2
c 037 15 attackTime 125 10 100 10 2 ATTACK TIME
c 038 15 sustainTime 125 25 100 10 2 SUSTAIN TIME
c 039 15 sustainPunch 125 40 100 10 2 SUSTAIN PUNCH
c 040 15 decayTime 125 55 100 10 2 DECAY TIME
c 041 15 startFrequency 125 75 100 10 2 START FREQUENCY
c 042 15 minFrequency 125 90 100 10 2 MIN FREQUENCY
c 043 15 slide 125 105 100 10 2 SLIDE
c 044 15 deltaSlide 125 120 100 10 2 DELTA SLIDE
c 045 15 vibratoDepth 125 135 100 10 2 VIBRATO DEPTH
c 046 15 vibratoSpeed 125 150 100 10 2 VIBRATO SPEED
c 047 15 changeAmount 125 170 100 10 2 CHANGE AMOUNT
c 048 15 changeSpeed 125 185 100 10 2 CHANGE SPEED
c 049 15 squareDuty 125 205 100 10 2 SQUARE DUTY
c 050 15 dutySweep 125 220 100 10 2 DUTY SWEEP
c 051 15 repeatSpeed 125 240 100 10 2 REPEAT SPEED
c 052 15 phaserOffset 125 260 100 10 2 PHASER OFFSET
c 053 15 phaserSweep 125 275 100 10 2 PHASER SWEEP
c 054 15 lpfCutoff 125 295 100 10 2 LPF CUTOFF
c 055 15 lpfCutoffSweep 125 310 100 10 2 LPF CUTOFF SWEEP
c 056 15 lpfResonance 125 325 100 10 2 LPF RESONANCE
c 057 15 hpfCutoff 125 340 100 10 2 HPF CUTOFF
c 058 15 hpfCutoffSweep 125 355 100 10 2 HPF CUTOFF SWEEP
c 059 20 Wave 10 420 475 50 1 WAVE
c 060 17 soundInfo 0 480 201 20 1 SOUND INFO: Num samples:
c 061 17 duration 200 480 126 20 1 Duration
c 062 17 waveSize 325 480 175 20 1 Wave size

View File

@ -1,47 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 32
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 395 90 1
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 17 StatusBar002 0 0 720 24 1 CHOSE CONTROL >
c 001 18 ListView000 10 40 140 560 1
c 002 18 ListView001 155 40 180 560 1
c 003 0 WindowBox004 0 0 365 560 2 Sample raygui controls
c 004 4 Label007 10 35 65 25 2 rGuiStyler
c 005 4 Label008 90 35 145 25 2 github.com/raysan5/raygui
c 006 5 Button006 240 35 115 25 2 Load Style
c 007 6 Toggle009 10 70 65 30 2 toggle
c 008 7 ToggleGroup010 90 70 265 30 2
c 009 14 Slider011 10 110 345 20 2
c 010 15 SliderBar012 10 140 345 20 2
c 011 16 ProgressBar013 10 170 320 20 2
c 012 8 CheckBox014 335 170 20 20 2
c 013 11 Spinner015 10 200 150 30 2
c 014 13 TextBox016 175 200 180 30 2 custom_style.rgs
c 015 9 ComboBox017 10 240 150 30 2
c 016 5 Button005 175 240 180 30 2 Save Style
c 017 19 ColorPicker018 10 280 240 240 2
c 018 1 GroupBox019 290 285 65 75 2 RGBA
c 019 4 Label023 300 290 20 20 2 R:
c 020 4 Label024 300 305 20 20 2 G:
c 021 4 Label025 300 320 20 20 2 B:
c 022 4 Label026 300 335 20 20 2 A:
c 023 1 GroupBox020 290 370 65 60 2 HSV
c 024 4 Label027 300 375 8 20 2 H:
c 025 17 StatusBar003 0 616 150 24 1 BASE STYLE: LIGHT
c 026 20 DummyRec021 290 440 65 80 2 Panel
c 027 13 TextBox022 290 530 65 20 2 AABBCCDD
c 028 4 Label028 300 405 19 20 2 V:
c 029 4 Label029 300 390 18 20 2 S:
c 030 17 StatusBar030 149 616 186 24 1 CHANGED PROPERTIES: 77
c 031 17 StatusBar031 334 616 386 24 1 EDITION TIME: 02:45:30

View File

@ -1,47 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 32
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 395 90 1
a 003 0 0 0
a 004 0 0 0
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 17 StatusBar002 0 0 720 24 1 CHOSE CONTROL >
c 001 18 ListView000 10 40 140 560 1
c 002 18 ListView001 155 40 180 560 1
c 003 0 WindowBox004 0 0 365 560 2 Sample raygui controls
c 004 4 Label007 10 35 65 25 2 rGuiStyler
c 005 4 Label008 85 35 145 25 2 github.com/raysan5/raygui
c 006 8 CheckBox014 270 38 20 20 2 DISABLED
c 007 6 Toggle009 10 70 65 30 2 toggle
c 008 7 ToggleGroup010 85 70 270 30 2
c 009 14 Slider011 75 115 250 15 2 SLIDER
c 010 15 SliderBar012 75 140 250 15 2 SLIDERBAR
c 011 16 ProgressBar013 10 165 315 15 2
c 012 9 ComboBox017 10 195 110 30 2
c 013 10 DropdownBox032 125 195 110 30 2
c 014 11 Spinner015 240 195 115 30 2
c 015 13 TextBox016 10 240 180 30 2 custom_style.rgs
c 016 5 Button005 195 240 160 30 2 Save Style
c 017 2 Line031 10 275 345 20 2
c 018 19 ColorPicker018 10 300 240 240 2
c 019 1 GroupBox019 290 300 65 55 2 RGBA
c 020 4 Label023 300 305 20 20 2 R:
c 021 4 Label024 300 320 20 20 2 G:
c 022 4 Label025 300 335 20 20 2 B:
c 023 1 GroupBox020 290 365 65 55 2 HSV
c 024 4 Label027 300 370 20 20 2 H:
c 025 4 Label029 300 385 20 20 2 S:
c 026 4 Label028 300 400 20 20 2 V:
c 027 20 DummyRec021 290 430 65 80 2 Panel
c 028 13 TextBox022 290 520 65 20 2 AABBCCDD
c 029 17 StatusBar003 0 616 150 24 1 BASE STYLE: LIGHT
c 030 17 StatusBar030 149 616 186 24 1 CHANGED PROPERTIES: 77
c 031 17 StatusBar031 334 616 386 24 1 EDITION TIME: 02:45:30

View File

@ -1,59 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 44
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 25 1
a 002 60 215 1
a 003 60 400 1
a 004 60 480 1
a 005 60 575 1
a 006 0 0 0
a 007 0 0 0
c 000 17 StatusBar000 0 0 210 25 1 SCENE SETTINGS
c 001 3 Panel063 50 50 210 775 0
c 002 1 GroupBox010 10 40 190 135 1 Render Settings
c 003 4 Label002 20 50 80 25 1 Render Mode:
c 004 9 ComboBox001 95 50 95 25 1
c 005 14 Slider003 90 85 80 10 1 World scale:
c 006 8 CheckBox007 20 105 10 10 1
c 007 15 SliderBar004 90 105 80 10 1 Wireframe
c 008 4 Label008 20 120 86 20 1 Render elements:
c 009 7 ToggleGroup009 20 138 170 25 1
c 010 1 GroupBox016 0 0 190 170 2 Environment
c 011 20 DummyRec011 10 10 170 110 2
c 012 14 Slider013 60 130 90 10 2 Parallax:
c 013 15 SliderBar014 60 150 90 10 2 Blurry:
c 014 1 GroupBox020 0 0 190 65 3 Camera
c 015 7 ToggleGroup017 10 13 170 25 3
c 016 15 SliderBar019 45 45 105 10 3 FOV:
c 017 1 GroupBox033 0 0 190 80 4 Lights
c 018 8 CheckBox024 10 15 10 10 4 Key
c 019 15 SliderBar027 55 15 90 10 4
c 020 20 DummyRec030 150 10 30 20 4 -
c 021 8 CheckBox025 10 35 10 10 4 Fill
c 022 15 SliderBar028 55 35 90 10 4
c 023 20 DummyRec031 150 30 30 20 4 -
c 024 8 CheckBox026 10 55 10 10 4 Back
c 025 15 SliderBar029 55 55 90 10 4
c 026 20 DummyRec032 150 50 30 20 4 -
c 027 1 GroupBox062 0 0 190 240 5 Postpro FX
c 028 8 CheckBox034 10 15 10 10 5 Antialiasing (FXAAv3)
c 029 8 CheckBox035 10 35 10 10 5 Bloom:
c 030 8 CheckBox036 10 55 10 10 5 Vignette:
c 031 8 CheckBox037 10 75 10 10 5 DOF:
c 032 8 CheckBox038 10 95 10 10 5 Grain:
c 033 8 CheckBox039 10 115 10 10 5 Color correction:
c 034 15 SliderBar046 75 35 80 10 5
c 035 15 SliderBar047 75 55 80 10 5
c 036 15 SliderBar048 75 95 80 10 5
c 037 14 Slider049 75 75 80 10 5
c 038 14 Slider054 55 145 100 10 5 Sat:
c 039 14 Slider055 55 160 100 10 5 Lum:
c 040 15 SliderBar056 60 180 95 10 5 Bright:
c 041 15 SliderBar057 60 200 95 10 5 Contrast:
c 042 15 SliderBar058 60 220 95 10 5 Gamma:
c 043 14 Slider048 55 130 100 10 5 Hue:

View File

@ -1,30 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 15
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 50 50 1
a 002 60 460 1
a 003 60 645 1
a 004 60 275 1
a 005 0 0 0
a 006 0 0 0
a 007 0 0 0
c 000 17 StatusBar008 0 0 170 30 1 MATERIAL MAPS
c 001 3 Panel014 50 80 170 745 0
c 002 1 GroupBox013 10 40 150 170 1 Albedo
c 003 20 DummyRec000 20 50 130 130 1 <ALBEDO MAP>
c 004 4 Label004 40 185 55 20 1 Color Tint:
c 005 20 DummyRec012 100 185 50 20 1 col
c 006 1 GroupBox009 0 0 150 170 4 Normals
c 007 20 DummyRec001 10 10 130 130 4 <NORMAL MAP>
c 008 15 sldrNormal 10 150 100 10 4
c 009 1 GroupBox010 0 0 150 170 2 Metalness
c 010 20 DummyRec002 10 10 130 130 2 <METALNESS MAP>
c 011 15 sldrMetalness 10 150 100 10 2
c 012 1 GroupBox011 0 0 150 170 3 Roughness
c 013 20 DummyRec003 10 10 130 130 3 <ROUGHNESS MAP>
c 014 15 sldrRoughness 10 150 100 10 3

View File

@ -1,47 +0,0 @@
#
# rgl text file (v1.0) - raygui layout text file generated using rGuiLayout
#
# Total number of controls: 32
# Anchor info: a <id> <posx> <posy> <enabled>
# Control info: c <id> <type> <name> <rectangle> <anchor_id> <text>
#
a 000 0 0 1
a 001 0 0 0
a 002 60 90 1
a 003 60 280 1
a 004 60 440 1
a 005 50 50 1
a 006 0 0 0
a 007 0 0 0
c 000 0 WindowBox033 0 0 230 575 5 ATLAS SETTINGS
c 001 1 GroupPacking 0 0 210 175 2 Packing
c 002 4 lblAlgorythm 10 15 60 25 2 Algorythm:
c 003 9 algorythm 70 15 130 25 2
c 004 4 lblHeuristics 10 50 60 25 2 Heuristics:
c 005 9 heuristics 70 50 130 25 2
c 006 4 lblPadding 10 85 60 25 2 Padding:
c 007 11 padding 70 85 130 25 2
c 008 8 trimSprites 10 125 15 15 2 Trim sprites
c 009 8 allowRotation 110 125 15 15 2 Allow rotation
c 010 8 removeDups 10 150 15 15 2 Detect Duplicates and use Alias
c 011 1 GroupTexture 0 0 210 145 3 Texture
c 012 4 lblSize 10 15 30 25 3 Size:
c 013 12 width 55 15 65 25 3
c 014 4 lblx 125 15 10 25 3 x
c 015 12 height 135 15 65 25 3
c 016 8 forcePOT 10 50 15 15 3 Force POT
c 017 8 clearAlpha 10 75 15 15 3 Alpha Clear
c 018 8 forceSquared 105 50 15 15 3 Force Square
c 019 5 ExportImage 10 105 190 30 3 Export Image
c 020 1 GroupFont 0 0 210 170 4 Font
c 021 4 lblCharHeight 10 10 100 25 4 Char size (Height):
c 022 4 lblPixels 170 10 31 25 4 pixels
c 023 4 lblCharRange 10 35 100 25 4 Characters Range:
c 024 11 minChar 10 60 85 25 4
c 025 4 lblto 100 60 15 25 4 to
c 026 11 maxChar 115 60 85 25 4
c 027 5 ImportCharset 10 95 190 25 4 Import Charset
c 028 8 generateSDF 10 140 15 15 4 Generate SDF
c 029 12 charHeight 115 10 50 25 4
c 030 8 CheckBox032 105 75 15 15 3 Alpha Premult.
c 031 11 Spinner033 115 135 85 25 4

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@ -1,253 +0,0 @@
/*******************************************************************************************
*
* raylib easings (header only file)
*
* Useful easing functions for values animation
*
* This header uses:
* #define EASINGS_STATIC_INLINE // Inlines all functions code, so it runs faster.
* // This requires lots of memory on system.
* How to use:
* The four inputs t,b,c,d are defined as follows:
* t = current time (in any unit measure, but same unit as duration)
* b = starting value to interpolate
* c = the total change in value of b that needs to occur
* d = total time it should take to complete (duration)
*
* Example:
*
* int currentTime = 0;
* int duration = 100;
* float startPositionX = 0.0f;
* float finalPositionX = 30.0f;
* float currentPositionX = startPositionX;
*
* while (currentPositionX < finalPositionX)
* {
* currentPositionX = EaseSineIn(currentTime, startPositionX, finalPositionX - startPositionX, duration);
* currentTime++;
* }
*
* A port of Robert Penner's easing equations to C (http://robertpenner.com/easing/)
*
* Robert Penner License
* ---------------------------------------------------------------------------------
* Open source under the BSD License.
*
* Copyright (c) 2001 Robert Penner. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* - Neither the name of the author nor the names of contributors may be used
* to endorse or promote products derived from this software without specific
* prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ---------------------------------------------------------------------------------
*
* Copyright (c) 2015 Ramon Santamaria
*
* This software is provided "as-is", without any express or implied warranty. In no event
* will the authors be held liable for any damages arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose, including commercial
* applications, and to alter it and redistribute it freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not claim that you
* wrote the original software. If you use this software in a product, an acknowledgment
* in the product documentation would be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
* as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*
**********************************************************************************************/
#ifndef EASINGS_H
#define EASINGS_H
#define EASINGS_STATIC_INLINE // NOTE: By default, compile functions as static inline
#if defined(EASINGS_STATIC_INLINE)
#define EASEDEF static inline
#else
#define EASEDEF extern
#endif
#include <math.h> // Required for: sin(), cos(), sqrt(), pow()
#ifdef __cplusplus
extern "C" { // Prevents name mangling of functions
#endif
// Linear Easing functions
EASEDEF float EaseLinearNone(float t, float b, float c, float d) { return (c*t/d + b); }
EASEDEF float EaseLinearIn(float t, float b, float c, float d) { return (c*t/d + b); }
EASEDEF float EaseLinearOut(float t, float b, float c, float d) { return (c*t/d + b); }
EASEDEF float EaseLinearInOut(float t,float b, float c, float d) { return (c*t/d + b); }
// Sine Easing functions
EASEDEF float EaseSineIn(float t, float b, float c, float d) { return (-c*cos(t/d*(PI/2)) + c + b); }
EASEDEF float EaseSineOut(float t, float b, float c, float d) { return (c*sin(t/d*(PI/2)) + b); }
EASEDEF float EaseSineInOut(float t, float b, float c, float d) { return (-c/2*(cos(PI*t/d) - 1) + b); }
// Circular Easing functions
EASEDEF float EaseCircIn(float t, float b, float c, float d) { return (-c*(sqrt(1 - (t/=d)*t) - 1) + b); }
EASEDEF float EaseCircOut(float t, float b, float c, float d) { return (c*sqrt(1 - (t=t/d-1)*t) + b); }
EASEDEF float EaseCircInOut(float t, float b, float c, float d)
{
if ((t/=d/2) < 1) return (-c/2*(sqrt(1 - t*t) - 1) + b);
return (c/2*(sqrt(1 - t*(t-=2)) + 1) + b);
}
// Cubic Easing functions
EASEDEF float EaseCubicIn(float t, float b, float c, float d) { return (c*(t/=d)*t*t + b); }
EASEDEF float EaseCubicOut(float t, float b, float c, float d) { return (c*((t=t/d-1)*t*t + 1) + b); }
EASEDEF float EaseCubicInOut(float t, float b, float c, float d)
{
if ((t/=d/2) < 1) return (c/2*t*t*t + b);
return (c/2*((t-=2)*t*t + 2) + b);
}
// Quadratic Easing functions
EASEDEF float EaseQuadIn(float t, float b, float c, float d) { return (c*(t/=d)*t + b); }
EASEDEF float EaseQuadOut(float t, float b, float c, float d) { return (-c*(t/=d)*(t-2) + b); }
EASEDEF float EaseQuadInOut(float t, float b, float c, float d)
{
if ((t/=d/2) < 1) return (((c/2)*(t*t)) + b);
return (-c/2*(((t-2)*(--t)) - 1) + b);
}
// Exponential Easing functions
EASEDEF float EaseExpoIn(float t, float b, float c, float d) { return (t == 0) ? b : (c*pow(2, 10*(t/d - 1)) + b); }
EASEDEF float EaseExpoOut(float t, float b, float c, float d) { return (t == d) ? (b + c) : (c*(-pow(2, -10*t/d) + 1) + b); }
EASEDEF float EaseExpoInOut(float t, float b, float c, float d)
{
if (t == 0) return b;
if (t == d) return (b + c);
if ((t/=d/2) < 1) return (c/2*pow(2, 10*(t - 1)) + b);
return (c/2*(-pow(2, -10*--t) + 2) + b);
}
// Back Easing functions
EASEDEF float EaseBackIn(float t, float b, float c, float d)
{
float s = 1.70158f;
float postFix = t/=d;
return (c*(postFix)*t*((s + 1)*t - s) + b);
}
EASEDEF float EaseBackOut(float t, float b, float c, float d)
{
float s = 1.70158f;
return (c*((t=t/d-1)*t*((s + 1)*t + s) + 1) + b);
}
EASEDEF float EaseBackInOut(float t, float b, float c, float d)
{
float s = 1.70158f;
if ((t/=d/2) < 1) return (c/2*(t*t*(((s*=(1.525f)) + 1)*t - s)) + b);
float postFix = t-=2;
return (c/2*((postFix)*t*(((s*=(1.525f)) + 1)*t + s) + 2) + b);
}
// Bounce Easing functions
EASEDEF float EaseBounceOut(float t, float b, float c, float d)
{
if ((t/=d) < (1/2.75f))
{
return (c*(7.5625f*t*t) + b);
}
else if (t < (2/2.75f))
{
float postFix = t-=(1.5f/2.75f);
return (c*(7.5625f*(postFix)*t + 0.75f) + b);
}
else if (t < (2.5/2.75))
{
float postFix = t-=(2.25f/2.75f);
return (c*(7.5625f*(postFix)*t + 0.9375f) + b);
}
else
{
float postFix = t-=(2.625f/2.75f);
return (c*(7.5625f*(postFix)*t + 0.984375f) + b);
}
}
EASEDEF float EaseBounceIn(float t, float b, float c, float d) { return (c - EaseBounceOut(d-t, 0, c, d) + b); }
EASEDEF float EaseBounceInOut(float t, float b, float c, float d)
{
if (t < d/2) return (EaseBounceIn(t*2, 0, c, d)*0.5f + b);
else return (EaseBounceOut(t*2-d, 0, c, d)*0.5f + c*0.5f + b);
}
// Elastic Easing functions
EASEDEF float EaseElasticIn(float t, float b, float c, float d)
{
if (t == 0) return b;
if ((t/=d) == 1) return (b + c);
float p = d*0.3f;
float a = c;
float s = p/4;
float postFix = a*pow(2, 10*(t-=1));
return (-(postFix*sin((t*d-s)*(2*PI)/p )) + b);
}
EASEDEF float EaseElasticOut(float t, float b, float c, float d)
{
if (t == 0) return b;
if ((t/=d) == 1) return (b + c);
float p = d*0.3f;
float a = c;
float s = p/4;
return (a*pow(2,-10*t)*sin((t*d-s)*(2*PI)/p) + c + b);
}
EASEDEF float EaseElasticInOut(float t, float b, float c, float d)
{
if (t == 0) return b;
if ((t/=d/2) == 2) return (b + c);
float p = d*(0.3f*1.5f);
float a = c;
float s = p/4;
if (t < 1)
{
float postFix = a*pow(2, 10*(t-=1));
return -0.5f*(postFix*sin((t*d-s)*(2*PI)/p)) + b;
}
float postFix = a*pow(2, -10*(t-=1));
return (postFix*sin((t*d-s)*(2*PI)/p)*0.5f + c + b);
}
#ifdef __cplusplus
}
#endif
#endif // EASINGS_H

File diff suppressed because it is too large Load Diff

View File

@ -1,325 +0,0 @@
/*_________
/ \ tinyfiledialogs.h v3.3.1 [Feb 16, 2018] zlib licence
|tiny file| Unique header file created [November 9, 2014]
| dialogs | Copyright (c) 2014 - 2018 Guillaume Vareille http://ysengrin.com
\____ ___/ http://tinyfiledialogs.sourceforge.net
\| git clone http://git.code.sf.net/p/tinyfiledialogs/code tinyfd
____________________________________________
| |
| email: tinyfiledialogs at ysengrin.com |
|____________________________________________|
________________________________________________________________________
| |
| the windows only wchar_t UTF-16 prototypes are at the end of this file |
|________________________________________________________________________|
Please 1) let me know If you are using it on exotic hardware / OS / compiler
2) leave a 1-word review on Sourceforge.
3) upvote my stackoverflow answer/advert https://stackoverflow.com/a/47651444
tiny file dialogs (cross-platform C C++)
InputBox PasswordBox MessageBox ColorPicker
OpenFileDialog SaveFileDialog SelectFolderDialog
Native dialog library for WINDOWS MAC OSX GTK+ QT CONSOLE & more
SSH supported via automatic switch to console mode or X11 forwarding
a C file + a header (add them to your C or C++ project) with 8 functions:
- beep
- notify popup
- message & question
- input & password
- save file
- open file(s)
- select folder
- color picker
Complements OpenGL GLFW GLUT GLUI VTK SFML TGUI SDL Ogre Unity3d ION OpenCV
CEGUI MathGL GLM CPW GLOW IMGUI MyGUI GLT NGL STB & GUI less programs
NO INIT
NO MAIN LOOP
NO LINKING
NO INCLUDE
The dialogs can be forced into console mode
Windows (XP to 10) ASCII MBCS UTF-8 UTF-16
- native code & vbs create the graphic dialogs
- enhanced console mode can use dialog.exe from
http://andrear.altervista.org/home/cdialog.php
- basic console input
Unix (command line calls) ASCII UTF-8
- applescript, kdialog, zenity
- python (2 or 3) + tkinter + python-dbus (optional)
- dialog (opens a console if needed)
- basic console input
The same executable can run across desktops & distributions
C89 & C++98 compliant: tested with C & C++ compilers
VisualStudio MinGW-gcc GCC Clang TinyCC OpenWatcom-v2 BorlandC SunCC
on Windows Mac Linux Bsd Solaris Minix Raspbian
using Gnome Kde Enlightenment Mate Cinnamon Unity Lxde Lxqt Xfce
WindowMaker IceWm Cde Jds OpenBox Awesome Jwm Xdm
Bindings for LUA and C# dll, Haskell
Included in LWJGL(java), Rust, Allegrobasic
- License -
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#ifndef TINYFILEDIALOGS_H
#define TINYFILEDIALOGS_H
/* #define TINYFD_NOLIB */
/* On windows, define TINYFD_NOLIB here
if you don't want to include the code creating the graphic dialogs.
Then you won't need to link against Comdlg32.lib and Ole32.lib */
/* if tinydialogs.c is compiled as C++ code rather than C code,
you may need to comment out:
extern "C" {
and the corresponding closing bracket near the end of this file:
}
*/
#ifdef __cplusplus
extern "C" {
#endif
extern char tinyfd_version[8]; /* contains tinyfd current version number */
extern int tinyfd_verbose; /* 0 (default) or 1 : on unix, prints the command line calls */
extern char tinyfd_needs[]; /* info about requirements */
#ifdef _WIN32
/* for UTF-16 use the functions at the end of this files */
extern int tinyfd_winUtf8; /* 0 (default MBCS) or 1 (UTF-8)*/
/* on windows string char can be 0:MBCS or 1:UTF-8
unless your code is really prepared for UTF-8 on windows, leave this on MBSC.
Or you can use the UTF-16 (wchar) prototypes at the end of ths file.*/
#endif
extern int tinyfd_forceConsole; /* 0 (default) or 1 */
/* for unix & windows: 0 (graphic mode) or 1 (console mode).
0: try to use a graphic solution, if it fails then it uses console mode.
1: forces all dialogs into console mode even when an X server is present,
if the package dialog (and a console is present) or dialog.exe is installed.
on windows it only make sense for console applications */
extern char tinyfd_response[1024];
/* if you pass "tinyfd_query" as aTitle,
the functions will not display the dialogs
but will return 0 for console mode, 1 for graphic mode.
tinyfd_response is then filled with the retain solution.
possible values for tinyfd_response are (all lowercase)
for graphic mode:
windows_wchar windows
applescript kdialog zenity zenity3 matedialog qarma
python2-tkinter python3-tkinter python-dbus perl-dbus
gxmessage gmessage xmessage xdialog gdialog
for console mode:
dialog whiptail basicinput */
void tinyfd_beep();
int tinyfd_notifyPopup(
char const * const aTitle, /* NULL or "" */
char const * const aMessage, /* NULL or "" may contain \n \t */
char const * const aIconType); /* "info" "warning" "error" */
/* return has only meaning for tinyfd_query */
int tinyfd_messageBox(
char const * const aTitle , /* NULL or "" */
char const * const aMessage , /* NULL or "" may contain \n \t */
char const * const aDialogType , /* "ok" "okcancel" "yesno" "yesnocancel" */
char const * const aIconType , /* "info" "warning" "error" "question" */
int const aDefaultButton ) ;
/* 0 for cancel/no , 1 for ok/yes , 2 for no in yesnocancel */
char const * tinyfd_inputBox(
char const * const aTitle , /* NULL or "" */
char const * const aMessage , /* NULL or "" may NOT contain \n \t on windows */
char const * const aDefaultInput ) ; /* "" , if NULL it's a passwordBox */
/* returns NULL on cancel */
char const * tinyfd_saveFileDialog(
char const * const aTitle , /* NULL or "" */
char const * const aDefaultPathAndFile , /* NULL or "" */
int const aNumOfFilterPatterns , /* 0 */
char const * const * const aFilterPatterns , /* NULL | {"*.jpg","*.png"} */
char const * const aSingleFilterDescription ) ; /* NULL | "text files" */
/* returns NULL on cancel */
char const * tinyfd_openFileDialog(
char const * const aTitle , /* NULL or "" */
char const * const aDefaultPathAndFile , /* NULL or "" */
int const aNumOfFilterPatterns , /* 0 */
char const * const * const aFilterPatterns , /* NULL {"*.jpg","*.png"} */
char const * const aSingleFilterDescription , /* NULL | "image files" */
int const aAllowMultipleSelects ) ; /* 0 or 1 */
/* in case of multiple files, the separator is | */
/* returns NULL on cancel */
char const * tinyfd_selectFolderDialog(
char const * const aTitle , /* NULL or "" */
char const * const aDefaultPath ) ; /* NULL or "" */
/* returns NULL on cancel */
char const * tinyfd_colorChooser(
char const * const aTitle , /* NULL or "" */
char const * const aDefaultHexRGB , /* NULL or "#FF0000" */
unsigned char const aDefaultRGB[3] , /* { 0 , 255 , 255 } */
unsigned char aoResultRGB[3] ) ; /* { 0 , 0 , 0 } */
/* returns the hexcolor as a string "#FF0000" */
/* aoResultRGB also contains the result */
/* aDefaultRGB is used only if aDefaultHexRGB is NULL */
/* aDefaultRGB and aoResultRGB can be the same array */
/* returns NULL on cancel */
/************ NOT CROSS PLATFORM SECTION STARTS HERE ************************/
#ifdef _WIN32
#ifndef TINYFD_NOLIB
/* windows only - utf-16 version */
int tinyfd_notifyPopupW(
wchar_t const * const aTitle, /* NULL or L"" */
wchar_t const * const aMessage, /* NULL or L"" may contain \n \t */
wchar_t const * const aIconType); /* L"info" L"warning" L"error" */
/* windows only - utf-16 version */
int tinyfd_messageBoxW(
wchar_t const * const aTitle , /* NULL or L"" */
wchar_t const * const aMessage, /* NULL or L"" may contain \n \t */
wchar_t const * const aDialogType, /* L"ok" L"okcancel" L"yesno" */
wchar_t const * const aIconType, /* L"info" L"warning" L"error" L"question" */
int const aDefaultButton ); /* 0 for cancel/no , 1 for ok/yes */
/* returns 0 for cancel/no , 1 for ok/yes */
/* windows only - utf-16 version */
wchar_t const * tinyfd_inputBoxW(
wchar_t const * const aTitle, /* NULL or L"" */
wchar_t const * const aMessage, /* NULL or L"" may NOT contain \n nor \t */
wchar_t const * const aDefaultInput ); /* L"" , if NULL it's a passwordBox */
/* windows only - utf-16 version */
wchar_t const * tinyfd_saveFileDialogW(
wchar_t const * const aTitle, /* NULL or L"" */
wchar_t const * const aDefaultPathAndFile, /* NULL or L"" */
int const aNumOfFilterPatterns, /* 0 */
wchar_t const * const * const aFilterPatterns, /* NULL or {L"*.jpg",L"*.png"} */
wchar_t const * const aSingleFilterDescription); /* NULL or L"image files" */
/* returns NULL on cancel */
/* windows only - utf-16 version */
wchar_t const * tinyfd_openFileDialogW(
wchar_t const * const aTitle, /* NULL or L"" */
wchar_t const * const aDefaultPathAndFile, /* NULL or L"" */
int const aNumOfFilterPatterns , /* 0 */
wchar_t const * const * const aFilterPatterns, /* NULL {L"*.jpg",L"*.png"} */
wchar_t const * const aSingleFilterDescription, /* NULL or L"image files" */
int const aAllowMultipleSelects ) ; /* 0 or 1 */
/* in case of multiple files, the separator is | */
/* returns NULL on cancel */
/* windows only - utf-16 version */
wchar_t const * tinyfd_selectFolderDialogW(
wchar_t const * const aTitle, /* NULL or L"" */
wchar_t const * const aDefaultPath); /* NULL or L"" */
/* returns NULL on cancel */
/* windows only - utf-16 version */
wchar_t const * tinyfd_colorChooserW(
wchar_t const * const aTitle, /* NULL or L"" */
wchar_t const * const aDefaultHexRGB, /* NULL or L"#FF0000" */
unsigned char const aDefaultRGB[3] , /* { 0 , 255 , 255 } */
unsigned char aoResultRGB[3] ) ; /* { 0 , 0 , 0 } */
/* returns the hexcolor as a string L"#FF0000" */
/* aoResultRGB also contains the result */
/* aDefaultRGB is used only if aDefaultHexRGB is NULL */
/* aDefaultRGB and aoResultRGB can be the same array */
/* returns NULL on cancel */
#endif /*TINYFD_NOLIB*/
#else /*_WIN32*/
/* unix zenity only */
char const * tinyfd_arrayDialog(
char const * const aTitle , /* NULL or "" */
int const aNumOfColumns , /* 2 */
char const * const * const aColumns, /* {"Column 1","Column 2"} */
int const aNumOfRows, /* 2 */
char const * const * const aCells);
/* {"Row1 Col1","Row1 Col2","Row2 Col1","Row2 Col2"} */
#endif /*_WIN32 */
#ifdef __cplusplus
}
#endif
#endif /* TINYFILEDIALOGS_H */
/*
- This is not for android nor ios.
- The code is pure C, perfectly compatible with C++.
- the windows only wchar_t (utf-16) prototypes are in the header file
- windows is fully supported from XP to 10 (maybe even older versions)
- C# & LUA via dll, see example files
- OSX supported from 10.4 to latest (maybe even older versions)
- Avoid using " and ' in titles and messages.
- There's one file filter only, it may contain several patterns.
- If no filter description is provided,
the list of patterns will become the description.
- char const * filterPatterns[3] = { "*.obj" , "*.stl" , "*.dxf" } ;
- On windows char defaults to MBCS, set tinyfd_winUtf8=1 to use UTF-8
- On windows link against Comdlg32.lib and Ole32.lib
This linking is not compulsary for console mode (see above).
- On unix: it tries command line calls, so no such need.
- On unix you need one of the following:
applescript, kdialog, zenity, matedialog, shellementary, qarma,
python (2 or 3)/tkinter/python-dbus (optional), Xdialog
or dialog (opens terminal if running without console) or xterm.
- One of those is already included on most (if not all) desktops.
- In the absence of those it will use gdialog, gxmessage or whiptail
with a textinputbox.
- If nothing is found, it switches to basic console input,
it opens a console if needed (requires xterm + bash).
- Use windows separators on windows and unix separators on unix.
- String memory is preallocated statically for all the returned values.
- File and path names are tested before return, they are valid.
- If you pass only a path instead of path + filename,
make sure it ends with a separator.
- tinyfd_forceConsole=1; at run time, forces dialogs into console mode.
- On windows, console mode only make sense for console applications.
- On windows, Console mode is not implemented for wchar_T UTF-16.
- Mutiple selects are not allowed in console mode.
- The package dialog must be installed to run in enhanced console mode.
It is already installed on most unix systems.
- On osx, the package dialog can be installed via
http://macappstore.org/dialog or http://macports.org
- On windows, for enhanced console mode,
dialog.exe should be copied somewhere on your executable path.
It can be found at the bottom of the following page:
http://andrear.altervista.org/home/cdialog.php
- If dialog is missing, it will switch to basic console input.
- You can query the type of dialog that will be use.
- MinGW needs gcc >= v4.9 otherwise some headers are incomplete.
- The Hello World (and a bit more) is on the sourceforge site:
*/

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

View File

@ -1,27 +0,0 @@
GLFW_ICON ICON "rguilayout.ico"
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
//BLOCK "080904E4" // English UK
BLOCK "040904E4" // English US
BEGIN
//VALUE "CompanyName", "My Company Name"
VALUE "FileDescription", "rGuiLayout - raygui layout editor"
VALUE "FileVersion", "1.0"
VALUE "InternalName", "rguilayout"
VALUE "LegalCopyright", "(c) 2017 raylib technologies (@raysan5)"
//VALUE "OriginalFilename", "raylib_app.exe"
VALUE "ProductName", "rGuiLayout"
VALUE "ProductVersion", "1.0"
END
END
BLOCK "VarFileInfo"
BEGIN
//VALUE "Translation", 0x809, 1252 // English UK
VALUE "Translation", 0x409, 1252 // English US
END
END

Binary file not shown.