<commit_before>#!/usr/bin/env python

# example images.py

import pygtk
pygtk.require('2.0')
import gtk

class ImagesExample:
    # when invoked (via signal delete_event), terminates the application.
    def close_application(self, widget, event, data=None):
        gtk.main_quit()
        return False

    def __init__(self):
        # create the main window, and attach delete_event signal to terminating
        # the application
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        window.connect("delete_event", self.close_application)
        window.set_border_width(10)
        window.show()

        # a horizontal box to hold the buttons
        hbox = gtk.HBox()
        hbox.show()
        window.add(hbox)

        # create several images with data from files and load images into
        # buttons
        baseimage = gtk.Image()
        baseimage.set_from_file("../../patches/wall40_1.gif")
        pixbuf = baseimage.get_pixbuf()
        if pixbuf:
            scale = 2
            baseimage.set_from_pixbuf(pixbuf.scale_simple(
                pixbuf.get_width()  * scale,
                pixbuf.get_height() * scale,
                gtk.gdk.INTERP_NEAREST
            ))
        baseimage.show()

        basepatch = gtk.Image()
        basepatch.set_from_file("../../patches/ps20a0.gif")
        pb = basepatch.get_pixbuf()
        basepatch.set_from_pixbuf(pb.scale_simple(
            pb.get_width()  * scale,
            pb.get_height() * scale,
            gtk.gdk.INTERP_NEAREST
        ))
        pb = basepatch.get_pixbuf()

        for x,y in [(0,0), (51,0), (104,16), (192,0)]:
            x *= scale
            y *= scale
            image = gtk.Image()
            image.set_from_pixbuf(baseimage.get_pixbuf().copy())
            image.show()

            dest_x = x
            dest_y = y
            dest_width = pb.get_width()
            dest_height = pb.get_height()
            dest_height -= y
            offset_x = x
            offset_y = y

            pb.composite(
                image.get_pixbuf(),
                dest_x, dest_y, dest_width, dest_height,
                offset_x, offset_y, 1, 1, # scale
                gtk.gdk.INTERP_NEAREST, 255
            )

            # a button to contain the image widget
            button = gtk.Button()
            button.add(image)
            button.show()<commit_msg>fix/tidy up the clipping so far<commit_after>#!/usr/bin/env python

# example images.py

import pygtk
pygtk.require('2.0')
import gtk

class ImagesExample:
    # when invoked (via signal delete_event), terminates the application.
    def close_application(self, widget, event, data=None):
        gtk.main_quit()
        return False

    def __init__(self):
        # create the main window, and attach delete_event signal to terminating
        # the application
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        window.connect("delete_event", self.close_application)
        window.set_border_width(10)
        window.show()

        # a horizontal box to hold the buttons
        hbox = gtk.HBox()
        hbox.show()
        window.add(hbox)

        # create several images with data from files and load images into
        # buttons
        baseimage = gtk.Image()
        baseimage.set_from_file("../../patches/wall40_1.gif")
        pixbuf = baseimage.get_pixbuf()
        if pixbuf:
            scale = 2
            baseimage.set_from_pixbuf(pixbuf.scale_simple(
                pixbuf.get_width()  * scale,
                pixbuf.get_height() * scale,
                gtk.gdk.INTERP_NEAREST
            ))
        baseimage.show()

        basepatch = gtk.Image()
        basepatch.set_from_file("../../patches/ps20a0.gif")
        pb = basepatch.get_pixbuf()
        basepatch.set_from_pixbuf(pb.scale_simple(
            pb.get_width()  * scale,
            pb.get_height() * scale,
            gtk.gdk.INTERP_NEAREST
        ))
        pb = basepatch.get_pixbuf()

        for x,y in [(0,0), (24,24), (104,16), (24,104)]:
            x *= scale
            y *= scale
            image = gtk.Image()
            image.set_from_pixbuf(baseimage.get_pixbuf().copy())
            image.show()

            dest_x = x
            dest_y = y
            dest_height = min(pb.get_height(), image.get_pixbuf().get_height() - dest_y)
            dest_width  = min(pb.get_width(),  image.get_pixbuf().get_width()  - dest_x)
            dest_x + dest_width
            offset_x = x
            offset_y = y

            pb.composite(
                image.get_pixbuf(),
                dest_x, dest_y, dest_width, dest_height,
                offset_x, offset_y, 1, 1, # scale
                gtk.gdk.INTERP_NEAREST, 255
            )

            # a button to contain the image widget
            button = gtk.Button()
            button.add(image)
            button.show()
{'fraction_non_alphanumeric': 0.102532427424336, 'fraction_numerical': 0.01276508132592135, 'mean_word_length': 1.7064066852367687, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3364121', 'n_tokens_mistral': 1539, 'n_tokens_neox': 1444, 'n_words': 312}