fltk/fluid/fluid_filename.h
Albrecht Schlosser 1209e9dcd7 Make Fl_String and Fl_Int_Vector private (#789)
- add CMake option 'OPTION_USE_STD'
- add configure option '--enable-use_std'
- move FL/Fl_String.H to src/Fl_String.H
- move FL/Fl_Int_Vector.H to src/Fl_Int_Vector.H
- remove Fl_String from demo program examples/callbacks.cxx
- remove Fl_Int_Vector from public header FL/Fl_Table.H
- some methods of Fl_Table are no longer inline
- add CMake option OPTION_USE_STD to allow std::string in some
  selected functions and methods

Experimental, may be removed before release:

- use either Fl_Int_Vector or std::vector in Fl_Table depending
  on CMake OPTION_USE_STD or configure --enable-use_std

Move all fl_filename* functions that use Fl_String to fluid

Main changes in fluid:
 - add fluid_filename.h and .cxx
 - include "fluid_filename.h" rather than <FL/filename.H>

Update fl_input(), fl_password() and test/ask

- add maxchar parameter to fl_input() and fl_password()
- fl_input_str() and fl_password_str() are optional and return
  std::string if enabled (FLTK_USE_STD)
2023-10-22 19:35:17 +02:00

60 lines
1.9 KiB
C++

/*
* Filename header file for the Fast Light Tool Kit (FLTK).
*
* Copyright 1998-2023 by Bill Spitzak and others.
*
* This library is free software. Distribution and use rights are outlined in
* the file "COPYING" which should have been included with this file. If this
* file is missing or damaged, see the license at:
*
* https://www.fltk.org/COPYING.php
*
* Please see the following page on how to report bugs and issues:
*
* https://www.fltk.org/bugs.php
*/
/** \file fluid/fluid_filename.h
\brief File names and URI utility functions for FLUID only.
This file declares all fl_filename* functions using Fl_String and also
includes the main header file <FL/filename.H>.
\note This file contains some filename functions using Fl_String which
which are used in FLTK 1.4.x but will be removed in the next minor
or major release after 1.4.x (i.e. 1.5 or maybe 4.0).
\note This entire file should become obsolete in 1.5 or higher, whatever
the next release after 1.4.x will be. We'll use std::string instead!
*/
#ifndef FLUID_FILENAME_H
# define FLUID_FILENAME_H
#include <FL/Fl_Export.H>
#include <FL/platform_types.h>
#include <FL/filename.H>
# if defined(__cplusplus)
class Fl_String;
Fl_String fl_filename_name(const Fl_String &filename);
Fl_String fl_filename_path(const Fl_String &filename);
Fl_String fl_filename_ext(const Fl_String &filename);
Fl_String fl_filename_setext(const Fl_String &filename, const Fl_String &new_extension);
Fl_String fl_filename_expand(const Fl_String &from);
Fl_String fl_filename_absolute(const Fl_String &from);
Fl_String fl_filename_absolute(const Fl_String &from, const Fl_String &base);
Fl_String fl_filename_relative(const Fl_String &from);
Fl_String fl_filename_relative(const Fl_String &from, const Fl_String &base);
Fl_String fl_getcwd();
# endif
/** @} */
#endif /* FLUID_FILENAME_H */