f5160b7a72
https://github.com/prusa3d/Slic3r/issues/597 The "Send to OctoPrint" function will now send the file name encoded in UTF-8, so the file name will not get mangled. The C++ Slic3r::encode_path() function was returning a string to Perl, which was marked as UTF-8. This has been fixed, now encode_path() returns a plain Perl string. Added path_to_filename, path_to_stem, path_to_extension, path_to_parent_path Perl wrappers to boost::filesystem::path splitting functionality to be able to split UTF-8 encoded files on Windows correctly.
151 lines
2.6 KiB
Plaintext
151 lines
2.6 KiB
Plaintext
%module{Slic3r::XS};
|
|
%package{Slic3r::XS};
|
|
|
|
#include <xsinit.h>
|
|
#include "Utils.hpp"
|
|
|
|
%{
|
|
|
|
%}
|
|
|
|
%package{Slic3r};
|
|
%{
|
|
|
|
SV*
|
|
VERSION()
|
|
CODE:
|
|
RETVAL = newSVpv(SLIC3R_VERSION, 0);
|
|
OUTPUT: RETVAL
|
|
|
|
SV*
|
|
BUILD()
|
|
CODE:
|
|
RETVAL = newSVpv(SLIC3R_BUILD, 0);
|
|
OUTPUT: RETVAL
|
|
|
|
SV*
|
|
DEBUG_OUT_PATH_PREFIX()
|
|
CODE:
|
|
RETVAL = newSVpv(SLIC3R_DEBUG_OUT_PATH_PREFIX, 0);
|
|
OUTPUT: RETVAL
|
|
|
|
SV*
|
|
FORK_NAME()
|
|
CODE:
|
|
RETVAL = newSVpv(SLIC3R_FORK_NAME, 0);
|
|
OUTPUT: RETVAL
|
|
|
|
void
|
|
set_logging_level(level)
|
|
unsigned int level;
|
|
CODE:
|
|
Slic3r::set_logging_level(level);
|
|
|
|
void
|
|
trace(level, message)
|
|
unsigned int level;
|
|
char *message;
|
|
CODE:
|
|
Slic3r::trace(level, message);
|
|
|
|
void
|
|
set_var_dir(dir)
|
|
char *dir;
|
|
CODE:
|
|
Slic3r::set_var_dir(dir);
|
|
|
|
char*
|
|
var_dir()
|
|
CODE:
|
|
RETVAL = const_cast<char*>(Slic3r::var_dir().c_str());
|
|
OUTPUT: RETVAL
|
|
|
|
void
|
|
set_resources_dir(dir)
|
|
char *dir;
|
|
CODE:
|
|
Slic3r::set_resources_dir(dir);
|
|
|
|
char*
|
|
resources_dir()
|
|
CODE:
|
|
RETVAL = const_cast<char*>(Slic3r::resources_dir().c_str());
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
var(file_name)
|
|
const char *file_name;
|
|
CODE:
|
|
RETVAL = Slic3r::var(file_name);
|
|
OUTPUT: RETVAL
|
|
|
|
void
|
|
set_data_dir(dir)
|
|
char *dir;
|
|
CODE:
|
|
Slic3r::set_data_dir(dir);
|
|
|
|
char*
|
|
data_dir()
|
|
CODE:
|
|
RETVAL = const_cast<char*>(Slic3r::data_dir().c_str());
|
|
OUTPUT: RETVAL
|
|
|
|
local_encoded_string
|
|
encode_path(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::encode_path(src);
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
decode_path(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::decode_path(src);
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
normalize_utf8_nfc(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::normalize_utf8_nfc(src);
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
path_to_filename(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::PerlUtils::path_to_filename(src);
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
path_to_stem(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::PerlUtils::path_to_stem(src);
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
path_to_extension(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::PerlUtils::path_to_extension(src);
|
|
OUTPUT: RETVAL
|
|
|
|
std::string
|
|
path_to_parent_path(src)
|
|
const char *src;
|
|
CODE:
|
|
RETVAL = Slic3r::PerlUtils::path_to_parent_path(src);
|
|
OUTPUT: RETVAL
|
|
|
|
void
|
|
xspp_test_croak_hangs_on_strawberry()
|
|
CODE:
|
|
try {
|
|
throw 1;
|
|
} catch (...) {
|
|
croak("xspp_test_croak_hangs_on_strawberry: exception catched\n");
|
|
}
|
|
%} |