17 Commits

Author SHA1 Message Date
41b6066b76 Merge branch 'dev' into japanese-translations 2021-10-02 15:09:11 +02:00
4eebff04a4 Update README.MD
Add github status badge for CI
2021-10-01 23:46:32 +02:00
04525611fa Update cmake.yml
Add gettext to dependencies
2021-10-01 23:43:37 +02:00
cb92d64ec3 Update cmake.yml 2021-10-01 23:41:40 +02:00
37ff2080f9 Create cmake.yml 2021-10-01 23:35:16 +02:00
e1b85d1a99 Merge branch 'issue/39-fix-search' of mhu/gds-render into dev 2020-11-26 23:08:55 +01:00
b0c9afdae5 Fix #39: Checking of pure library entry in cell selector was broken 2020-11-26 23:07:48 +01:00
f6abfada2c ColorPalette: Fix Dispose function
* Set freed pointer to NULL in dispose function because dispose cna be run multiple times. This fixes the case of freeing an already freed pointer.
2020-07-09 23:54:40 +02:00
f135b42d8a make clear we're not getting a return value from vector_2d_copy 2020-06-29 20:03:38 +02:00
058564326b Update library and compiler versions in doxygen 2020-04-24 01:17:20 +02:00
3546c9a7f9 Merge branch 'dev' into japanese-translations 2020-04-24 01:09:26 +02:00
fd1eac7fda Merge branch 'master' into dev 2020-04-24 01:07:50 +02:00
2c91956b32 Doxygen: Update calculate_cell_bounding_box()
* Fix typo
* Extend description
2020-04-24 01:05:37 +02:00
232d025211 Doxygen: Update calculate_cell_bounding_box()
* Add note about problematic behaviour
* Fix typos
2020-04-24 01:02:10 +02:00
e461b0be1d Merge branch 'dev' 2020-04-19 00:52:42 +02:00
8f54f92ac0 Merge branch 'dev' into japanese-translations 2020-04-16 22:47:55 +02:00
cba28b378e Merge branch 'master' into japanese-translations 2020-01-16 23:39:11 +01:00
9 changed files with 56 additions and 61 deletions

37
.github/workflows/cmake.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: CMake
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install system dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get -y install libgtk-3-dev gettext
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

View File

@@ -1,5 +1,7 @@
# GDS-Render Readme
[![CMake](https://github.com/0mhu/gds-render/actions/workflows/cmake.yml/badge.svg?branch=master)](https://github.com/0mhu/gds-render/actions/workflows/cmake.yml)
This software is a rendering programm for GDS2 layout files.
The GDS2 format is mainly used in integrated circuit development.
This program allows the conversion of a GDS file to a vector graphics file.

View File

@@ -30,7 +30,7 @@ Development is done with the following library versions:
| Cairographics | GLib2 | GTK3 |
| ------------- | ---------- | --------- |
| 1.17.3 | 2.60.6-1 | 3.24.10-1 |
| 1.17.2 | 2.64.2 | 3.24.18 |
@section comp-instr Compilation Instructions
@subsection linux-build General Linux Build Instruction
@@ -47,7 +47,7 @@ Once cmake has finished, type
make
@endcode
to build the program and
@code
make documentation
@endcode
@@ -59,7 +59,7 @@ The subfolder 'AUR' contains a PKGBUILD file to build an Archlinux/Pacman packag
@subsection comp-warnings Compiler Warnings
The compiler will throw the following warnings. Compiled with GCC 8.2.1.
The compiler will throw the following warnings. Compiled with GCC 9.3.0.
| Warning | Assessment |
| ------- | ---------- |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,53 +0,0 @@
/**
@page translation Translations / Internationalization
@section lang-available Available Languages
The development, documentation and default application language of gds-render is English.
Translations of GUI and console output exist for the following locales/languages
- de German (Deutsch)
- ja Japanese (日本語) (Work in progess)
On how to add new languages, see @ref lang-add
@section lang-internals Internals
This progamm uses gettext for translations.
@subsection lang-coding Make Strings Translatable in Code
Only strings, that are marked as translatable are actually available for translation and shown in the user's language.
All other text is displayed as written in the source files.
@subsubsection lang-add-glade Make GUI Elements in Glade Files Translatable
Text inside Glade's GUI files can be made translatable by checking the *translatable* option for the specific text property.
The following image shows the label property of a button. Notice the checked Translatable option.
@image html translate-glade.png
@image latex translate-glade.png
@subsubsection lang-add-c Make C Strings Translatable
In order to make strings in C code translatable, the following header has to be included:
@code
#inlcude <glib/gi18n.h>
@endcode
This header provides a few macros useful for translation. The most important one is the function-like macro
@code
_("Text here")
@endcode
which is just a underline character.
You can use this marco to encapsulate all static strings that shall be translated. The whole expression is still usable like any other string (except for compile time concatenation, like: "This is foo" " and this is bar")
Example:
@code
printf(_("The value of foo is %d\n"), foo);
@endcode
Text that must not be translated can be encapsulated inside a N_ macro like
@code
N_("This has to stay in English")
@endcode
The N_ macro is basically an empty macro and just for visualization.
@subsection lang-add Add a New Language
*/

View File

@@ -187,7 +187,8 @@ static gboolean cell_store_filter_visible_func(GtkTreeModel *model, GtkTreeIter
gtk_tree_model_get(model, iter, CELL_SEL_CELL, &cell, CELL_SEL_LIBRARY, &lib, -1);
if (lib) {
/* Show always, if this is a pure lib entry */
if (lib && !cell) {
result = TRUE;
goto exit_filter;
}

View File

@@ -65,7 +65,7 @@ void vector_2d_rotate(struct vector_2d *vec, double angle)
sin_val = sin(angle);
cos_val = cos(angle);
vector_2d_copy(&temp, vec);
(void)vector_2d_copy(&temp, vec);
/* Apply rotation matrix */
vec->x = (cos_val * temp.x) - (sin_val * temp.y);

View File

@@ -35,10 +35,17 @@
#include <gds-render/gds-utils/gds-types.h>
/**
* @brief calculate_cell_bounding_box Calculate bounding box of gds cell
* @param box Resulting boundig box. Will be uüdated and not overwritten
* @brief Calculate bounding box of a gds cell.
*
* This function updates a given bounding box with the dimensions of a
* gds_cell. Please note that the handling of path miter points is not complete yet.
* If a path object is the outmost object of your cell at any edge,
* the resulting bounding box might be the wrong size. The devistion from the real size
* is guaranteed to be within the width of the path object.
*
* @param box Resulting boundig box. Will be updated and not overwritten
* @param cell Toplevel cell
* @warning Path handling not yet implemented correctly.
* @warning Handling of Path graphic objects not yet implemented correctly.
*/
void calculate_cell_bounding_box(union bounding_box *box, struct gds_cell *cell);

View File

@@ -238,6 +238,7 @@ static void color_palette_dispose(GObject *gobj)
if (palette->color_array) {
palette->color_array_length = 0;
free(palette->color_array);
palette->color_array = NULL;
}
/* Chain up to parent class */