alco / alco/psdump

psd_setup_layer_group

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
84
Forks
22
PR merge metrics
No merged PRs in 30d

Description

```
// group layer
//for(i = context->layer_count - 1, group_layer = NULL; i >= 0; i --)
//{
// layer = &context->layer_records[i];
// switch(layer->layer_type)
// {
// case psd_layer_type_normal:
// layer->group_layer = group_layer;
// break;
// case psd_layer_type_folder:
// layer->group_layer = group_layer;
// group_layer = layer;
// break;
// case psd_layer_type_hidden:
// group_layer = NULL;
// break;
// }
//}
```

replace to

```
psd_short iterator = 0;
psd_setup_layer_group(context->layer_records, NULL, &iterator, context->layer_count);
```

and add function

```
static void psd_setup_layer_group(psd_layer_record * _records, psd_layer_record * _group, psd_short * iterator, psd_short count)
{
while((*iterator)++ != count)
{
psd_layer_record * layer = _records + (count - (*iterator));
switch(layer->layer_type)
{
case psd_layer_type_normal:
layer->group_layer = _group;
break;
case psd_layer_type_folder:
layer->group_layer = _group;

psd_setup_layer_group(_records, layer, iterator, count);
break;
case psd_layer_type_hidden:
return;
break;
}
}
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.