summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleo1999-12-03 18:43:28 +0000
committerleo1999-12-03 18:43:28 +0000
commit65d2856a9f19aac960fed57d0e7b1e3aa7c4dd46 (patch)
tree5a9f07dd8ecaad4837917fe1821b5ef6eb634c97
parent30b8e66fb49b343dc630c71c7fc685e5ab53bbcd (diff)
added support for reading PNG files
git-svn-id: http://svn.leocad.org/trunk@23 c7d43263-9d01-0410-8a33-9dba5d9f93d6
-rw-r--r--common/image.cpp3
-rw-r--r--common/module.mk7
-rw-r--r--version.mk12
-rw-r--r--win/LeoCAD.dsp10
-rw-r--r--win/Leocad.dsw30
-rw-r--r--win/Prefpage.cpp2
-rw-r--r--win/System.cpp2
-rw-r--r--win/Teropdlg.cpp2
8 files changed, 59 insertions, 9 deletions
diff --git a/common/image.cpp b/common/image.cpp
index 90518df..7c03c16 100644
--- a/common/image.cpp
+++ b/common/image.cpp
@@ -18,6 +18,7 @@ extern "C" {
static LC_IMAGE* OpenJPG(char* filename);
static LC_IMAGE* OpenBMP(char* filename);
+LC_IMAGE* OpenPNG(char* filename);
static LC_IMAGE* OpenGIF(File* file);
static bool SaveJPG(char* filename, LC_IMAGE* image, int quality, bool progressive);
static bool SaveBMP(char* filename, LC_IMAGE* image, bool quantize);
@@ -155,6 +156,8 @@ LC_IMAGE* OpenImage(char* filename)
return ResizeImage(OpenJPG(filename));
if (strcmp(ext, "bmp") == 0)
return ResizeImage(OpenBMP(filename));
+ if (strcmp(ext, "png") == 0)
+ return ResizeImage(OpenPNG(filename));
if ((strcmp (ext, "gif") == 0) || (strcmp (ext, "tmp") == 0))
{
FileDisk file;
diff --git a/common/module.mk b/common/module.mk
index aead809..39db3b8 100644
--- a/common/module.mk
+++ b/common/module.mk
@@ -1,3 +1,6 @@
-SRC += common/boundbox.cpp common/camera.cpp common/file.cpp common/globals.cpp common/group.cpp common/image.cpp common/light.cpp common/matrix.cpp common/piece.cpp common/pieceinf.cpp common/project.cpp common/quant.cpp common/terrain.cpp common/texture.cpp common/tr.cpp common/vector.cpp
+SRC += common/boundbox.cpp common/camera.cpp common/file.cpp common/globals.cpp common/group.cpp common/image.cpp common/im_png.cpp common/light.cpp common/matrix.cpp common/piece.cpp common/pieceinf.cpp common/project.cpp common/quant.cpp common/terrain.cpp common/texture.cpp common/tr.cpp common/vector.cpp
+
+LIBS += -lGLU -lGL -ljpeg -lpng
+
+
-LIBS += -lGLU -lGL -ljpeg
diff --git a/version.mk b/version.mk
index 63520d3..3303a85 100644
--- a/version.mk
+++ b/version.mk
@@ -1,6 +1,14 @@
# $Id$
#
MAJOR := 0
-MINOR := 72
-PATCHLVL := 1
+MINOR := 71
+PATCHLVL := 2
VERSION := $(MAJOR).$(MINOR).$(PATCHLVL)
+
+
+
+
+
+
+
+
diff --git a/win/LeoCAD.dsp b/win/LeoCAD.dsp
index 9570ff2..9c163b7 100644
--- a/win/LeoCAD.dsp
+++ b/win/LeoCAD.dsp
@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../common" /I "../win" /I "./jpeglib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "./libpng./zlib" /I "../common" /I "../win" /I "./jpeglib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 vfw32.lib glu32.lib opengl32.lib jpeglib.lib 3dsftk.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:"./jpeglib/debug" /libpath:"./3dsftk/debug"
+# ADD LINK32 vfw32.lib glu32.lib opengl32.lib jpeglib.lib 3dsftk.lib libpng.lib zlib.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:"./jpeglib/debug" /libpath:"./3dsftk/debug" /libpath:"./libpng/debug" /libpath:"./zlib/debug"
# SUBTRACT LINK32 /profile
!ENDIF
@@ -995,6 +995,12 @@ SOURCE=..\Common\group.h
# End Source File
# Begin Source File
+SOURCE=..\common\im_png.cpp
+# ADD CPP /I "./libpng" /I "./zlib"
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
SOURCE=..\Common\image.cpp
# SUBTRACT CPP /YX /Yc /Yu
# End Source File
diff --git a/win/Leocad.dsw b/win/Leocad.dsw
index ce70a25..af2b189 100644
--- a/win/Leocad.dsw
+++ b/win/Leocad.dsw
@@ -29,6 +29,12 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name 3dsftk
End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name libpng
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name zlib
+ End Project Dependency
}}}
###############################################################################
@@ -45,6 +51,30 @@ Package=<4>
###############################################################################
+Project: "libpng"=.\libpng\libpng.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "zlib"=.\zlib\zlib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Global:
Package=<5>
diff --git a/win/Prefpage.cpp b/win/Prefpage.cpp
index 1b8203e..41422e4 100644
--- a/win/Prefpage.cpp
+++ b/win/Prefpage.cpp
@@ -403,7 +403,7 @@ END_MESSAGE_MAP()
void CPreferencesScene::OnBackgroundBrowse()
{
CFileDialog dlg(TRUE, NULL, m_strBackground, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
- "All Image Files|*.bmp;*.gif;*.jpg|JPEG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*||", this);
+ "All Image Files|*.bmp;*.gif;*.jpg;*.png|JPEG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif|BMP Files (*.bmp)|*.bmp|PNG Files (*.png)|*.png|All Files (*.*)|*.*||", this);
if (dlg.DoModal() == IDOK)
{
UpdateData(TRUE);
diff --git a/win/System.cpp b/win/System.cpp
index 6b81d12..b40b998 100644
--- a/win/System.cpp
+++ b/win/System.cpp
@@ -1105,7 +1105,7 @@ bool SystemDoDialog(int nMode, void* param)
case LC_DLG_PICTURE_SAVE:
{
CFileDialog dlg(FALSE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ENABLEHOOK|OFN_ENABLETEMPLATE|OFN_EXPLORER,
- "GIF Files (*.gif)|*.gif|JPEG Files (*.jpg;*.jpeg)|*.jpg;*.jpeg|Bitmap Files (*.bmp)|*.bmp|AVI Files (*.avi)|*.avi|All Files (*.*)|*.*||");
+ "GIF Files (*.gif)|*.gif|JPEG Files (*.jpg;*.jpeg)|*.jpg;*.jpeg|Bitmap Files (*.bmp)|*.bmp|PNG Files (*.png)|*.png|AVI Files (*.avi)|*.avi|All Files (*.*)|*.*||");
DWORD dwImage = theApp.GetProfileInt ("Default", "Image Options", 1|LC_IMAGE_TRANSPARENT);
LC_IMAGEDLG_OPTS* opts = (LC_IMAGEDLG_OPTS*)param;
diff --git a/win/Teropdlg.cpp b/win/Teropdlg.cpp
index ad723cb..b11b846 100644
--- a/win/Teropdlg.cpp
+++ b/win/Teropdlg.cpp
@@ -77,7 +77,7 @@ void CTerrainOptionsDlg::OnTeroptColor()
void CTerrainOptionsDlg::OnTeroptTexturebrowse()
{
CFileDialog dlg(TRUE, NULL, m_strTexture, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
- "All Image Files|*.bmp;*.gif;*.jpg|JPEG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*||", this);
+ "All Image Files|*.bmp;*.gif;*.jpg;*.png|JPEG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif|BMP Files (*.bmp)|*.bmp|PNG Files (*.png)|*.png|All Files (*.*)|*.*||", this);
if (dlg.DoModal() == IDOK)
{
UpdateData(TRUE);