Ejemplo n.º 1
0
    def _convertBitmap(self, path, objects, compress, backcolor, verbose):
        """ Convert parsed bitmap to NGL_Bitmap object
            path - path for input bitmap
            compress - type of compressing - 'None', 'RLE', 'JPG', 'Auto'
            backcolor - background color for transparent input bitmap
            verbose - increase output verbosity flag
        """
        if os.path.exists(path):

            image = QImage(path)
            name = os.path.basename(path).split('.')[0]

            ngl_bitmap = NBitmapsConverter.convertQImage(image,
                                                         name,
                                                         'format16',
                                                         compress,
                                                         backcolor)
            ngl_bitmap.objects = objects

            if verbose:
                inform(('converting bitmap {name}, size {width}x{height}, '
                        'compress {compress}, data len {size} bytes'
                        ).format(name = name,
                                 width = image.size().width(),
                                 height = image.size().height(),
                                 compress = ngl_bitmap.compressed,
                                 size = ngl_bitmap.data_len_in_bytes))
            return ngl_bitmap

        else:
            error(('File "{0}" not found! Expected path - "{1}" not exist'
                   ' :( :( :( ').format(bitmap['name'], bitmap['path']))
Ejemplo n.º 2
0
    def _convertBitmap(self, path, objects, compress, backcolor, verbose):
        """ Convert parsed bitmap to NGL_Bitmap object
            path - path for input bitmap
            compress - type of compressing - 'None', 'RLE', 'JPG', 'Auto'
            backcolor - background color for transparent input bitmap
            verbose - increase output verbosity flag
        """
        if os.path.exists(path):

            image = QImage(path)
            name = os.path.basename(path).split(".")[0]

            ngl_bitmap = NBitmapsConverter.convertQImage(image, name, "format16", compress, backcolor)
            ngl_bitmap.objects = objects

            if verbose:
                inform(
                    (
                        "converting bitmap {name}, size {width}x{height}, " "compress {compress}, data len {size} bytes"
                    ).format(
                        name=name,
                        width=image.size().width(),
                        height=image.size().height(),
                        compress=ngl_bitmap.compressed,
                        size=ngl_bitmap.data_len_in_bytes,
                    )
                )
            return ngl_bitmap

        else:
            error(
                ('File "{0}" not found! Expected path - "{1}" not exist' " :( :( :( ").format(
                    bitmap["name"], bitmap["path"]
                )
            )
Ejemplo n.º 3
0
def main():
    parser = createArgParser()
    args = parser.parse_args()

    # if no args print help and exit
    if not len(sys.argv[1:]):
        parser.print_help()
        error('No arguments found :( exit...')

    if not os.path.exists( args.qt_uifile ):
        error( 'Qt ui file path not correct :( exit... ' )

    app = QApplication(sys.argv)

    uifile = args.qt_uifile
    outdir = args.ngl_out_dir
    verbose = args.verbose
    bitmap_compress = ( args.bitmap_compress, args.bitmap_jpeg_quality )

    # create nuic object and parse Qt ui file
    nuic = NUIC( uifile )

    ppage = nuic.parser.parse()
    nuic.informUser( 'parse_end', verbose )

    # convert all fonts, generate common fonts header code
    ngl_fonts = nuic.convertFonts( ppage['fonts'], verbose )
    ngl_fonts_header = nuic.fontsHeaderCode( ngl_fonts, verbose )

    # convert all bitmaps, generate common bitmaps header code
    ngl_bitmaps = nuic.convertBitmaps( ppage['bitmaps'], bitmap_compress, ppage['background_color'], verbose )
    ngl_bitmaps_header = nuic.bitmapsHeaderCode( ngl_bitmaps, verbose )

    # generate page and objects code
    pagecode = nuic.pageCode( ppage, ngl_bitmaps, ngl_fonts, verbose )
    pageheadercode = nuic.pageHeaderCode( ppage, verbose )
    headerscode = nuic.objectsHeaderCode(ppage, ngl_bitmaps, ngl_fonts, verbose)

    # inform by end of conversion and generation code
    nuic.informUser( 'convert_end', verbose )

    # create dirs for save generated code
    code_dirs = nuic.createDirs( basepath=outdir, pagename=ppage['name'] )
    nuic.informUser('create_dirs', verbose)

    # save all code
    nuic.save(  pagename = ppage['name'],
                pagecode = pagecode,
                pageheadercode = pageheadercode,
                headerscode = headerscode,
                bitmaps = ngl_bitmaps,
                bitmapsheader = ngl_bitmaps_header,
                fonts = ngl_fonts,
                fontsheader = ngl_fonts_header,
                verbose = verbose )

    # final
    app.exit()
    inform( '-*-*- All works finish! :) --- out code locate in %s' % os.path.abspath(code_dirs['base']) )
