diff options
author | Frederico Linhares <fred@linhares.blue> | 2022-12-28 11:23:00 -0300 |
---|---|---|
committer | Frederico Linhares <fred@linhares.blue> | 2022-12-29 16:50:53 -0300 |
commit | b0b61c117c6e2bc7693802f005a2888e7cc073c2 (patch) | |
tree | c05f8f0174ca81fc9b2b2e623a6f8067369d874f /src/pgm_image.cpp | |
parent | 75337ae1c59e8b2c3bc6fbcd7ccafc7a8205d6b2 (diff) |
refa Use QOI image format for textures
Diffstat (limited to 'src/pgm_image.cpp')
-rw-r--r-- | src/pgm_image.cpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/pgm_image.cpp b/src/pgm_image.cpp deleted file mode 100644 index 04ff9b9..0000000 --- a/src/pgm_image.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2022 Frederico de Oliveira Linhares - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "pgm_image.hpp" - -#include <cstring> -#include <charconv> -#include <fstream> -#include <string> - -bool PGMImage_constructor(PGMImage *self, const char *file_path) -{ - self->data = nullptr; - int wh_pos; - std::string line; - std::ifstream file(file_path); - - if(!file) - { - self->error = "Failed to open PGM file"; - return false; - } - - // Read file magic. - std::getline(file, line); - if(line != "P5") - { - self->error = "PGM file contains a invalid magic"; - return false; - } - - // Read file comment. - std::getline(file, line); - - // Read file width and height. - std::getline(file, line); - wh_pos = line.find(" "); - std::from_chars(line.data(), line.data() + wh_pos, self->width); - std::from_chars( - line.data() + wh_pos + 1, line.data() + line.size(), self->height); - - // Read file maximum value. - std::getline(file, line); - std::from_chars(line.data(), line.data() + line.size(), self->max_value); - - // Read file values. - self->data_size = self->width * self->height; - self->data = new char[self->data_size]; - file.read(self->data, self->data_size); - - return true; -} - -void PGMImage_destructor(PGMImage *self) -{ - if(self->data != nullptr) delete[] self->data; -} |