summaryrefslogtreecommitdiff
path: root/src/pgm_image.cpp
diff options
context:
space:
mode:
authorFrederico Linhares <fred@linhares.blue>2022-12-28 11:23:00 -0300
committerFrederico Linhares <fred@linhares.blue>2022-12-29 16:50:53 -0300
commitb0b61c117c6e2bc7693802f005a2888e7cc073c2 (patch)
treec05f8f0174ca81fc9b2b2e623a6f8067369d874f /src/pgm_image.cpp
parent75337ae1c59e8b2c3bc6fbcd7ccafc7a8205d6b2 (diff)
refa Use QOI image format for textures
Diffstat (limited to 'src/pgm_image.cpp')
-rw-r--r--src/pgm_image.cpp70
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;
-}