Ejemplo n.º 4
0
    def openFile(self):

        last_dir = self.settings.value('open_last_dir', type=str)
        if not last_dir:
            last_dir = './'

        fileName, _ = QFileDialog.getOpenFileName( self,
                                "Open NGL Font source for edit", last_dir,
                                "Source ngl font Files (*.c);;All Files (*)",
                                options = QFileDialog.DontUseNativeDialog )
        if fileName:
            self.setFontFile( fileName )
            self.selectCharacter( self._select_char )
        else:
            error('File name incorect, exit.')
Ejemplo n.º 5
0
    def openFile(self):

        last_dir = self.settings.value('open_last_dir', type=str)
        if not last_dir:
            last_dir = './'

        fileName, _ = QFileDialog.getOpenFileName(
            self,
            "Open NGL Font source for edit",
            last_dir,
            "Source ngl font Files (*.c);;All Files (*)",
            options=QFileDialog.DontUseNativeDialog)
        if fileName:
            self.setFontFile(fileName)
            self.selectCharacter(self._select_char)
        else:
            error('File name incorect, exit.')
Ejemplo n.º 6
0
    def shift(bitmap, direction):
        new_bmp = QImage(bitmap)
        new_bmp.fill(0)

        if direction not in ['left', 'right', 'up', 'down']:
            error('direction for shift char not valid, exit.')

        for y in range(bitmap.height()):
            for x in range(bitmap.width()):
                if qGray(bitmap.pixel(x, y)): col = 1
                else: col = 0

                if direction == 'left' and x > 0:
                    new_bmp.setPixel(x - 1, y, col)
                elif direction == 'right' and x < bitmap.width() - 1:
                    new_bmp.setPixel(x + 1, y, col)
                elif direction == 'up' and y > 0:
                    new_bmp.setPixel(x, y - 1, col)
                elif direction == 'down' and y < bitmap.height() - 1:
                    new_bmp.setPixel(x, y + 1, col)
        return new_bmp
Ejemplo n.º 7
0
    def shift(bitmap, direction):
        new_bmp = QImage( bitmap )
        new_bmp.fill(0)

        if direction not in [ 'left', 'right', 'up', 'down' ]:
            error('direction for shift char not valid, exit.' )

        for y in range( bitmap.height() ):
            for x in range( bitmap.width() ):
                if qGray( bitmap.pixel( x, y ) ): col = 1
                else: col = 0

                if direction == 'left' and x > 0:
                    new_bmp.setPixel( x - 1, y, col)
                elif direction == 'right' and x < bitmap.width() - 1:
                    new_bmp.setPixel( x + 1, y, col )
                elif direction == 'up' and y > 0:
                    new_bmp.setPixel( x, y - 1, col)
                elif direction == 'down' and y < bitmap.height() - 1:
                    new_bmp.setPixel( x, y + 1, col )
        return new_bmp
Ejemplo n.º 8
0
def main():
    parser = createArgParser()
    args = parser.parse_args()

    # if no args print help and exit
    if not len(sys.argv[1:]):
        parser.print_help()
        error("No arguments found :( exit...")

    if not os.path.exists(args.qt_uifile):
        error("Qt ui file path not correct :( exit... ")

    app = QApplication(sys.argv)

    uifile = args.qt_uifile
    outdir = args.ngl_out_dir
    verbose = args.verbose
    bitmap_compress = (args.bitmap_compress, args.bitmap_jpeg_quality)

    # create nuic object and parse Qt ui file
    nuic = NUIC(uifile)

    ppage = nuic.parser.parse()
    nuic.informUser("parse_end", verbose)

    # convert all fonts, generate common fonts header code
    ngl_fonts = nuic.convertFonts(ppage["fonts"], verbose)
    ngl_fonts_header = nuic.fontsHeaderCode(ngl_fonts, verbose)

    # convert all bitmaps, generate common bitmaps header code
    ngl_bitmaps = nuic.convertBitmaps(ppage["bitmaps"], bitmap_compress, ppage["background_color"], verbose)
    ngl_bitmaps_header = nuic.bitmapsHeaderCode(ngl_bitmaps, verbose)

    # generate page and objects code
    pagecode = nuic.pageCode(ppage, ngl_bitmaps, ngl_fonts, verbose)
    pageheadercode = nuic.pageHeaderCode(ppage, verbose)
    headerscode = nuic.objectsHeaderCode(ppage, ngl_bitmaps, ngl_fonts, verbose)

    # inform by end of conversion and generation code
    nuic.informUser("convert_end", verbose)

    # create dirs for save generated code
    code_dirs = nuic.createDirs(basepath=outdir, pagename=ppage["name"])
    nuic.informUser("create_dirs", verbose)

    # save all code
    nuic.save(
        pagename=ppage["name"],
        pagecode=pagecode,
        pageheadercode=pageheadercode,
        headerscode=headerscode,
        bitmaps=ngl_bitmaps,
        bitmapsheader=ngl_bitmaps_header,
        fonts=ngl_fonts,
        fontsheader=ngl_fonts_header,
        verbose=verbose,
    )

    # final
    app.exit()
    inform("-*-*- All works finish! :) --- out code locate in %s" % os.path.abspath(code_dirs["base"]))