This file is indexed.

/usr/share/doc/libcdk5-dev/EXPANDING is in libcdk5-dev 5.0.20161210-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Cdk New Widget Guide
Copyright Mike Glover, 1995, 1996, 1997, 1998, 1999
-------------------------------------------------------------------------------

If you want to create a new widget for Cdk, and want it in the standard
dist of Cdk, you will have to follow some requisites that I have. I state
these because Cdk has been worked on for quite some time and I finally
got it to a state where the functions calls are somewhat consistent. Any new
widgets should adhere to this. The requirements are as follows:

	* The function names should be like:
	newCDKXXX, destroyCDKXXX, setCDKXXX, drawCDKXX,...
	Any widgets with functions not in this format should be 'private'.
	If this is not the case one of three things will happen:
		1) The widget will not get accepted
		2) I will mail you back asking you to follow the standards.
		3) I will do it myself. (HIGHLY unlikely)

	* The first parameter of the newCDKXXX function should be of type
	  CDKSCREEN.
	* If applicable, the next two parameters should be xpos and ypos in
	  that order.
	* If applicable, the next two parameters should be the height and
	  width of the widget.
        * If the widget has a title, the next parameter should be a char *
	  for the title.
	* If the widget has a label, the next parameter should be a char *
	  for the label.
	* The last two parameters of the newCDKXXX function should be:
	  Boolean box, Boolean shadow if the parameters apply.
	* The drawCDKXXX function should only have the pointer to the object and
	  a Boolean box as it's parameters. (in that order)
	* The first parameters of any other function relating to the widget
	  should be a pointer to the widget type. ie: CDKRADIO *, CDKFSELECT *...
	* A destroyCDKXXX function has to be provided as well as a drawCDKXXX
	  function.
	* Try to contain anything specific to the widget in a single file. This
	  keeps the overhead of misc. files from floating around.
	* Create a standalone header file which includes cdk.h if needed.

If you follow the guidelines, then the files you need to change to sew the new
widget into Cdk, are:

	cdkscreen.c	So this widget will get refreshed on a refreshCDKScreen
			function call.
	binding.c	To allow key bindings for the widget. If it is possible
			to have key bindings I stress that this be incorporated.
	cdk.h		To add in the function def's to the header file. (ie:
			include the newly created header file.)
	Makefile	Add in the new widget files.

If you have done all of this then what I need from you is the following:

	* A diff of all the files from the dist. that you modified. Use
	patch, I prefer it. If you haven't got it, get it and use it. It makes
	life easy.
	* A copy of the new widget file.
	* tar this up and send it to me at
	glover@credit.erin.utoronto.ca or at mike@vexus.ca
	I will mail you back when I get it and I will tell you if everything is
	OK or not.

I hate to be such a nit pick, but if we follow the above standards, Cdk will
evolve into a very nice library, with a lot of really nice widgets.

If you want to get a hold of me mail me at one of the following:
        glover@credit.erin.utoronto.ca
	mike@vexus.ca

The CDK Web page has several homes. They are:
        http://www.vexus.ca/CDK.html (official)
        http://www.datasoft.on.ca/~cdk (Sponsored by the nice folks at Datasoft)


ttfn,
	Mike