[nostalgia,olympic] Replace SpanView with Span<const T>
All checks were successful
Build / build (push) Successful in 2m36s
All checks were successful
Build / build (push) Successful in 2m36s
This commit is contained in:
parent
b14f1d5000
commit
36942cca18
@ -2,6 +2,8 @@
|
|||||||
* Copyright 2016 - 2024 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
* Copyright 2016 - 2024 Gary Talent (gary@drinkingtea.net). All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <ox/std/algorithm.hpp>
|
||||||
|
|
||||||
#include "deletetilescommand.hpp"
|
#include "deletetilescommand.hpp"
|
||||||
|
|
||||||
namespace nostalgia::core {
|
namespace nostalgia::core {
|
||||||
@ -20,11 +22,9 @@ core::DeleteTilesCommand::DeleteTilesCommand(
|
|||||||
// copy pixels to be erased
|
// copy pixels to be erased
|
||||||
{
|
{
|
||||||
auto &s = getSubSheet(m_img, m_idx);
|
auto &s = getSubSheet(m_img, m_idx);
|
||||||
auto &p = s.pixels;
|
auto dst = m_deletedPixels.begin();
|
||||||
auto dst = m_deletedPixels.data();
|
auto src = s.pixels.begin() + m_deletePos;
|
||||||
auto src = &p[m_deletePos];
|
ox::copy_n(src, m_deleteSz, dst);
|
||||||
const auto sz = m_deleteSz * sizeof(decltype(p[0]));
|
|
||||||
ox::memcpy(dst, src, sz);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,9 +32,9 @@ ox::Error core::DeleteTilesCommand::redo() noexcept {
|
|||||||
auto &s = getSubSheet(m_img, m_idx);
|
auto &s = getSubSheet(m_img, m_idx);
|
||||||
auto &p = s.pixels;
|
auto &p = s.pixels;
|
||||||
auto srcPos = m_deletePos + m_deleteSz;
|
auto srcPos = m_deletePos + m_deleteSz;
|
||||||
const auto src = &p[srcPos];
|
auto const src = &p[srcPos];
|
||||||
const auto dst1 = &p[m_deletePos];
|
auto const dst1 = &p[m_deletePos];
|
||||||
const auto dst2 = &p[(p.size() - m_deleteSz)];
|
auto const dst2 = &p[(p.size() - m_deleteSz)];
|
||||||
ox::memmove(dst1, src, p.size() - srcPos);
|
ox::memmove(dst1, src, p.size() - srcPos);
|
||||||
ox::memset(dst2, 0, m_deleteSz * sizeof(decltype(p[0])));
|
ox::memset(dst2, 0, m_deleteSz * sizeof(decltype(p[0])));
|
||||||
return {};
|
return {};
|
||||||
@ -43,10 +43,10 @@ ox::Error core::DeleteTilesCommand::redo() noexcept {
|
|||||||
ox::Error DeleteTilesCommand::undo() noexcept {
|
ox::Error DeleteTilesCommand::undo() noexcept {
|
||||||
auto &s = getSubSheet(m_img, m_idx);
|
auto &s = getSubSheet(m_img, m_idx);
|
||||||
auto &p = s.pixels;
|
auto &p = s.pixels;
|
||||||
const auto src = &p[m_deletePos];
|
auto const src = &p[m_deletePos];
|
||||||
const auto dst1 = &p[m_deletePos + m_deleteSz];
|
auto const dst1 = &p[m_deletePos + m_deleteSz];
|
||||||
const auto dst2 = src;
|
auto const dst2 = src;
|
||||||
const auto sz = p.size() - m_deletePos - m_deleteSz;
|
auto const sz = p.size() - m_deletePos - m_deleteSz;
|
||||||
ox::memmove(dst1, src, sz);
|
ox::memmove(dst1, src, sz);
|
||||||
ox::memcpy(dst2, m_deletedPixels.data(), m_deletedPixels.size());
|
ox::memcpy(dst2, m_deletedPixels.data(), m_deletedPixels.size());
|
||||||
return {};
|
return {};
|
||||||
|
@ -21,10 +21,9 @@ core::InsertTilesCommand::InsertTilesCommand(
|
|||||||
{
|
{
|
||||||
auto &s = getSubSheet(m_img, m_idx);
|
auto &s = getSubSheet(m_img, m_idx);
|
||||||
auto &p = s.pixels;
|
auto &p = s.pixels;
|
||||||
auto dst = m_deletedPixels.data();
|
auto dst = m_deletedPixels.begin();
|
||||||
auto src = &p[p.size() - m_insertCnt];
|
auto src = p.begin() + p.size() - m_insertCnt;
|
||||||
const auto sz = m_insertCnt * sizeof(decltype(p[0]));
|
ox::copy_n(src, m_insertCnt, dst);
|
||||||
ox::memcpy(dst, src, sz);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ static std::map<ox::StringView, ox::Error(*)()> tests = {
|
|||||||
int main(int argc, const char **argv) {
|
int main(int argc, const char **argv) {
|
||||||
int retval = -1;
|
int retval = -1;
|
||||||
if (argc > 0) {
|
if (argc > 0) {
|
||||||
auto const args = ox::SpanView{argv, static_cast<size_t>(argc)};
|
auto const args = ox::Span{argv, static_cast<size_t>(argc)};
|
||||||
auto const testName = ox::StringView(args[1]);
|
auto const testName = ox::StringView(args[1]);
|
||||||
if (tests.find(testName) != tests.end()) {
|
if (tests.find(testName) != tests.end()) {
|
||||||
retval = static_cast<int>(tests[testName]());
|
retval = static_cast<int>(tests[testName]());
|
||||||
|
@ -28,7 +28,7 @@ static std::map<ox::StringView, ox::Error(*)()> tests = {
|
|||||||
int main(int argc, const char **argv) {
|
int main(int argc, const char **argv) {
|
||||||
int retval = -1;
|
int retval = -1;
|
||||||
if (argc > 0) {
|
if (argc > 0) {
|
||||||
auto const args = ox::SpanView{argv, static_cast<size_t>(argc)};
|
auto const args = ox::Span{argv, static_cast<size_t>(argc)};
|
||||||
auto testName = args[1];
|
auto testName = args[1];
|
||||||
if (tests.find(testName) != tests.end()) {
|
if (tests.find(testName) != tests.end()) {
|
||||||
retval = static_cast<int>(tests[testName]());
|
retval = static_cast<int>(tests[testName]());
|
||||||
|
@ -189,7 +189,7 @@ bool BeginPopup(turbine::Context &ctx, ox::CStringView popupName, bool &show, Im
|
|||||||
* @param selectedIdx
|
* @param selectedIdx
|
||||||
* @return true if new value selected, false otherwise
|
* @return true if new value selected, false otherwise
|
||||||
*/
|
*/
|
||||||
bool ComboBox(ox::CStringView lbl, ox::SpanView<ox::String> list, size_t &selectedIdx) noexcept;
|
bool ComboBox(ox::CStringView lbl, ox::Span<const ox::String> list, size_t &selectedIdx) noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -223,7 +223,7 @@ bool ListBox(
|
|||||||
* @param selIdx
|
* @param selIdx
|
||||||
* @return true if new value selected, false otherwise
|
* @return true if new value selected, false otherwise
|
||||||
*/
|
*/
|
||||||
bool ListBox(ox::CStringView name, ox::SpanView<ox::String> const&list, size_t &selIdx) noexcept;
|
bool ListBox(ox::CStringView name, ox::Span<const ox::String> const&list, size_t &selIdx) noexcept;
|
||||||
|
|
||||||
class FilePicker {
|
class FilePicker {
|
||||||
private:
|
private:
|
||||||
|
@ -87,7 +87,7 @@ bool BeginPopup(turbine::Context &ctx, ox::CStringView popupName, bool &show, Im
|
|||||||
|
|
||||||
bool ComboBox(
|
bool ComboBox(
|
||||||
ox::CStringView lbl,
|
ox::CStringView lbl,
|
||||||
ox::SpanView<ox::String> list,
|
ox::Span<const ox::String> list,
|
||||||
size_t &selectedIdx) noexcept {
|
size_t &selectedIdx) noexcept {
|
||||||
bool out{};
|
bool out{};
|
||||||
auto const first = selectedIdx < list.size() ? list[selectedIdx].c_str() : "";
|
auto const first = selectedIdx < list.size() ? list[selectedIdx].c_str() : "";
|
||||||
@ -155,7 +155,7 @@ bool ListBox(
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ListBox(ox::CStringView name, ox::SpanView<ox::String> const&list, size_t &selIdx) noexcept {
|
bool ListBox(ox::CStringView name, ox::Span<const ox::String> const&list, size_t &selIdx) noexcept {
|
||||||
return ListBox(name, [list](size_t i) -> ox::CStringView {
|
return ListBox(name, [list](size_t i) -> ox::CStringView {
|
||||||
return list[i];
|
return list[i];
|
||||||
}, list.size(), selIdx);
|
}, list.size(), selIdx);
|
||||||
|
Loading…
Reference in New Issue
Block a user